File size: 3,226 Bytes
56271d3
f058678
69e2b3e
56271d3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
# 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")