feat(go): M6.5 — member-detail modal JS module #31

Merged
kacerr merged 1 commits from feat/go-m6-5-modal-js into main 2026-05-08 13:18:46 +02:00
Owner

Summary

  • Adds static/js/member-detail.js: fetches /api/adults (or /api/juniors) once on page load and caches the response.
  • Clicking [i] next to a member name opens a detail modal showing: status per month, fee exceptions, other transactions, matched payment history, and a toggleable raw-payments debug view.
  • Keyboard nav: Esc closes the modal; / walk visible (name-filtered) rows.
  • Adds [i] icon and modal HTML to adults.tmpl and juniors.tmpl; all modal CSS was already in place from M6.1.
  • Adds markup-level assertions to html_handler_test.go.

Test plan

  • make go-build go-test go-lint — all green
  • make web-gohttp://localhost:8080/adults: click [i] icon → modal opens with correct member data (status table, exception section, payment history, raw payments toggle)
  • Esc closes modal; / navigate between members; click outside modal content closes it
  • Name filter + / nav only walks visible rows
  • http://localhost:8080/juniors: same checks; expected = "?" rows render without JS errors
  • DevTools Network: single /api/adults request fires on page load; no re-fetch on subsequent clicks
  • Cross-check against http://localhost:5001/adults for visual parity

🤖 Generated with Claude Code

## Summary - Adds `static/js/member-detail.js`: fetches `/api/adults` (or `/api/juniors`) once on page load and caches the response. - Clicking `[i]` next to a member name opens a detail modal showing: status per month, fee exceptions, other transactions, matched payment history, and a toggleable raw-payments debug view. - Keyboard nav: `Esc` closes the modal; `↑`/`↓` walk visible (name-filtered) rows. - Adds `[i]` icon and modal HTML to `adults.tmpl` and `juniors.tmpl`; all modal CSS was already in place from M6.1. - Adds markup-level assertions to `html_handler_test.go`. ## Test plan - [ ] `make go-build go-test go-lint` — all green - [ ] `make web-go` → `http://localhost:8080/adults`: click `[i]` icon → modal opens with correct member data (status table, exception section, payment history, raw payments toggle) - [ ] `Esc` closes modal; `↑`/`↓` navigate between members; click outside modal content closes it - [ ] Name filter + `↑`/`↓` nav only walks visible rows - [ ] `http://localhost:8080/juniors`: same checks; `expected = "?"` rows render without JS errors - [ ] DevTools Network: single `/api/adults` request fires on page load; no re-fetch on subsequent clicks - [ ] Cross-check against `http://localhost:5001/adults` for visual parity 🤖 Generated with [Claude Code](https://claude.com/claude-code)
kacerr added 1 commit 2026-05-08 13:14:59 +02:00
feat(go): M6.5 — member-detail modal JS module for /adults and /juniors
All checks were successful
Deploy to K8s / deploy (push) Successful in 8s
309c26f209
Adds static/js/member-detail.js: fetches /api/<page> once on page load,
caches the response, and renders a per-member detail modal on [i] row click.
Keyboard nav: Esc closes, ↑/↓ walk visible (filtered) rows. All modal CSS
was already in place from M6.1.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
kacerr merged commit e53e238ca6 into main 2026-05-08 13:18:46 +02:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: kacerr/fuj-management#31