Spaces:
Build error
Build error
| import streamlit as st | |
| from datetime import datetime | |
| class Sidebar: | |
| def display(): | |
| with st.sidebar: | |
| st.subheader("π€ User Profile") | |
| # User login/profile | |
| if 'username' not in st.session_state: | |
| with st.form("login_form"): | |
| username = st.text_input("Enter your nickname") | |
| if st.form_submit_button("Start Learning"): | |
| if username: | |
| st.session_state.username = username | |
| st.rerun() | |
| else: | |
| st.write(f"Welcome, {st.session_state.username}! π") | |
| if st.button("Sign Out"): | |
| for key in ['username', 'messages', 'user_progress']: | |
| if key in st.session_state: | |
| del st.session_state[key] | |
| st.rerun() | |
| # Progress section | |
| if 'username' in st.session_state: | |
| st.subheader("π Your Progress") | |
| completed = len(st.session_state.user_progress['completed_modules']) | |
| st.progress(completed / 8, f"Completed {completed}/8 modules") | |
| # Learning streak | |
| if st.session_state.user_progress.get('learning_streak', 0) > 0: | |
| st.write(f"π₯ Learning Streak: {st.session_state.user_progress['learning_streak']} days") | |
| # Achievements section | |
| if st.session_state.user_progress.get('achievements', []): | |
| st.subheader("π Achievements") | |
| for achievement in st.session_state.user_progress['achievements']: | |
| st.success(f"{achievement['name']} - {achievement['date']}") |