diff --git a/CHANGELOG.md b/CHANGELOG.md index 2b5fe0b..fce9755 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## 2026-05-08 13:19 CEST — feat(go): M6.5 — member-detail modal JS module + +- Added `static/js/member-detail.js`: fetches `/api/adults` or `/api/juniors` once on page load, caches the response, renders a per-member detail modal on `[i]` row click. +- Modal sections: status-per-month table, fee exceptions, other transactions, matched payment history, toggleable raw-payments debug view. +- Keyboard nav: `Esc` closes, `↑`/`↓` walk visible (name-filtered) rows; click outside modal content closes it. +- Added `[i]` info icon and `#memberModal` markup to `adults.tmpl` and `juniors.tmpl`; all CSS was already in place from M6.1. +- Added `TestModalMarkup` assertions to `html_handler_test.go`. + ## 2026-05-08 12:48 CEST — feat(go): M6.4 — Go-native /payments page - Extracted `AssemblePayments(ctx)` from the inlined JSON handler body, following the M6.2/M6.3 `AssembleAdults`/`AssembleJuniors` pattern. diff --git a/docs/plans/2026-05-03-2349-go-backend-rewrite-progress.md b/docs/plans/2026-05-03-2349-go-backend-rewrite-progress.md index 92e220e..e667032 100644 --- a/docs/plans/2026-05-03-2349-go-backend-rewrite-progress.md +++ b/docs/plans/2026-05-03-2349-go-backend-rewrite-progress.md @@ -114,7 +114,7 @@ Goal: feature-equivalent UX on the Go side, designed cleanly. Not a Jinja port. - [x] **M6.2** `/adults` page: table, name filter input, month range filter, totals row, credits/debts/unmatched sections, Pay buttons that link to `/qr` — `c85748b` - [x] **M6.3** `/juniors` page: same structure + per-month J/A attendance breakdown + `"?"` sentinel rendering — `9564103` - [x] **M6.4** `/payments` page: grouped-by-person ledger view — `689f1c0` -- [ ] **M6.5** Modal JS module (`static/js/member-detail.js`): fetches `/api/adults` (or juniors), renders status/exceptions/transactions on row click; keyboard nav (Esc, ↑/↓) +- [x] **M6.5** Modal JS module (`static/js/member-detail.js`): fetches `/api/adults` (or juniors), renders status/exceptions/transactions on row click; keyboard nav (Esc, ↑/↓) — `e53e238` - [ ] **M6.6** `/qr`, `/sync-bank`, `/flush-cache`, `/version` pages - [ ] **M6.7** Wire `embed.FS` into handlers; verify single-binary deployment includes all assets