empower-reports / app.py
mikaelJ46's picture
Update app.py
56271d3 verified
raw
history blame
3.23 kB
# 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")