feat(phase-2): school registry + license management UI
Plan 2-01: School create/edit modal + license editor
- SchoolsPage: full create/edit modal (name, city, address, tier, contact,
billing email, SMS sender name, student limit, status, notes); debounced
search + status filter; Edit button per row opens pre-filled modal
- SchoolDetailPage: Activate / Suspend / Edit quick-action buttons in header;
license panel with key copy, expiry, last seen (time-ago); license editor
(expiry date, max students, tier) calls PUT /api/licenses/{id}; Revoke
button calls POST /api/licenses/{id}/revoke
- Backend: GET /api/licenses/school/{school_id} — fetch license by school
- api.ts: getSchoolLicense added
Plan 2-02: Subscription setup + SMS credit top-up + ledger
- SchoolDetailPage: subscription panel (monthly fee, SMS cost per msg,
billing cycle, next billing date) upserts via billing API
- SMS Credits panel: color-coded credit meter (green/amber/red based on
balance), preset +100/+500/+1000 buttons, custom amount + note field,
recent 5 ledger entries, link to full SMS page
- All operations toast on success/error
PAUL: Phase 2 marked complete, STATE + ROADMAP updated
This commit is contained in:
@@ -19,8 +19,8 @@ SMS flow: On-prem TapTrack polls Hub every 30s → Hub queues SMS jobs → Hub s
|
||||
## Current Milestone
|
||||
|
||||
**v1.0 — Foundation & Core Services**
|
||||
Status: Phase 1 complete — Phase 2 next
|
||||
Phases: 1 of 15 complete
|
||||
Status: Phase 2 complete — Phase 3 next
|
||||
Phases: 2 of 15 complete
|
||||
|
||||
---
|
||||
|
||||
@@ -29,7 +29,7 @@ Phases: 1 of 15 complete
|
||||
| Phase | Name | Plans | Status | Completed |
|
||||
|-------|------------------------------|-------|--------------|------------|
|
||||
| 1 | Project Setup & Infrastructure | 1 | ✅ Complete | 2026-03-15 |
|
||||
| 2 | School Registry + License Mgmt | TBD | Not started | — |
|
||||
| 2 | School Registry + License Mgmt | 2 | ✅ Complete | 2026-03-15 |
|
||||
| 3 | On-Prem License Validation | TBD | Not started | — |
|
||||
| 4 | SMS Gateway (credits + queue) | TBD | Not started | — |
|
||||
| 5 | On-Prem SMS Polling Agent | TBD | Not started | — |
|
||||
|
||||
Reference in New Issue
Block a user