Files
daily-counter/app/streamlit_app.py

38 lines
1.2 KiB
Python
Raw Normal View History

2026-03-31 19:09:37 +02:00
import streamlit as st
2026-04-28 21:04:52 +02:00
from streamlit import dialog
import queries.user as user_queries
2026-03-31 19:09:37 +02:00
from logger import init_logger
from styles import init_styles
init_logger()
init_styles()
2026-04-28 21:04:52 +02:00
is_login_enabled = hasattr(st, 'user')
is_logged_in = is_login_enabled and hasattr(st.user, 'is_logged_in') and st.user.is_logged_in
if is_logged_in:
user_queries.set_user_in_session(st.user)
else:
st.session_state.user_id = 1 # default user
if is_login_enabled and not is_logged_in:
with st.container(width="stretch", height="stretch", horizontal_alignment="center"):
st.title("Daily Counter", width="stretch", text_alignment="center")
st.text("Please log in to use this app", width="stretch", text_alignment="center")
st.space()
if st.button("Log in"):
st.login()
2026-03-31 19:09:37 +02:00
else:
counters = st.Page("pages/counters.py", title="Counters", icon=":material/update:")
stats = st.Page("pages/stats.py", title="Statistics", icon=":material/chart_data:")
2026-04-28 21:04:52 +02:00
logoutPage = st.Page(st.logout, title="Logout", icon=":material/logout:")
pages = [counters, stats]
if is_login_enabled:
pages = pages + [logoutPage]
pg = st.navigation(position="top", pages=pages)
pg.run()