brewlog/templates
Jon Seager 202dafb9b9
feat(scan): show cards for existing roasters/roasts during bag scan
After AI extraction, check if the roaster and roast already exist by
slug. When matched, show compact summary cards instead of full edit
forms. Each card has a "Change" link to revert to the form if the
match is wrong.

- Add match_existing_entities() for slug-based roaster/roast lookup
- Return _matched-roaster-id and _matched-roast-id signals from extraction
- Add submit_existing_roast() path to skip creation when roast exists
- Dynamic submit buttons: Save Roaster & Roast / Save Roast / Open Bag
- Hidden inputs bound to signals handle all form submission cleanly
2026-02-06 12:27:25 +00:00
..
pages feat(scan): show cards for existing roasters/roasts during bag scan 2026-02-06 12:27:25 +00:00
partials feat(scan): show cards for existing roasters/roasts during bag scan 2026-02-06 12:27:25 +00:00
base.html fix(ui): tokenize neutral text colors for dark mode contrast 2026-02-05 20:57:59 +00:00