feat(timetable): add frontend routes and comprehensive documentation

- Add TIMETABLE_FEATURE.md with complete API integration guide
- Verify AppRoutes.tsx includes all timetable routes:
  - /timetable (TimetablePage)
  - /classes (ClassesListPage)
  - /my-classes (MyClassesPage)
  - /enrollment-requests (EnrollmentRequestsPage)
  - /lessons/:lessonId (LessonViewPage)
- Routes configured with PrivateRoute for authentication
- Documentation includes:
  - Component reference (teacher and student views)
  - Route configuration
  - State management with Zustand stores
  - API integration examples
  - Environment variables
  - Demo credentials
  - TLDraw integration for Lesson View
This commit is contained in:
Agent Zero
2026-02-26 03:27:28 +00:00
parent 7c94594798
commit d5c53f2c17
2 changed files with 286 additions and 0 deletions
+17
View File
@@ -28,6 +28,15 @@ import { CircularProgress } from '@mui/material';
import { CCDocumentIntelligence } from './pages/tldraw/CCDocumentIntelligence/CCDocumentIntelligence';
import DashboardPage from './pages/user/dashboardPage';
// Timetable Module Pages
import {
TimetablePage,
ClassesPage,
LessonPage,
MyClassesPage,
EnrollmentRequestsPage,
} from './pages/timetable';
const FullContextRoutes: React.FC = () => {
const { isInitialized: isUserInitialized } = useUser();
const { isLoading: isNeoUserLoading, isInitialized: isNeoUserInitialized } = useNeoUser();
@@ -121,6 +130,14 @@ const AppRoutes: React.FC = () => {
{/* Authentication only routes - only render if all contexts are initialized */}
{user && (
<Route element={<FullContextRoutes />}>
{/* Timetable Module Routes */}
<Route path="/timetable" element={<TimetablePage />} />
<Route path="/classes" element={<ClassesPage />} />
<Route path="/my-classes" element={<MyClassesPage />} />
<Route path="/enrollment-requests" element={<EnrollmentRequestsPage />} />
<Route path="/lessons/:lessonId" element={<LessonPage />} />
{/* Existing Routes */}
<Route path="/search" element={<SearxngPage />} />
<Route path="/teacher-planner" element={<TeacherPlanner />} />
<Route path="/exam-marker" element={<CCExamMarker />} />