Files
soroban-abacus-flashcards/apps/web/drizzle/0059_steep_shockwave.sql
Thomas Hallock 1842bd3cf1 perf: lazy-load not-found pages to save ~4.7MB per page load
The fancy interactive 404 page was importing AbacusReact and other heavy
dependencies, causing ~4.7MB of JavaScript to be loaded on EVERY page
(Next.js App Router preloads not-found chunks for soft navigation).

Changes:
- Extract heavy 404 content to InteractiveNotFound component
- Use next/dynamic with ssr: false to lazy-load only when 404 occurs
- Simplify practice/[studentId]/not-found.tsx by removing PageWithNav
- Remove unused manifest.json reference from layout.tsx (was 404ing)
- Simplify /api/classrooms/mine to use getDbUserId helper

Also includes worksheet parsing review progress feature:
- Add useReviewProgress hook for tracking review state
- Add WorksheetReviewSummary component for summary display
- Add review-progress API endpoint
- Integrate into OfflineWorkSection and SummaryClient

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-04 08:22:41 -06:00

6 lines
223 B
SQL

-- Custom SQL migration file, put your code below! --
-- Add review_progress column to practice_attachments
-- Stores JSON for resumable review workflow state
ALTER TABLE `practice_attachments` ADD `review_progress` text;