@extends('layouts.app') @section('title', __('pages.meta.product-detail-1.title')) @section('meta_description', __('pages.meta.product-detail-1.description')) @section('meta_keywords', __('pages.meta.product-detail-1.keywords')) @section('meta_author', __('pages.meta.author')) @push('styles') @endpush @php $data = $productDetail1Data ?? []; $gallery = data_get($data, 'gallery', []); $galleryMainImages = data_get($gallery, 'mainImages', []); $priceBar = data_get($data, 'priceBar', []); $breadcrumb = data_get($data, 'breadcrumb.items', data_get($data, 'breadcrumb', [])); $productInfo = data_get($data, 'productInfo', []); $travelExperience = data_get($data, 'travelExperience', []); $travelTabs = data_get($travelExperience, 'tabs', []); $glance = data_get($travelExperience, 'glance', []); $glanceDays = data_get($glance, 'days', []); $itinerary = data_get($data, 'itinerary', []); $itineraryGallery = data_get($itinerary, 'gallery', []); $itineraryDays = data_get($itinerary, 'days', []); $accommodations = data_get($data, 'accommodations', []); $accommodationsGallery = data_get($accommodations, 'gallery', []); $accommodationsItems = data_get($accommodations, 'items', []); $notes = data_get($data, 'notes', []); $noteSections = data_get($notes, 'sections', []); $reviews = data_get($data, 'reviews', []); $reviewItems = data_get($reviews, 'items', []); $reviewSortOptions = data_get($reviews, 'sortOptions', []); $relatedExperiences = data_get($data, 'relatedExperiences', []); $trendingSights = data_get($data, 'trendingSights', []); $tags = data_get($data, 'tags', []); $about = data_get($data, 'about', []); $trustpilotReviews = data_get($data, 'trustpilotReviews', []); $trustpilotHeader = data_get($trustpilotReviews, 'header', []); $trustpilotItems = data_get($trustpilotReviews, 'items', []); $mobileCampaign = data_get($data, 'mobileCampaign', []); $floatingActions = data_get($data, 'floatingActions', []); $mobileNavData = data_get($data, 'mobileNavData', []); $compareImage = data_get($galleryMainImages, '0.image', '/assets/images/uploads/9. PRODUCT DETAIL 1-05.png'); $photoGalleryImagesRaw = []; foreach ($galleryMainImages as $image) { if (is_array($image)) { $photoGalleryImagesRaw[] = $image; } } foreach ($itineraryGallery as $image) { if (is_array($image)) { $photoGalleryImagesRaw[] = $image; } } foreach ($accommodationsGallery as $image) { if (is_array($image)) { $photoGalleryImagesRaw[] = $image; } } foreach ($itineraryDays as $day) { if (! is_array($day)) { continue; } $dayAccommodationGallery = data_get($day, 'accommodation.gallery', []); foreach ($dayAccommodationGallery as $image) { if (is_array($image)) { $photoGalleryImagesRaw[] = $image; } } } $seenPhotoImageUrls = []; $photoGalleryImages = []; foreach ($photoGalleryImagesRaw as $image) { $url = (string) ($image['image'] ?? ''); if ($url === '' || isset($seenPhotoImageUrls[$url])) { continue; } $seenPhotoImageUrls[$url] = true; $photoGalleryImages[] = $image; } if ($photoGalleryImages === [] && $galleryMainImages !== []) { $photoGalleryImages = $galleryMainImages; } $activeReviewSortText = __('common.page.relevance'); foreach ($reviewSortOptions as $sortOption) { if (!empty($sortOption['active'])) { $activeReviewSortText = (string) ($sortOption['label'] ?? $activeReviewSortText); break; } } @endphp @section('content')
@include('pages.home.shared.header')
{{ $priceBar['days'] ?? '' }}{{ $priceBar['daysLabel'] ?? '' }}
{{ $priceBar['startingFromLabel'] ?? '' }}
{{ $priceBar['price'] ?? '' }}
{{ $priceBar['perPerson'] ?? '' }}
{{ $productInfo['days'] ?? '' }} {{ $productInfo['daysLabel'] ?? '' }}

