Spaces:
Sleeping
Sleeping
import streamlit as st | |
import page_home | |
import page_attitudes | |
import page_demographics | |
import page_shopping | |
import page_investing | |
import page_environment | |
import page_ai | |
import page_personas | |
import page_tests | |
from urllib.parse import quote, unquote | |
from datasets import load_dataset | |
# Default to wide mode | |
st.set_page_config(layout="wide") | |
# Initialize a session state variable for page navigation | |
if 'page' not in st.session_state: | |
# Check if a page is specified in the query parameters | |
query_params = st.experimental_get_query_params() | |
initial_page = unquote(query_params.get("page", ["Home"])[0]) | |
st.session_state['page'] = initial_page | |
def load_data(): | |
# Load data from Huggingface | |
dataset = load_dataset( | |
"krishaamer/taiwanese-college-students", data_files={'train': 'clean.csv'}) | |
return dataset['train'].to_pandas() | |
# Sidebar navigation using buttons | |
st.sidebar.title("Taiwanese College Students") | |
if st.sidebar.button("Introduction"): | |
st.session_state['page'] = 'Home' | |
if st.sidebar.button("Demographics"): | |
st.session_state['page'] = 'Demographics' | |
if st.sidebar.button("Attitudes"): | |
st.session_state['page'] = 'Attitudes' | |
if st.sidebar.button("Personas ⭐"): | |
st.session_state['page'] = 'Personas' | |
if st.sidebar.button("Shopping"): | |
st.session_state['page'] = 'Shopping' | |
if st.sidebar.button("Investing"): | |
st.session_state['page'] = 'Investing' | |
if st.sidebar.button("Environment"): | |
st.session_state['page'] = 'Environment' | |
if st.sidebar.button("AI Companion"): | |
st.session_state['page'] = 'AI' | |
if st.sidebar.button("Tests"): | |
st.session_state['page'] = 'Tests' | |
# Update the query parameters based on the session state | |
st.experimental_set_query_params(page=quote(st.session_state['page'])) | |
# Page contents based on session state | |
df = load_data() | |
if st.session_state['page'] == 'Home': | |
page_home.show() | |
elif st.session_state['page'] == 'Attitudes': | |
page_attitudes.show(df) | |
elif st.session_state['page'] == 'Demographics': | |
page_demographics.show(df) | |
elif st.session_state['page'] == 'Personas': | |
page_personas.show(df) | |
elif st.session_state['page'] == 'Shopping': | |
page_shopping.show(df) | |
elif st.session_state['page'] == 'Investing': | |
page_investing.show(df) | |
elif st.session_state['page'] == 'Environment': | |
page_environment.show(df) | |
elif st.session_state['page'] == 'AI': | |
page_ai.show(df) | |
elif st.session_state['page'] == 'Tests': | |
page_tests.show(df) | |
st.sidebar.divider() | |
# Rerun Calculations | |
if st.sidebar.button("Rerun Calculations"): | |
st.rerun() | |