@include('front.partials.top-header') @include('front.partials.desktop.search-header') @include('front.partials.sticky-header')
@include('front.partials.mobile.menu')

@forelse($product->images as $key => $image)
{{ $product->product_name }}
@empty
no image
@endforelse
@forelse($product->images as $key => $image)
{{ $product->product_name }}
@empty
no image
@endforelse
@php $firstCategory = mb_strtolower(explode(' → ', $product->final_category)[0] ?? '', 'UTF-8'); @endphp {{ __('messages.' . $firstCategory) }}
@for ($i = 1; $i <= 5; $i++)
@if ($averageRating >= $i) @elseif ($averageRating >= ($i - 0.5)) @else @endif
@endfor {{ $averageRating }} / 5 ({{ $reviewCount }} {{ __('messages.reviews') }})

{{ $product->product_name }}

@if($product->reducted_price > 0 && $product->reducted_price < $product->product_price) {{ number_format($product->reducted_price, 2, ',', ' ') }}€ @else {{ number_format($product->product_price, 2, ',', ' ') }}€ @endif
@csrf
@if(!empty($product->variants_json) && is_array($product->variants_json)) @foreach($product->variants_json as $variant) @php $type = $variant['type'] ?? ''; $values = $variant['values'] ?? []; $filteredValues = array_values(array_filter($values, fn($value) => !empty(trim($value)))); $hasValidType = !empty(trim($type)); $hasValidValues = is_array($values) && count($filteredValues) > 0; $translatedType = __('messages.' . $type) !== 'messages.' . $type ? __('messages.' . $type) : ucfirst(str_replace('_', ' ', $type)); @endphp @if($hasValidType && $hasValidValues)
{{ $translatedType }}
@foreach($filteredValues as $index => $value) @php $translatedValue = __('messages.' . strtolower($value)) !== 'messages.' . strtolower($value) ? __('messages.' . strtolower($value)) : $value; $inputId = 'variant_' . $type . '_' . $index; @endphp
@endforeach
@endif @endforeach @endif
{{ __('messages.vendor') }}
{{ $product->seller->name }}
@php $isInWishlist = in_array($product->id, $wishlistProductIds ?? []); @endphp
{{ __('messages.categories_detail_product') }} @foreach(explode('→', $product->final_category) as $category) {{ __('messages.' . trim($category)) }} @endforeach
{{ __('messages.state_detail_product') }} {{ __('messages.' . $product->etatProduit) }}

{!! $product->product_description !!}

@if(!empty($product->variants_json) && is_array($product->variants_json)) @foreach($product->variants_json as $variant) @php $type = $variant['type'] ?? ''; $values = $variant['values'] ?? []; $hasValidType = !empty(trim($type)); $filteredValues = array_values(array_filter($values, fn($value) => !empty(trim($value)))); $hasValidValues = is_array($values) && count($filteredValues) > 0; $translatedType = __('messages.' . $type) !== 'messages.' . $type ? __('messages.' . $type) : ucfirst(str_replace('_', ' ', $type)); @endphp @if($hasValidType && $hasValidValues) @endif @endforeach @endif
{{ __('messages.vendor') }} {{ $product->seller->name }}
{{ $translatedType }} @if(count($filteredValues) > 1)
@foreach($filteredValues as $index => $value) @php $translatedValue = __('messages.' . strtolower($value)) !== 'messages.' . strtolower($value) ? __('messages.' . strtolower($value)) : $value; $inputId = $type . '_' . $index; @endphp
@endforeach
@else @php $value = $filteredValues[0]; $translatedValue = __('messages.' . strtolower($value)) !== 'messages.' . strtolower($value) ? __('messages.' . strtolower($value)) : $value; @endphp {{ $translatedValue }} @endif

{{ number_format($averageRating, 1) }}

{{ __('messages.average_rating') }}
@for ($i = 1; $i <= 5; $i++) @if ($averageRating >= $i) @elseif ($averageRating >= ($i - 0.5)) @else @endif @endfor ({{ $reviewCount }} {{ __('messages.reviews') }})

{{ $recommendedPercent }}%

{{ __('messages.recommended') }} ({{ $recommendedCount }} {{ __('messages.of') }} {{ $reviewCount }})
@for ($star = 5; $star >= 1; $star--)
@for ($i = 1; $i <= 5; $i++) @if ($i <= $star) @else @endif @endfor
{{ $ratingBreakdown[$star]['percent'] }}%
@endfor
{{ __('messages.customer_reviews') }}
@forelse($reviews as $review)
{{ $review->name }} {{ $review->created_at->format('d.m.Y') }}
@for ($i = 1; $i <= 5; $i++) @if ($i <= $review->rating) @else @endif @endfor

{{ $review->comment }}

@if($review->recommended) {{ __('messages.recommanded') }} @else {{ __('messages.not_recommanded') }} @endif
@empty

{{ __('messages.no_review_for_product') }}

@endforelse
@if(session('success'))
{{ session('success') }}
@endif @if ($errors->any())
    @foreach ($errors->all() as $error)
  • {{ $error }}
  • @endforeach
@endif
@csrf
{{ __('messages.submit_your_review') }}
{{ __('messages.your_rating_of_this_product') }}
@for($i = 1; $i <= 5; $i++) @endfor
{{ __('messages.what_we_offer') }}
icon

{{ __('messages.what_we_offer_text_1') }}

icon

{{ __('messages.what_we_offer_text_3') }}

icon

{{ __('messages.what_we_offer_text_2') }}

{{ __('messages.guaranteed_safe_checkout') }}
@include('front.partials.footer')