@extends('layouts.app') @section('title', $product['name'] . ' Β· IZONE Africa Γ— Magic City') @section('content')
@if(count($product['category_names']) > 0)
@foreach($product['category_names'] as $catName) {{ $catName }} @endforeach
@endif

{{ $product['name'] }}

@if($product['price_from']) From @endif @if($product['old']) {{ $product['old'] }} @endif {{ $product['price'] }}
Prices shown exclude VAT
@if($product['savings'])
{{ $product['savings'] }}
@endif @if($product['show_stock_status'])
{{ $product['stock_label'] }}
@endif @if($product['gift_pack'] && !empty($product['gift_pack_items']))
🎁 FREE GIFT PACK
@foreach($product['gift_pack_items'] as $item) {{ $item['icon'] ?? '🎁' }} {{ $item['name'] }} @endforeach
@endif @if(($product['digital_delivery'] ?? 'none') === 'download')
Instant digital delivery β€” file download after payment.
@elseif(($product['digital_delivery'] ?? 'none') === 'service')
Digital service β€” delivered via your registered contact.
@endif @if($product['short_description'])

{{ $product['short_description'] }}

@endif
SKU: {{ $product['sku'] }}
@if(! empty($product['attributes']) || ! empty($product['text_fields']))
@foreach($product['attributes'] as $attribute) @if(strtolower($attribute['slug']) !== 'screen-type' && strtolower($attribute['name']) !== 'screen type')
{{ $attribute['name'] }} *
@foreach($attribute['options'] as $option) @endforeach
@endif @endforeach @foreach($product['text_fields'] as $field)
{{ $field['name'] }} (optional)
@endforeach
@endif @if(! empty($product['variants']))
πŸ“± Select Variant
@foreach($product['variants'] as $index => $variant) @php // Map each option value to its attribute name $labeledOptions = []; foreach (($variant['options'] ?? []) as $oi => $optVal) { $attrName = $product['attributes'][$oi]['name'] ?? null; $labeledOptions[] = $attrName ? $attrName . ' – ' . $optVal : $optVal; } $variantLabel = implode(' | ', $labeledOptions); $variantPrice = $variant['sale_price'] ?? $variant['price'] ?? 0; $isDefault = $index === 0; @endphp @endforeach
@endif
@if($product['stock_status'] === 'out_of_stock') @else @endif
@if(! empty($product['customizable'])) @endif
Payment & delivery
Lipa Pole Pole (reserve & pay later) means the item is reserved with an agreed deposit and released only after full payment β€” not "take home and pay while using". Payment terms remain informational until a payment milestone.
βœ…
InspectBefore you pay
🚚
Delivery7–14 days
πŸ’¬
Support{{ $shop['contacts']['contact_phone_1'] ?? 'Call anytime' }}
🚚 Deliver to
Delivery fee & time are confirmed per location β€” open the delivery assistant for a quote.
@if($product['accessories'])

Frequently Bought Together β€” Optional Add-ons

@foreach($product['accessories'] as $acc) @php $c = $acc['component'] ?? $acc; @endphp @if(($c['stock_status'] ?? 'in_stock') !== 'out_of_stock')
{{ $c['name'] }}
{{ $c['name'] }} KSh {{ number_format((int) ($c['price_num'] ?? 0), 0) }}
{{ $c['stock'] ?? 'In Stock' }}
@else
{{ $c['name'] }}
{{ $c['name'] }} KSh {{ number_format((int) ($c['price_num'] ?? 0), 0) }}
Out of Stock
@endif @endforeach
Selected: 0
Bundle total: KSh 0
@endif @if(count($product['specs']) > 0)

Specifications

@foreach($product['specs'] as $spec) @endforeach
{{ $spec['name'] }} {{ $spec['value'] }}
@endif @if($product['description'])

Description

{{ $product['description'] }}

@endif
{{ $product['name'] }}
{{ $product['price'] }}
@if($product['stock_status'] !== 'out_of_stock') @endif
{{-- ================= PDP POPUPS ================= --}} {{-- Gift Customization Popup --}} {{-- Gift Confirmation Popup --}} {{-- Inspect Before You Pay Popup --}} {{-- Lipa Polepole Popup --}} @endsection