q275343119's picture
add - init
3569dc3
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(
"/tmp/pages_sections.toml"
)
# Add custom CSS
css = "\n".join(LI_CSS)
st.markdown(f"""
<style>
div[data-testid="stToolbar"] {{visibility: hidden; height: 0px;}}
footer {{visibility: hidden;}}
</style>
<style>
{css}
</style>
"""
, unsafe_allow_html=True)
pg = st.navigation(nav)
# add_page_title(pg)
pg.run()
if __name__ == '__main__':
main()