fix: correct Material UI icon naming in Header.tsx and update timetable components

- Fix icon naming: remove 'Icon' suffix from MUI icon components in Header.tsx
  (AccessTime, Close, Person, School, Schedule, Class, Book, Settings, Student, Login, Logout)
- Update timetable components to use UserContext instead of ProfileContext
- Fix timetableService naming collision and circular reference
- Update various components for consistency
This commit is contained in:
Agent Zero
2026-02-26 07:28:47 +00:00
parent 00a6f941c7
commit 067df34c50
16 changed files with 123 additions and 122 deletions
+35 -38
View File
@@ -15,27 +15,24 @@ import {
Divider
} from '@mui/material';
import MenuIcon from '@mui/icons-material/Menu';
import {
Login as LoginIcon,
Logout as LogoutIcon,
School as TeacherIcon,
Person as StudentIcon,
Dashboard as TLDrawDevIcon,
Build as DevToolsIcon,
Groups as MultiplayerIcon,
CalendarToday as CalendarIcon,
Assignment as TeacherPlannerIcon,
AssignmentTurnedIn as ExamMarkerIcon,
Settings as SettingsIcon,
Search as SearchIcon,
AdminPanelSettings as AdminIcon,
Home as HomeIcon,
// Timetable icons
Schedule as ScheduleIcon,
Class as ClassIcon,
Book as BookIcon,
HowToReg as EnrollmentIcon
} from '@mui/icons-material';
import Login from '@mui/icons-material/Login';
import Logout from '@mui/icons-material/Logout';
import Teacher from '@mui/icons-material/School';
import Student from '@mui/icons-material/Person';
import TLDrawDev from '@mui/icons-material/Dashboard';
import DevTools from '@mui/icons-material/Build';
import Multiplayer from '@mui/icons-material/Groups';
import Calendar from '@mui/icons-material/CalendarToday';
import TeacherPlanner from '@mui/icons-material/Assignment';
import ExamMarker from '@mui/icons-material/AssignmentTurnedIn';
import Settings from '@mui/icons-material/Settings';
import Search from '@mui/icons-material/Search';
import Admin from '@mui/icons-material/AdminPanelSettings';
import Home from '@mui/icons-material/Home';
import Schedule from '@mui/icons-material/Schedule';
import Class from '@mui/icons-material/Class';
import Book from '@mui/icons-material/Book';
import Enrollment from '@mui/icons-material/HowToReg';
import { HEADER_HEIGHT } from './Layout';
import { logger } from '../debugConfig';
import { GraphNavigator } from '../components/navigation/GraphNavigator';
@@ -127,7 +124,7 @@ const Header: React.FC = () => {
}}
onClick={() => handleNavigation('/')}
>
<HomeIcon sx={{ color: theme.palette.primary.main }} />
<Home sx={{ color: theme.palette.primary.main }} />
Classroom Copilot
</Typography>
@@ -156,7 +153,7 @@ const Header: React.FC = () => {
}
}}
>
<MenuIcon />
<Menu />
</IconButton>
<Menu
@@ -189,7 +186,7 @@ const Header: React.FC = () => {
// Home
<MenuItem key="home" onClick={() => handleNavigation('/')}>
<ListItemIcon>
<HomeIcon />
<Home />
</ListItemIcon>
<ListItemText primary="Home" />
</MenuItem>,
@@ -213,7 +210,7 @@ const Header: React.FC = () => {
</Typography>,
<MenuItem key="timetable" onClick={() => handleNavigation('/timetable')}>
<ListItemIcon>
<ScheduleIcon />
<Schedule />
</ListItemIcon>
<ListItemText
primary="My Timetable"
@@ -222,7 +219,7 @@ const Header: React.FC = () => {
</MenuItem>,
<MenuItem key="classes" onClick={() => handleNavigation('/classes')}>
<ListItemIcon>
<ClassIcon />
<Class />
</ListItemIcon>
<ListItemText
primary="Browse Classes"
@@ -231,7 +228,7 @@ const Header: React.FC = () => {
</MenuItem>,
<MenuItem key="my-classes" onClick={() => handleNavigation('/my-classes')}>
<ListItemIcon>
<BookIcon />
<Book />
</ListItemIcon>
<ListItemText
primary="My Classes"
@@ -240,7 +237,7 @@ const Header: React.FC = () => {
</MenuItem>,
<MenuItem key="enrollment-requests" onClick={() => handleNavigation('/enrollment-requests')}>
<ListItemIcon>
<EnrollmentIcon />
<Enrollment />
</ListItemIcon>
<ListItemText
primary="Enrollment Requests"
@@ -267,19 +264,19 @@ const Header: React.FC = () => {
</Typography>,
<MenuItem key="calendar" onClick={() => handleNavigation('/calendar')}>
<ListItemIcon>
<CalendarIcon />
<Calendar />
</ListItemIcon>
<ListItemText primary="Calendar" />
</MenuItem>,
<MenuItem key="teacher-planner" onClick={() => handleNavigation('/teacher-planner')}>
<ListItemIcon>
<TeacherPlannerIcon />
<TeacherPlanner />
</ListItemIcon>
<ListItemText primary="Teacher Planner" />
</MenuItem>,
<MenuItem key="exam-marker" onClick={() => handleNavigation('/exam-marker')}>
<ListItemIcon>
<ExamMarkerIcon />
<ExamMarker />
</ListItemIcon>
<ListItemText primary="Exam Marker" />
</MenuItem>,
@@ -303,13 +300,13 @@ const Header: React.FC = () => {
</Typography>,
<MenuItem key="settings" onClick={() => handleNavigation('/settings')}>
<ListItemIcon>
<SettingsIcon />
<Settings />
</ListItemIcon>
<ListItemText primary="Settings" />
</MenuItem>,
<MenuItem key="search" onClick={() => handleNavigation('/search')}>
<ListItemIcon>
<SearchIcon />
<Search />
</ListItemIcon>
<ListItemText primary="Search" />
</MenuItem>,
@@ -334,7 +331,7 @@ const Header: React.FC = () => {
</Typography>,
<MenuItem key="admin" onClick={() => handleNavigation('/admin')}>
<ListItemIcon>
<AdminIcon />
<Admin />
</ListItemIcon>
<ListItemText primary="Admin Dashboard" />
</MenuItem>
@@ -344,7 +341,7 @@ const Header: React.FC = () => {
<Divider key="auth-divider" />,
<MenuItem key="signout" onClick={handleSignOut}>
<ListItemIcon>
<LogoutIcon />
<Logout />
</ListItemIcon>
<ListItemText primary="Sign Out" />
</MenuItem>
@@ -352,14 +349,14 @@ const Header: React.FC = () => {
// Authentication Section for Non-authenticated Users
<MenuItem key="signin" onClick={() => handleNavigation('/login')}>
<ListItemIcon>
<LoginIcon />
<Login />
</ListItemIcon>
<ListItemText primary="Sign In" />
</MenuItem>,
<Divider key="signup-divider" />,
<MenuItem key="teacher-signup" onClick={() => handleSignupNavigation('teacher')}>
<ListItemIcon>
<TeacherIcon />
<Teacher />
</ListItemIcon>
<ListItemText
primary="Sign up as Teacher"
@@ -368,7 +365,7 @@ const Header: React.FC = () => {
</MenuItem>,
<MenuItem key="student-signup" onClick={() => handleSignupNavigation('student')}>
<ListItemIcon>
<StudentIcon />
<Student />
</ListItemIcon>
<ListItemText
primary="Sign up as Student"