@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 ''; } }; @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') }} {{-- ===== 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 {{ $nlBtn }} @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
{{ $block['subtitle'] ?? $s->hero_subtitle }}
{{ $nlSubtitle }}