Summary
Let users choose which widgets appear on their dashboard. Some users don't use Goals; others don't care about Language Breakdown. A simple show/hide toggle per widget in Settings makes the dashboard personal.
Motivation
As more widgets are added, the dashboard gets long. Users should own their layout.
Acceptance Criteria
Files to Touch
src/app/dashboard/settings/page.tsx
src/app/dashboard/page.tsx
src/app/api/user/settings/route.ts — extend to include widget prefs
supabase/schema.sql
Summary
Let users choose which widgets appear on their dashboard. Some users don't use Goals; others don't care about Language Breakdown. A simple show/hide toggle per widget in Settings makes the dashboard personal.
Motivation
As more widgets are added, the dashboard gets long. Users should own their layout.
Acceptance Criteria
user_widget_prefs JSONBcolumn onuserstableFiles to Touch
src/app/dashboard/settings/page.tsxsrc/app/dashboard/page.tsxsrc/app/api/user/settings/route.ts— extend to include widget prefssupabase/schema.sql