John O'Keefe
327fc2c0f9
feat(matching): match results as a scoped templ partial + enriched matches
...
- BookMatch now carries title/author/cover (the fields the old client
renderer always assumed but the API never sent — cards would have
shown 'undefined'); filled during the family-lens pass in QueryBooks
- new partial route GET /unlinked-books/matches renders the scoped
match cascade server-side; searchMatches swaps it via htmx.ajax
instead of rebuilding cards from JSON
- NOTE: the unlinked-books surface is currently dark end-to-end — the
templ page has no route, the live linking.ts renderer targets a
container no template has, and its Link button calls a
window.showMatchModal that does not exist. This commit ships the
scoped backend + partial; wiring the UI is a product decision.
2026-10-18 16:00:04 -04:00
..
2026-10-18 12:08:20 -04:00
2026-10-18 12:08:20 -04:00
2026-10-18 12:08:20 -04:00
2026-10-13 12:24:12 -04:00
2026-10-18 12:28:50 -04:00
2026-10-18 12:28:50 -04:00
2026-10-18 12:08:20 -04:00
2026-10-18 12:08:20 -04:00
2026-10-18 12:08:20 -04:00
2026-10-18 12:08:20 -04:00
2026-10-18 12:08:20 -04:00
2026-10-18 12:08:20 -04:00
2026-10-18 12:08:20 -04:00
2026-10-18 12:08:20 -04:00
2026-10-15 19:33:18 -04:00
2026-10-15 19:33:18 -04:00
2026-10-18 12:08:20 -04:00
2026-10-18 12:08:20 -04:00
2026-10-18 12:08:20 -04:00
2026-10-18 12:08:20 -04:00
2026-10-18 12:08:20 -04:00
2026-10-15 18:03:35 -04:00
2026-10-18 12:08:20 -04:00
2026-10-18 12:08:20 -04:00
2026-05-24 21:20:24 -04:00
2026-03-27 15:52:02 -04:00
2026-10-18 12:08:20 -04:00
2026-10-18 12:08:20 -04:00
2026-10-18 12:08:20 -04:00
2026-10-18 12:08:20 -04:00
2026-10-18 12:08:20 -04:00
2026-10-14 11:59:38 -04:00
2026-10-18 12:08:20 -04:00
2026-10-18 12:08:20 -04:00
2026-10-18 12:28:25 -04:00
2026-10-18 12:28:25 -04:00
2026-10-18 12:42:50 -04:00
2026-10-18 12:42:50 -04:00
2026-10-18 12:08:20 -04:00
2026-10-18 12:08:20 -04:00
2026-10-18 12:08:20 -04:00
2026-10-18 12:08:20 -04:00
2026-10-18 12:08:20 -04:00
2026-10-18 12:08:20 -04:00
2026-10-18 12:08:20 -04:00
2026-08-10 13:43:13 -04:00
2026-10-18 12:08:20 -04:00
2026-08-10 13:43:13 -04:00
2026-10-18 12:08:20 -04:00
2026-08-05 16:45:02 -04:00
2026-10-18 12:08:07 -04:00
2026-10-18 12:08:07 -04:00
2026-10-18 12:08:07 -04:00
2026-10-18 12:08:07 -04:00
2026-10-18 12:08:07 -04:00
2026-10-18 12:08:07 -04:00
2026-10-18 13:16:35 -04:00
2026-10-18 13:16:35 -04:00
2026-10-18 12:08:07 -04:00
2026-10-18 12:08:07 -04:00
2026-10-18 12:30:55 -04:00
2026-10-18 12:08:20 -04:00
2026-10-14 11:08:12 -04:00
2026-10-18 12:08:20 -04:00
2026-08-05 16:45:02 -04:00
2026-10-18 12:08:20 -04:00
2026-10-18 12:08:20 -04:00
2026-10-18 12:08:20 -04:00
2026-10-18 12:08:20 -04:00
2026-10-18 12:08:20 -04:00
2026-10-18 12:08:20 -04:00
2026-10-18 12:08:20 -04:00
2026-10-15 20:27:37 -04:00
2026-10-18 12:08:07 -04:00
2026-10-18 12:08:07 -04:00
2026-08-05 16:45:02 -04:00
2026-08-05 16:45:02 -04:00
2026-10-18 12:08:20 -04:00
2026-10-18 12:08:20 -04:00
2026-10-03 23:54:07 -04:00
2026-10-18 12:08:07 -04:00
2026-10-18 12:08:07 -04:00
2026-10-18 12:08:20 -04:00
2026-10-18 12:08:20 -04:00
2026-10-18 12:08:07 -04:00
2026-10-18 12:08:07 -04:00
2026-10-18 12:08:07 -04:00
2026-10-18 12:08:20 -04:00
2026-05-10 16:13:21 -04:00
2026-10-14 11:59:38 -04:00
2026-10-18 16:00:04 -04:00
2026-10-18 16:00:04 -04:00
2026-08-10 13:43:32 -04:00
2026-10-18 12:08:20 -04:00