import os import streamlit as st from app.backend.constant import LEADERBOARD_MAP from app.backend.data_engine import DataEngine from app.backend.data_page import render_page # 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") # Add custom CSS st.markdown(""" """, unsafe_allow_html=True) # Implement navigation using sidebar with st.sidebar: # Initialize session state if "selected_page" not in st.session_state: st.session_state.selected_page = "text" # Text Leaderboard as clickable button selected_class = "selected" if st.session_state.selected_page == "text" else "" if st.button("📚 Text Leaderboard", key="text", use_container_width=True, ): st.session_state.selected_page = "text" st.rerun() # Subpage list pages = [ ("law", "⚖️ Law"), ("multilingual", "🌎 Multilingual"), ("german", "🇩🇪 German"), ("code", "💻 Code"), ("tech", "🛠️ Tech") ] # Use container for indentation with st.container(): st.markdown('