Commit Graph

10 Commits

Author SHA1 Message Date
462205cdc1 Merge Schedules into Admin, remove standalone ScheduleView
- Move schedule template management into AdminView under a new Schedules section
- Remove ScheduleView.vue and its route, drop Schedules link from NavBar
- Delete docker-compose.override.yml (dev override no longer needed)
- Fix CORS_ORIGINS default to port 8057 in docker-compose.yml

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-28 00:59:01 -08:00
d43791f965 Fix timer reset on refresh and sync between dashboard and TV view
- Backend computes block_elapsed_seconds server-side from timer_events
- Store tracks blockStartedAt (ms) + blockElapsedOffset (seconds) instead
  of a client-side counter; updated correctly on start/pause/resume/end
- TimerDisplay derives elapsed from store props so both views always agree
- Add compact timer display to dashboard session card
- Add isPaused/pause-resume logic to dashboard Pause/Resume buttons

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-28 00:16:29 -08:00
3f9d599998 Fix WS connected indicator and restore ref import in TVView
Use connected ref directly from useWebSocket instead of copying the value,
so the Live/Reconnecting indicator updates reactively. Restore ref import
that was incorrectly removed (still needed for the clock).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-27 23:50:31 -08:00
ad10f9bc61 Fix End Day not updating dashboard without refresh
Broadcast is_active in WS timer payload so the frontend can immediately
clear the session when the backend marks it complete.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-27 23:43:04 -08:00
15ce6dbb4d Fix child delete failing due to SQLAlchemy nullifying FK before DB cascade
Add passive_deletes=True to daily_sessions and activity_logs relationships
so the ORM defers to MySQL's ON DELETE CASCADE instead of trying to SET NULL.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-27 23:32:17 -08:00
51a1639fee Add inline edit for children and subjects in admin, restore port 8054
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-27 23:29:43 -08:00
781e179090 Fix backend deps and apply theme to all Cancel buttons
- Pin bcrypt==3.2.2 to fix passlib bcrypt backend detection error
- Add email-validator==2.2.0 required by Pydantic EmailStr
- Add btn-sm class to Cancel buttons in Admin, Dashboard, Log, Schedule views

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-27 23:24:39 -08:00
e92476db07 Add comprehensive README
Covers project overview, tech stack, directory structure, getting
started steps, usage guide, dev mode, database migrations, WebSocket
events, and environment variable reference.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-27 23:04:41 -08:00
417b3adfe8 Initial project scaffold
Full-stack homeschool web app with FastAPI backend, Vue 3 frontend,
MySQL database, and Docker Compose orchestration. Includes JWT auth,
WebSocket real-time TV dashboard, schedule builder, activity logging,
and multi-child support.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-27 22:56:56 -08:00
93e0494864 Initial commit 2026-02-27 22:55:14 -08:00