Spaces:
Sleeping
Sleeping
| # app.py - Main Entry Point for Empower Reports System | |
| import streamlit as st | |
| from modules import auth, database, storage | |
| from pages import ( | |
| dashboard, | |
| admin_management, | |
| staff_management, | |
| student_enrollment, | |
| academic_calendar, | |
| classroom_behavior, | |
| student_decisions, | |
| discipline_reports, | |
| generate_reports, | |
| report_design, | |
| data_export, | |
| performance_analytics, | |
| visitation_day, | |
| enter_results, | |
| storage_management, | |
| change_login | |
| ) | |
| # Page configuration | |
| st.set_page_config(page_title="Empower Reports", layout="wide") | |
| # Initialize storage and database | |
| storage_status = storage.get_storage_status() | |
| st.markdown(f"<h1 style='text-align: center; color: #1e3a8a;'>Empower International Academy</h1>", unsafe_allow_html=True) | |
| st.markdown(f"<p style='text-align: center; color: #666; font-size: 14px;'>{storage_status}</p>", unsafe_allow_html=True) | |
| # Authentication | |
| if not auth.is_logged_in(): | |
| auth.show_login_form() | |
| st.stop() | |
| # Sidebar with user info and logout | |
| with st.sidebar: | |
| st.success(f"Welcome, {st.session_state.username}") | |
| if st.button("Logout", use_container_width=True): | |
| auth.logout() | |
| st.rerun() | |
| # Storage info | |
| storage.show_storage_info() | |
| # Main menu | |
| st.sidebar.title(f"Role: {st.session_state.user_role.title()}") | |
| if st.session_state.user_role == 'admin': | |
| page = st.sidebar.selectbox("Menu", [ | |
| "Dashboard", | |
| "Performance Analytics", | |
| "Admin Management", | |
| "Staff Management", | |
| "Student Enrollment", | |
| "Academic Calendar", | |
| "Classroom Behavior", | |
| "Student Decisions", | |
| "Discipline Reports", | |
| "Generate Reports", | |
| "Report Design", | |
| "Data Export", | |
| "Change Login Details", | |
| "Visitation Day Management", | |
| "Storage Management" | |
| ]) | |
| else: | |
| page = st.sidebar.selectbox("Menu", [ | |
| "Dashboard", | |
| "Enter Results", | |
| "Classroom Behavior", | |
| "Student Decisions", | |
| "My Classes", | |
| "Discipline Reports", | |
| "Change Login Details" | |
| ]) | |
| # Route to appropriate page | |
| if page == "Dashboard": | |
| dashboard.show() | |
| elif page == "Performance Analytics": | |
| performance_analytics.show() | |
| elif page == "Admin Management": | |
| admin_management.show() | |
| elif page == "Staff Management": | |
| staff_management.show() | |
| elif page == "Student Enrollment": | |
| student_enrollment.show() | |
| elif page == "Academic Calendar": | |
| academic_calendar.show() | |
| elif page == "Classroom Behavior": | |
| classroom_behavior.show() | |
| elif page == "Student Decisions": | |
| student_decisions.show() | |
| elif page == "Discipline Reports": | |
| discipline_reports.show() | |
| elif page == "Generate Reports": | |
| generate_reports.show() | |
| elif page == "Report Design": | |
| report_design.show() | |
| elif page == "Data Export": | |
| data_export.show() | |
| elif page == "Change Login Details": | |
| change_login.show() | |
| elif page == "Visitation Day Management": | |
| visitation_day.show() | |
| elif page == "Storage Management": | |
| storage_management.show() | |
| elif page == "Enter Results": | |
| enter_results.show() | |
| # Sidebar footer | |
| st.sidebar.markdown("---") | |
| st.sidebar.info("π‘ **Empower Reports v4.0**\n\nComplete School Report Management System") |