import os import streamlit as st from st_pages import get_nav_from_toml, add_page_title from app.backend.constant import LEADERBOARD_MAP from app.backend.data_engine import DataEngine # init pages with open("app/ui/pages/data_page.py", "r", encoding="utf-8") as f: data_page = f.read() for leaderboard, group_names in LEADERBOARD_MAP.items(): for group_name in group_names: path = os.path.join("app/ui/pages", f"{group_name}.py") with open(path, "w", encoding="utf-8") as f: f.write(data_page.replace("$group_name$", group_name) ) # init global data engine data_engine = DataEngine() st.session_state["data_engine"] = data_engine st.set_page_config(layout="wide") # load page tree nav = get_nav_from_toml( "app/ui/pages_sections.toml" ) # Add custom CSS st.markdown(""" """ , unsafe_allow_html=True) pg = st.navigation(nav) add_page_title(pg) pg.run()