Add kid engagement features and planner drag-and-drop

- Streak tracker: server-side streak counting per kid, celebration overlay
  when all today's tasks are done for the first time that day
- Kid themes: 5 colour palettes (blue/green/purple/orange/pink), picked via
  colour dots on the kid home screen; parents can set it from the Kids panel
- Grading badge: Grading nav pill turns red and shows a pending count
- Print worksheets: 🖨 Worksheet button per word list in admin Spelling panel;
  kids also get "Print my words" on the Spelling tab
- Parent feedback: gold 💬 badge on Today rows with unread comments; more
  prominent callout styling inside the assignment view
- Planner drag-and-drop: tasks can be dragged between days; PATCH
  /api/schedule/:id moves the task, drop zones highlight on hover

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
nmemmertandClaude Sonnet 4.6 committed 2026-07-21 16:40:07 -04:00
1 parent 39d690bf93
commit 3c22fe05f8
9 files changed
+832 -18

No files matched your search

+22 -1
View File
@@ -19,8 +19,18 @@
<!-- Kid home: Today's work + nav -->
<section id="view-kid" class="view" hidden>
<button class="back-btn" data-nav="home">← Switch</button>
<div class="kid-topbar">
<button class="back-btn" data-nav="home">← Switch</button>
<button id="theme-picker-btn" class="theme-picker-btn" aria-label="Pick my color">🎨</button>
</div>
<h1 id="kid-greeting"></h1>
<div id="theme-dots" class="theme-dots" hidden>
<button class="theme-dot theme-blue" data-theme="blue" title="Blue"></button>
<button class="theme-dot theme-green" data-theme="green" title="Green"></button>
<button class="theme-dot theme-purple" data-theme="purple" title="Purple"></button>
<button class="theme-dot theme-orange" data-theme="orange" title="Orange"></button>
<button class="theme-dot theme-pink" data-theme="pink" title="Pink"></button>
</div>
<div class="kid-nav">
<button class="nav-pill active" data-tab="today">📋 Today</button>
@@ -43,10 +53,21 @@
<div class="big-actions">
<button id="btn-practice" class="big-btn practice">✏️ Practice</button>
<button id="btn-test" class="big-btn test">⭐ Friday Test</button>
<button id="btn-print-list" class="big-btn print-list">🖨 Print my words</button>
</div>
</div>
</section>
<!-- All-done celebration overlay -->
<div id="celebration-overlay" hidden>
<div id="celebration-content">
<div class="celebration-emoji">🎉</div>
<h2>All done for today!</h2>
<div id="streak-display"></div>
<button id="celebration-close" class="check-btn">High five! ✋</button>
</div>
</div>
<!-- Course detail: units + items -->
<section id="view-course" class="view" hidden>
<button class="back-btn" data-back="course">← Back</button>