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() | |