feat(ui): implement full UI layer for all modules
Add interactive island components and server partials for notes, students, and admin modules, following the Figma prototype design. - static/styles/ui.css: shared component library (buttons, tables, chips, cards, filters, tabs, form inputs) - notes: NotesView (student grade view with UE cards, promo tabs, weighted averages), AdminConsultNotes, AdminUEs islands + partials - students: ConsultStudents (list/filter/delete), AdminPromotions (CRUD) islands + partials - admin: AdminModules, AdminUsers, AdminRoles islands + partials - All partials use State type with unknown cast for session access Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -18,8 +18,8 @@ role-based administration.
|
||||
|
||||
### Current Status
|
||||
|
||||
🚧 **In Progress** - API layer largely complete, UI pages not yet built.
|
||||
The schema below is the **final/definitive schema** that guides all development.
|
||||
🚧 **In Progress** - API layer largely complete, UI pages not yet built. The
|
||||
schema below is the **final/definitive schema** that guides all development.
|
||||
|
||||
---
|
||||
|
||||
@@ -135,9 +135,9 @@ erDiagram
|
||||
|
||||
### Current Schema
|
||||
|
||||
The Drizzle ORM schema in `/databases/schema.ts` implements all tables:
|
||||
`roles`, `permissions`, `rolePermissions`, `users`, `promotions`, `students`,
|
||||
`modules`, `enseignements`, `ues`, `ueModules`, `notes`, `ajustements`, `mobility`.
|
||||
The Drizzle ORM schema in `/databases/schema.ts` implements all tables: `roles`,
|
||||
`permissions`, `rolePermissions`, `users`, `promotions`, `students`, `modules`,
|
||||
`enseignements`, `ues`, `ueModules`, `notes`, `ajustements`, `mobility`.
|
||||
|
||||
---
|
||||
|
||||
@@ -303,7 +303,9 @@ deno task check
|
||||
- **E2E** (`tests/e2e/`) — Fresh handler + real DB (handler-level, not browser)
|
||||
|
||||
Helpers in `tests/helpers/`:
|
||||
- `handler.ts` — builds fake Fresh contexts (`makeEmployeeContext`, `makeJsonRequest`…)
|
||||
|
||||
- `handler.ts` — builds fake Fresh contexts (`makeEmployeeContext`,
|
||||
`makeJsonRequest`…)
|
||||
- `db_integration.ts` — seed functions + `truncateAll()` for test isolation
|
||||
- `db_mock.ts` / `api_mock.ts` — in-memory mocks for unit tests
|
||||
|
||||
@@ -339,7 +341,8 @@ nix run nixpkgs#act -- -j integration --no-cache-server # integration + e2e via
|
||||
|
||||
## 💡 Important Notes
|
||||
|
||||
1. **Only missing API**: `POST /notes/import-xlsx` (#44) — all other endpoints are implemented.
|
||||
1. **Only missing API**: `POST /notes/import-xlsx` (#44) — all other endpoints
|
||||
are implemented.
|
||||
2. **Next priority**: UI pages (none built yet) — follow the Figma prototype.
|
||||
3. **Module Pattern**: Each module should follow the same pattern: routes, API
|
||||
endpoints, components, and tests.
|
||||
|
||||
Reference in New Issue
Block a user