@php
$types = $types ?? [];
$sources = $sources ?? [];
$restaurantScopes = $restaurantScopes ?? [];
$banners = $banners ?? collect();
$restaurants = $restaurants ?? collect();
$cuisines = $cuisines ?? collect();
$globalCategories = $globalCategories ?? collect();
$menuItems = $menuItems ?? collect();
$brands = $brands ?? collect();
$promoCodes = $promoCodes ?? collect();
$configuration = $homeSection->configuration ?? [];
$selectedBannerIds = old('banner_ids', $configuration['banner_ids'] ?? []);
$selectedRestaurantIds = old('restaurant_ids', $configuration['restaurant_ids'] ?? []);
$selectedCuisineIds = old('cuisine_ids', $configuration['cuisine_ids'] ?? []);
$selectedGlobalCategoryIds = old('global_category_ids', $configuration['global_category_ids'] ?? []);
$selectedMenuItemIds = old('menu_item_ids', $configuration['menu_item_ids'] ?? []);
$selectedBrandIds = old('brand_ids', $configuration['brand_ids'] ?? []);
$selectedPromoCodeIds = old('promo_code_ids', $configuration['promo_code_ids'] ?? []);
$selectedType = old('section_type', $homeSection->section_type);
$selectedSource = old('data_source', $homeSection->data_source);
$selectedContentTarget = old('content_target', $configuration['content_target'] ?? 'auto');
$selectedScope = old('restaurant_scope', $configuration['restaurant_scope'] ?? 'featured');
$backgroundColor = old('background_color', $configuration['background_color'] ?? '#FFFFFF');
$backgroundOpacity = old('background_opacity', $configuration['background_opacity'] ?? 0.88);
$backgroundImage = $configuration['background_image'] ?? null;
$heroMedia = $configuration['hero_media'] ?? null;
$globalCategoryPayload = $globalCategories->map(fn ($category) => [
'id' => $category->id,
'name' => $category->name,
'subcategories' => $category->children->map(fn ($child) => [
'id' => $child->id,
'name' => $child->name,
])->values(),
])->values();
@endphp
@if($homeSection->exists)
@endif
@error('service_type')
{{ $message }}
@enderror
Only categories, stores, banners and items from this service are available.
@error('title')
{{ $message }}
@enderror
@error('section_type')
{{ $message }}
@enderror
@error('subtitle')
{{ $message }}
@enderror
@error('data_source')
{{ $message }}
@enderror
@error('content_target')
{{ $message }}
@enderror
Use Products for shelves or custom product rails; use Stores for store lists.
Recommended For You defaults to 12 and supports 1–24 cards.
@error('limit')
{{ $message }}
@enderror
@error('display_order')
{{ $message }}
@enderror
@error('background_color')
{{ $message }}
@enderror
Use `0` for hidden image and `1` for full image visibility.
@error('background_opacity')
{{ $message }}
@enderror
@if($backgroundImage)
Current image: {{ $backgroundImage }}
@endif
@error('background_image')
{{ $message }}
@enderror
@error('remove_background_image')
{{ $message }}
@enderror
Upload a full-bleed image or a Lottie JSON animation for the hero section.
@if($heroMedia)
Current media: {{ $heroMedia }}
@endif
@error('hero_media')
{{ $message }}
@enderror
@error('remove_hero_media')
{{ $message }}
@enderror
@error('starts_at')
{{ $message }}
@enderror
@error('ends_at')
{{ $message }}
@enderror
Used only when the data source is manual.
Used only when the data source is manual.
Used only when the data source is manual.
Used for category grid sections. Parent categories and subcategories can both be selected.
Select one or more categories.
Select one or more subcategories.
Used only when popular dishes uses manual selection.
Used only for Grocery > Shop By Brand manual sections.
Used only when admin offers uses manual selection.