@@ -4,6 +4,67 @@ All notable changes to study-dashboard will be documented here.
44Format loosely follows [ Keep a Changelog] ( https://keepachangelog.com/en/1.1.0/ ) ,
55versions follow [ SemVer] ( https://semver.org/spec/v2.0.0.html ) .
66
7+ ## [ v0.3.0] — 2026-04-21
8+
9+ Big visual + localization release. Five dashboard themes, full English/German
10+ i18n, per-course schedule CRUD, a proper file manager in the Files tab, and a
11+ pile of phone-UX fixes. All backwards compatible — just run the one new
12+ migration on upgrade.
13+
14+ ### Added
15+ - ** Five dashboard themes.** Pick from ** Classic** (the default — serif,
16+ airy), ** Terminal** (mono, teal-on-black, hacker cockpit), ** Zine**
17+ (pastel cream + hand-drawn stickers), ** Library** (sepia, card-catalog
18+ aesthetic), or ** Swiss** (12-col grid, red accent). Each one is a full
19+ reskin — its own sidebar, CSS, and dashboard route, not just a palette.
20+ Picker lives in ** Settings → Theme** .
21+ - ** Full in-app i18n — English and German.** Every route, form, toast,
22+ empty state, error message, and theme-specific prose now runs through
23+ ` i18next ` . Language is picked explicitly in ** Profile → Language** and
24+ persists in localStorage, decoupled from the date-format locale.
25+ - ** Per-course schedule CRUD.** Add / edit / delete weekly slots from the
26+ course-detail ** Schedule** tab without leaving the page.
27+ - ** File manager.** Rename files and folders, recursive folder delete,
28+ create new folders, and a folder picker on the course form so each
29+ course scopes its Files tab to a specific prefix in the bucket. New
30+ backend endpoints ` /files/move ` , ` /files/folder ` , and a recursive
31+ listing helper.
32+ - ** Claude Design prompt template** under ` docs/claude-design-prompt.md `
33+ plus four worked-example outputs under ` docs/examples/ ` — the starting
34+ points for the Terminal / Zine / Library / Swiss themes.
35+
36+ ### Changed
37+ - ** Phone UX pass.** 16 px form inputs (no more iOS zoom-on-focus), dvh
38+ for keyboard-aware layout, date-picker chrome contained inside its
39+ Field on iOS Safari, classic-theme weekly grid now renders the same
40+ multi-column time grid on phone (with horizontal scroll) instead of a
41+ stacked list — matches what the themed dashboards do.
42+ - ** Course edit affordance** moved from a hover overlay on the course
43+ card to an explicit ** Edit course** button inside the course-detail
44+ header. Notes and exam editing split out into their own cards with
45+ their own edit buttons. "Scheduled" field on exams relabeled to
46+ "Exam date".
47+ - ** Dashboard top strip** on phone shows weekday / date / semester /
48+ week at a glance.
49+ - ** Settings pickers** (timezone, date format) auto-save on change; the
50+ semester-label text field gets an inline Save button while dirty.
51+ Success toasts are now neutral instead of green.
52+ - ** README hero** replaced with a 2×2 still collage of the four paper
53+ themes plus a looping GIF of Terminal. Mirrored in the German section.
54+
55+ ### Upgrade from v0.2.0
56+
57+ ``` bash
58+ git pull origin main
59+ npx supabase db push # applies 20260421000001_theme.sql
60+ cd web && pnpm install && pnpm build
61+ ```
62+
63+ The migration adds ` app_settings.theme ` with default ` 'editorial' ` , so
64+ existing rows land on the Classic theme until you pick something else.
65+
66+ [ v0.3.0 ] : https://github.com/AmmarSaleh50/study-dashboard/releases/tag/v0.3.0
67+
768## [ v0.2.0] — 2026-04-20
869
970Rename pass: the project is now English-canonical from the database up through
0 commit comments