import streamlit as st from streamlit import dialog import queries.user as user_queries from logger import init_logger from styles import init_styles init_logger() init_styles() 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() else: counters = st.Page("pages/counters.py", title="Counters", icon=":material/update:") stats = st.Page("pages/stats.py", title="Statistics", icon=":material/chart_data:") 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()