@csrf @if ($meal->exists) @method('PUT') @endif @php $selectedAllergens = old( 'allergen_ids', $meal->exists ? $meal->allergens->pluck('id')->all() : [] ); $addonRows = old( 'addons', $meal->exists ? $meal->addons->map(fn ($addon) => [ 'id' => $addon->id, 'name' => $addon->name, 'unit_price' => $addon->unit_price, 'unit_weight_kg' => $addon->unit_weight_kg, 'maximum_quantity' => $addon->maximum_quantity, 'display_order' => $addon->display_order, 'is_available' => $addon->is_available, ])->all() : [] ); @endphp

Basic Meal Information

@error('category_id')
{{ $message }}
@enderror
@error('name')
{{ $message }}
@enderror
@error('short_description')
{{ $message }}
@enderror
@error('description')
{{ $message }}
@enderror
Clearly state what is already included in the standard price.
@error('standard_contents')
{{ $message }}
@enderror

Optional Add-ons

Customers may select multiple add-ons and quantities.

@error('addons')
{{ $message }}
@enderror
@foreach ($addonRows as $index => $addon) @include('admin.meals._addon-row', [ 'index' => $index, 'addon' => $addon, ]) @endforeach
No optional add-ons have been added.

Allergen Information

Select every allergen that applies to this meal.

@forelse ($allergens as $allergen)
id, $selectedAllergens ) ) >
@empty
No active allergens are available.
@endforelse
@error('allergen_ids.*')
{{ $message }}
@enderror

Pricing and Delivery

@error('base_price')
{{ $message }}
@enderror
Include the complete standard meal weight.
@error('weight_kg')
{{ $message }}
@enderror
working days @error('delivery_lead_days')
{{ $message }}
@enderror
minutes per meal
How much kitchen preparation time one quantity of this meal normally requires. This is used to calculate pickup-slot workload and prevent the kitchen from being overloaded.
@error('preparation_minutes')
{{ $message }}
@enderror

Meal Image

@error('image')
{{ $message }}
@enderror
{{ $meal->name ?: 'Meal preview' }}
Recommended size: 800 × 800 pixels.

Display Settings

@error('display_order')
{{ $message }}
@enderror
@php $checkboxes = [ 'allows_customisation' => [ 'label' => 'Allow customer instructions', 'default' => true, ], 'is_available' => [ 'label' => 'Available for ordering', 'default' => true, ], 'is_featured' => [ 'label' => 'Featured meal', 'default' => false, ], 'is_vat_applicable' => [ 'label' => 'VAT applicable', 'default' => true, ], ]; @endphp @foreach ($checkboxes as $field => $setting)
exists ? $meal->{$field} : $setting['default'] ) ) >
@endforeach
Cancel