{{ $productInfo['startingFrom'] ?? '' }}
{{ $productInfo['priceDesktop'] ?? '' }}
{{ $productInfo['perPerson'] ?? '' }}
{{ $productInfo['title'] ?? '' }}
{{ $productInfo['locations'] ?? '' }}
{{ $productInfo['rating'] ?? '' }} ({{ $productInfo['reviews'] ?? '' }}) | {{ $productInfo['booked'] ?? '' }} booked
Best time to visit: {{ $productInfo['bestTimeToVisit'] ?? '' }}
{{ $productInfo['rating'] ?? '' }} ({{ $productInfo['reviews'] ?? '' }}) | {{ $productInfo['booked'] ?? '' }} booked
    @foreach (data_get($productInfo, 'features', []) as $feature)
  • {{ $feature }}
  • @endforeach
{!! $productInfo['note'] ?? '' !!}

{{ $travelExperience['title'] ?? '' }}

{{ $travelExperience['intro'] ?? '' }}

@if (!empty($glance['mapImage']))
Vietnam Map
@endif @php $firstGlanceDay = $glanceDays[0] ?? null; $remainingGlanceDays = array_slice($glanceDays, 1); @endphp @if (is_array($firstGlanceDay))
{{ $firstGlanceDay['day'] ?? '' }}
{{ $firstGlanceDay['title'] ?? '' }}
    @foreach (($firstGlanceDay['features'] ?? []) as $feature)
  • {{ $feature }}
  • @endforeach
@endif @if ($remainingGlanceDays !== [])
@foreach ($remainingGlanceDays as $day)
{{ $day['day'] ?? '' }}
{{ $day['title'] ?? '' }}
    @foreach (($day['features'] ?? []) as $feature)
  • {{ $feature }}
  • @endforeach
@endforeach
@endif

{{ $itinerary['title'] ?? '' }}

@foreach ($itineraryGallery as $image) @endforeach
@php $firstItineraryDay = $itineraryDays[0] ?? null; $remainingItineraryDays = array_slice($itineraryDays, 1); $firstDayContent = is_array($firstItineraryDay) ? ($firstItineraryDay['content'] ?? []) : []; $firstDayAccommodation = is_array($firstItineraryDay) ? ($firstItineraryDay['accommodation'] ?? []) : []; @endphp @if (is_array($firstItineraryDay))
{{ $firstItineraryDay['day'] ?? '' }}
{{ $firstItineraryDay['title'] ?? '' }}
@if (!empty($firstDayContent[0]))

{{ $firstDayContent[0] }}

@endif @endif
@if (count($firstDayContent) > 1) @foreach (array_slice($firstDayContent, 1) as $content)

{{ $content }}

@endforeach @endif @if (is_array($firstDayAccommodation) && $firstDayAccommodation !== [])
{{ $firstDayAccommodation['title'] ?? '' }}
    @foreach (($firstDayAccommodation['items'] ?? []) as $item)
  • {{ $item }}
  • @endforeach
@php $firstItineraryAccommodationGallery = $firstDayAccommodation['gallery'] ?? []; @endphp @if (is_array($firstItineraryAccommodationGallery) && $firstItineraryAccommodationGallery !== [])
@foreach ($firstItineraryAccommodationGallery as $image) @endforeach
@endif @endif @foreach ($remainingItineraryDays as $dayIndex => $day)
{{ $day['day'] ?? '' }}
{{ $day['title'] ?? '' }}
@foreach (($day['content'] ?? []) as $content)

{{ $content }}

@endforeach @php $dayAccommodation = $day['accommodation'] ?? []; @endphp @if (is_array($dayAccommodation) && $dayAccommodation !== [])
{{ $dayAccommodation['title'] ?? '' }}
    @foreach (($dayAccommodation['items'] ?? []) as $item)
  • {{ $item }}
  • @endforeach
@php $dayAccommodationGallery = $dayAccommodation['gallery'] ?? []; $nestedItinerarySwiper = 'swiper'.(10 + $dayIndex); @endphp @if (is_array($dayAccommodationGallery) && $dayAccommodationGallery !== [])
@foreach ($dayAccommodationGallery as $image) @endforeach
@endif @endif @endforeach

{{ $accommodations['title'] ?? '' }}

