import os import streamlit as st from queries.nflverse.github_data import load_assets from queries.supabase_db.client import get_new_supabase_client from data_storage import login_by_token def get_local_style(): code_str = "" css_dir = os.path.join(os.path.dirname(__file__), "css") for css_file in os.listdir(css_dir): with open(os.path.join(css_dir, css_file)) as f: code_str += "".format(f.read()) code_str += "\n" return code_str def local_css(): st.markdown(get_local_style(), unsafe_allow_html=True) def login_token_arg_if_exists(): url_params = st.query_params if arg_token := url_params.get("token"): try: login_by_token(arg_token, st.session_state["db_client"]) except Exception: st.write("Sorry, error logging in. Please refresh to try again.") st.stop() def set_session_db_client(): session_db_key = "db_client" if not st.session_state.get(session_db_key): st.session_state[session_db_key] = get_new_supabase_client() def common_page_config(): local_css() load_assets() set_session_db_client() login_token_arg_if_exists()