import os # Compatibility fix - must be executed before importing streamlit try: import streamlit.components.v1 as components if not hasattr(components, 'components'): components.components = components if not hasattr(components, 'MarshallComponentException'): class MarshallComponentException(Exception): pass components.MarshallComponentException = MarshallComponentException except Exception as e: print(f"Compatibility fix warning: {e}") import streamlit as st from st_pages import get_nav_from_toml, add_page_title from app.backend.app_init_func import LI_CSS, init_leaderboard, init_pages from app.backend.data_engine import DataEngine def main(): # init global data engine data_engine = DataEngine() st.session_state["data_engine"] = data_engine st.set_page_config(layout="wide") # init leaderboard and pages leaderboard_change, page_change = init_leaderboard() init_pages(leaderboard_change, page_change) # load page tree nav = get_nav_from_toml( "app/ui/pages_sections.toml" ) # Add custom CSS css = "\n".join(LI_CSS) st.markdown(f""" """ , unsafe_allow_html=True) pg = st.navigation(nav) # add_page_title(pg) pg.run() if __name__ == '__main__': main()