@php $slides = $slides ?? collect(); $tourTypes = $tourTypes ?? collect(); @endphp {{-- SLIDES --}} @foreach ($slides as $i => $s) @php $overlay = max(0, min(0.9, (float) ($s->overlay_opacity ?? 0.45))); $isActive = $i === 0; $img = !empty($s->image_path) ? asset('storage/' . ltrim($s->image_path, '/')) : null; $vid = !empty($s->video_path) ? asset('storage/' . ltrim($s->video_path, '/')) : null; $poster = !empty($s->video_poster) ? asset('storage/' . ltrim($s->video_poster, '/')) : ($img ?: null); $mediaType = $s->media_type ?? 'image'; $videoSource = $s->video_source ?? 'upload'; $videoUrl = $s->video_url ?? null; $youtubeId = null; if (!empty($videoUrl)) { preg_match( '/(?:youtube\.com\/watch\?v=|youtu\.be\/|youtube\.com\/embed\/)([A-Za-z0-9_-]{11})/', $videoUrl, $matches ); $youtubeId = $matches[1] ?? null; } @endphp {{-- Media --}} @if ($mediaType === 'video' && $videoSource === 'upload' && $vid) @elseif ($mediaType === 'video' && $videoSource === 'youtube' && $youtubeId) {{-- mobile fallback poster --}} @if ($poster) @endif {{-- youtube background only desktop/tablet --}} @else @endif {{-- Overlay --}} {{-- premium light accents --}} {{-- Text content (per slide) --}} @if (!empty($s->kicker)) {{ $s->kicker }} @endif @if (!empty($s->title)) {{ $s->title }} @endif {{-- @if (!empty($s->subtitle)) {{ $s->subtitle }} @endif @if (!empty($s->cta_label) && !empty($s->cta_url)) {{ $s->cta_label }} @endif --}} @endforeach {{-- dark base gradient so content + filter always readable --}} {{-- FILTER BAR --}} {{-- Tour Type --}} Tour Type Select type @foreach ($tourTypes as $t) {{ $t->name }} @endforeach {{-- Days Count --}} Duration Select days 1 Day 2 Days 3 Days 4 Days 5 Days 6 Days 7 Days 8 Days 9 Days 10 Days 12 Days 14 Days {{-- Button --}} Find Your Tour {{-- Build custom tour --}} Want something more personal? Build your trip in minutes. Build Custom Tour {{-- Dots --}} @if ($slides->count() > 1) @foreach ($slides as $i => $s) @endforeach @endif {{-- Reserve space so next section doesn’t overlap --}}
{{ $s->subtitle }}