File size: 885 Bytes
bf6e4d1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import os

import streamlit as st

from st_pages import add_page_title, get_nav_from_toml

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()
data_engine.jsons_to_df()
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"
)

pg = st.navigation(nav)

add_page_title(pg)

pg.run()