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 |
||
|---|---|---|
| .. | ||
| forms | ||
| lists | ||
| bag_card.html | ||
| icons.html | ||
| location_search.html | ||
| nav.html | ||
| nearby_cafes.html | ||
| roast_options.html | ||
| scan_input.html | ||
| tab_bar.html | ||
| timeline_chunk.html | ||
| timeline_month.html | ||