File size: 1,072 Bytes
5b34d46
522551e
5b34d46
 
522551e
 
5b34d46
 
522551e
 
 
 
 
 
 
 
 
 
 
5b34d46
 
 
 
 
 
522551e
 
 
 
 
ce5dc1f
 
522551e
 
 
 
 
 
 
5b34d46
522551e
5b34d46
522551e
5b34d46
522551e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
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("""
    <style>
        ul[data-testid="stSidebarNavItems"] li:not(:first-child) {
            text-indent: 2rem;
        }
    </style>
    """
            , unsafe_allow_html=True)

pg = st.navigation(nav)

add_page_title(pg)

pg.run()