Spaces:
Running
Running
import streamlit as st | |
# Assuming you have similar modules as in the example | |
# For demonstration, these functions will be defined here directly | |
def home_page(): | |
st.title("Home Page") | |
st.write("Welcome to the Home Page!") | |
def analytics_page(): | |
st.title("Analytics Page") | |
st.write("Analytics details go here.") | |
def settings_page(): | |
st.title("Settings Page") | |
st.write("Settings details go here.") | |
# Mimicking the page_group utility from the example | |
class PageGroup: | |
def __init__(self, key): | |
self.key = key | |
self.pages = {} | |
self.default_page = None | |
def item(self, title, func, default=False): | |
self.pages[title] = func | |
if default: | |
self.default_page = title | |
def show(self): | |
# Use session state to remember the current page | |
if 'current_page' not in st.session_state or st.session_state.current_page not in self.pages: | |
st.session_state.current_page = self.default_page | |
# Display the current page function | |
self.pages[st.session_state.current_page]() | |
def main(): | |
page = PageGroup("p") | |
with st.sidebar: | |
st.title("Navigation") | |
with st.expander("Pages", True): | |
for title, func in [("Home", home_page), ("Analytics", analytics_page), ("Settings", settings_page)]: | |
if st.button(title): | |
st.session_state.current_page = title | |
page.item("Home", home_page, default=True) | |
page.item("Analytics", analytics_page) | |
page.item("Settings", settings_page) | |
page.show() | |
if __name__ == "__main__": | |
# st.set_page_config(page_title="My Streamlit App", page_icon="📊", layout="wide") | |
st.set_page_config( | |
layout="wide", | |
page_title="MLIP Arena", | |
page_icon=":shark:", | |
# initial_sidebar_state="expanded", | |
menu_items=None | |
) | |
main() |