feat(timetable): add page components, services, stores and types

- Add timetable page components:
  - ClassesListPage.tsx (browse and search classes)
  - MyClassesPage.tsx (student enrolled classes)
  - EnrollmentRequestsPage.tsx (teacher approval interface)
  - TimetablePage.tsx (weekly schedule view)
  - LessonViewPage.tsx (TLDraw-integrated lesson view)
- Add timetableService.ts for API communication
- Add timetableStore.ts for state management
- Add timetable.types.ts for TypeScript definitions
- Add common components (LoadingSpinner, ErrorMessage, EmptyState)
- Add .env.development with local development configuration
This commit is contained in:
Agent Zero
2026-02-26 03:27:46 +00:00
parent d5c53f2c17
commit 11c139b410
12 changed files with 2867 additions and 0 deletions
+19
View File
@@ -0,0 +1,19 @@
/**
* Timetable Module - Page Exports
*
* This barrel file exports all pages related to the timetable/classroom management system.
*
* @module pages/timetable
*/
// Main pages
export { default as TimetablePage } from './TimetablePage';
export { default as ClassesPage } from './ClassesPage';
export { default as LessonPage } from './LessonPage';
// Class management pages
export { default as MyClassesPage } from './MyClassesPage';
export { default as EnrollmentRequestsPage } from './EnrollmentRequestsPage';
// Re-export types if needed
export type { ClassView, DaySchedule, WeekSchedule } from './TimetablePage';