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 += "<style>{}</style>".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() | |