brewlog/templates/partials
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
..
forms feat(scan): show cards for existing roasters/roasts during bag scan 2026-02-06 12:27:25 +00:00
lists refactor(brews): deduplicate brew actions between desktop and mobile views 2026-02-05 21:58:43 +00:00
bag_card.html feat(brews): pre-select bag when clicking Brew on homepage bag card 2026-02-06 10:53:42 +00:00
icons.html feat(ui): redesign with theme tokens, dark mode, and reusable components 2026-02-05 17:03:09 +00:00
location_search.html fix(ui): tokenize neutral text colors for dark mode contrast 2026-02-05 20:57:59 +00:00
nav.html fix(ui): tokenize neutral text colors for dark mode contrast 2026-02-05 20:57:59 +00:00
nearby_cafes.html fix(ui): tokenize neutral text colors for dark mode contrast 2026-02-05 20:57:59 +00:00
roast_options.html feat: add bags web views and templates 2025-11-27 14:02:55 +00:00
scan_input.html feat(ui): redesign with theme tokens, dark mode, and reusable components 2026-02-05 17:03:09 +00:00
tab_bar.html refactor(ui): extract reusable tab bar component 2026-02-05 17:23:50 +00:00
timeline_chunk.html feat(timeline): remove sidebar nav, include sticky headers on scroll 2026-02-02 21:18:20 +00:00
timeline_month.html fix(ui): tokenize neutral text colors for dark mode contrast 2026-02-05 20:57:59 +00:00