@foreach ($accommodationsGallery as $image) @endforeach
@php $firstAccommodationItem = $accommodationsItems[0] ?? null; $remainingAccommodationItems = array_slice($accommodationsItems, 1); @endphp @if (is_array($firstAccommodationItem))
{{ $firstAccommodationItem['day'] ?? '' }}
{{ $firstAccommodationItem['title'] ?? '' }}

{{ $firstAccommodationItem['description'] ?? '' }}

@endif
@php $firstAccommodationGallery = is_array($firstAccommodationItem) ? ($firstAccommodationItem['gallery'] ?? []) : []; @endphp @if (is_array($firstAccommodationGallery) && $firstAccommodationGallery !== [])
@foreach ($firstAccommodationGallery as $image) @endforeach
@endif @foreach ($remainingAccommodationItems as $item)
{{ $item['day'] ?? '' }}
{{ $item['title'] ?? '' }}

{{ $item['description'] ?? '' }}

@endforeach

{{ $notes['title'] ?? '' }}

image
@php $firstNoteSection = $noteSections[0] ?? null; $remainingNoteSections = array_slice($noteSections, 1); @endphp @if (is_array($firstNoteSection))
{{ $firstNoteSection['title'] ?? '' }}
    @foreach (($firstNoteSection['items'] ?? []) as $item)
  • {{ $item }}
  • @endforeach
@endif @if ($remainingNoteSections !== [])
@foreach ($remainingNoteSections as $section) @if (!empty($section['icon'])) icon @endif
{{ $section['title'] ?? '' }}
@if (!empty($section['items']))
    @foreach ($section['items'] as $item)
  • {{ $item }}
  • @endforeach
@endif @if (!empty($section['content'])) @foreach ($section['content'] as $paragraph)

{{ $paragraph }}

@endforeach @endif @endforeach
@endif

{{ $reviews['title'] ?? '' }}

{{ data_get($reviews, 'rating.score', '') }} ({{ data_get($reviews, 'rating.count', '') }}) | {{ data_get($reviews, 'rating.booked', '') }} booked
{{ __('common.page.sort_by') }}
@foreach ($reviewSortOptions as $sortOption)
{{ $sortOption['label'] ?? '' }}
@endforeach
@php $firstReview = $reviewItems[0] ?? null; $remainingReviews = array_slice($reviewItems, 1); @endphp @if (is_array($firstReview))
{{ $firstReview['avatar'] ?? '' }}
{{ $firstReview['name'] ?? '' }}
{{ $firstReview['date'] ?? '' }}
{{ $firstReview['ratingText'] ?? '' }} {{ $firstReview['ratingScore'] ?? '' }}

{{ $firstReview['text'] ?? '' }}

@php $firstReviewGallery = $firstReview['gallery'] ?? []; @endphp @if (is_array($firstReviewGallery) && $firstReviewGallery !== [])
@foreach ($firstReviewGallery as $image) @endforeach
@endif
@foreach ($remainingReviews as $reviewIndex => $review)
{{ $review['avatar'] ?? '' }}
{{ $review['name'] ?? '' }}
{{ $review['date'] ?? '' }}
{{ $review['ratingText'] ?? '' }} {{ $review['ratingScore'] ?? '' }}

{{ $review['text'] ?? '' }}

@php $reviewGallery = $review['gallery'] ?? []; $reviewSwiperClass = 'swiper'.(5 + $reviewIndex); @endphp @if (is_array($reviewGallery) && $reviewGallery !== [])
@foreach ($reviewGallery as $image) @endforeach
@endif
@endforeach
@endif

{!! $trendingSights['disclaimer'] ?? '' !!}

@foreach ($tags as $tag) {{ $tag }} @endforeach

{!! $about['content'] ?? '' !!}
@include('pages.home.shared.section-benefits', ['sectionBenefitsData' => $sectionBenefits])
@include('pages.home.shared.trustpilot-section', ['trustpilotData' => $trustpilotReviews])
@include('pages.home.shared.footer') @include('pages.home.shared.popup-booking')
@foreach ($floatingActions as $action) {{ $action['alt'] ?? '' }} @if (!empty($action['badge'])) {{ $action['badge'] }} @endif @if (!empty($action['text'])) {{ $action['text'] }} @endif @endforeach
@endsection @push('scripts') @endpush