@extends('layouts.store') @section('content') @php /** @var \App\Models\StoreSetting $s */ $currency = $s->currency_code ?? '$'; $nlBtn = __('messages.Subscribe'); /** @var \Illuminate\Support\Collection $banners */ $byPos = collect($banners ?? [])->groupBy('position'); $printedCenter = false; $renderBanners = function($list, $wrapClass = 'block rounded-lg overflow-hidden shadow-sm hover:shadow-md transition-shadow') { foreach ($list ?? collect() as $b) { $src = $b->image_url ?? ($b->image ? asset($b->image) : asset('images/brands/no-image.png')); $href = $b->link ?: route('store.shop'); echo ''.e($b->title ?? __('messages.Banner')).''; } }; @endphp {{-- ===== TOP ===== --}} @if(($byPos['top_left'] ?? collect())->count() || ($byPos['top_right'] ?? collect())->count())
{!! $renderBanners($byPos['top_left'] ?? collect()) !!}
{!! $renderBanners($byPos['top_right'] ?? collect()) !!}
@endif @forelse($blocks ?? [] as $block) @switch($block['type']) @case('hero') @php $heroImg = $block['image'] ?? $s->hero_image_path; $heroUrl = 'https://picsum.photos/seed/hero-store/960/520'; if (!empty($heroImg) && is_string($heroImg) && !\Illuminate\Support\Str::startsWith($heroImg, ['http://', 'https://']) && file_exists(public_path($heroImg))) { $heroUrl = asset($heroImg); } elseif (file_exists(public_path('store_files/hero_image.jpg'))) { $heroUrl = asset('store_files/hero_image.jpg'); } @endphp
{{ __('messages.Shop') }}

{{ $block['title'] ?? $s->hero_title }}

{{ $block['subtitle'] ?? $s->hero_subtitle }}

{{ __('messages.ShopNow') }}
Hero
{{-- ===== CENTER ===== --}} @if(!$printedCenter && ( ($byPos['center_left'] ?? collect())->count() || ($byPos['center_right'] ?? collect())->count() ))
{!! $renderBanners($byPos['center_left'] ?? collect()) !!}
{!! $renderBanners($byPos['center_right'] ?? collect()) !!}
@php $printedCenter = true; @endphp @endif @break @case('collection') @php $col = $block['collection']; $prods = $block['products'] ?? collect(); $title = $block['title'] ?? ($col->title ?? $col->name ?? __('messages.Collection')); @endphp @if($prods->count())
{{ __('messages.Collection') }}

{{ $title }}

{{ __('messages.ViewAll') }}
@foreach($prods as $p) @include('store.partials.product-card', ['p' => $p, 'currency' => $currency]) @endforeach
@endif @break @case('newsletter') @php $nlTitle = $s->newsletter_title ?? __('messages.GetFreshDealsTitle'); $nlSubtitle = $s->newsletter_subtitle ?? __('messages.GetFreshDealsSubtitle'); $nlPlaceholder = $s->newsletter_placeholder ?? __('messages.NewsletterEmailPlaceholder'); @endphp

{{ $nlTitle }}

{{ $nlSubtitle }}

@csrf
@break @endswitch @empty @if(!$printedCenter && ( ($byPos['center_left'] ?? collect())->count() || ($byPos['center_right'] ?? collect())->count() ))
{!! $renderBanners($byPos['center_left'] ?? collect()) !!}
{!! $renderBanners($byPos['center_right'] ?? collect()) !!}
@php $printedCenter = true; @endphp @endif @endforelse @if(!$printedCenter && ( ($byPos['center_left'] ?? collect())->count() || ($byPos['center_right'] ?? collect())->count() ))
{!! $renderBanners($byPos['center_left'] ?? collect()) !!}
{!! $renderBanners($byPos['center_right'] ?? collect()) !!}
@endif @if(($byPos['footer_left'] ?? collect())->count() || ($byPos['footer_right'] ?? collect())->count())
{!! $renderBanners($byPos['footer_left'] ?? collect()) !!}
{!! $renderBanners($byPos['footer_right'] ?? collect()) !!}
@endif {{-- Quick-view + variant-picker + newsletter logic --}} @include('store.partials.home-modals-scripts', ['currency' => $currency, 'nlBtn' => $nlBtn]) @endsection