Each time the recipe name or spices are changed on the product edit
page, a new version is created instead of overwriting the current one.
Unchanged saves are skipped. A 'Rezept-Versionen' button opens a
sub-page (/produkt/{id}/rezept-versionen) listing all versions with
their spices and timestamps; the active version is highlighted in green.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Replaces the recipe dropdown with an inline Section containing a name
field and a spice-repeater with percentage inputs. On save, the recipe
is created (version 1) or updated in place; spice pivot rows are synced
via sync(). SumEquals100 rule enforces that percentages add up to 100.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Recipe select now has a create/edit modal (name + description)
- Batches RelationManager shows all LOT charges for the product below
the form, sorted newest first, with create/edit/delete actions
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add SKU and GTIN fields to product variant repeater
- Render EAN/UPC barcode live from GTIN input (picqer/php-barcode-generator)
- Pull variant price from Shopify API instead of defaulting to 0
- Sync sku/gtin through EditProduct and CreateProduct save logic
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>