@push('head') @endpush @push('head') @endpush @php // Safe fallbacks (raw relative paths inside /public) // Use manifest slider entries if available $manifest = \App\Support\ImageManifest::get(); if (empty($slides) && $manifest && !empty($manifest['slider'])) { $slides = collect($manifest['slider']) ->map(function($e){ // prefer largest variant or original $vars = $e['variants'] ?? []; if ($vars) { usort($vars, fn($a,$b)=>($b['width']??0) <=> ($a['width']??0)); $largest = $vars[0]; return asset($largest['jpg']); } return isset($e['original']) ? asset($e['original']) : null; }) ->filter()->values()->all(); } $slides = $slides ?? [asset('assets/images/jollof.jpg'),asset('assets/images/egusi.jpg'),asset('assets/images/suya.jpg'),asset('assets/images/efo_riro.jpg'),asset('assets/images/pepper_soup.jpg')]; $categories = $categories ?? ['Jollof Rice','Suya','Egusi Soup','Grilled Fish']; $specials = ($specials ?? collect()); $signature = ($signature ?? collect()); $popular = $signature->isNotEmpty() ? $signature->take(6) : ($specials->isNotEmpty() ? $specials->take(6) : collect()); $placeholderImg = '/assets/placeholders/dish-placeholder.svg'; // Determine effective base path. The app is now flattened at project root (e.g. /bonny_delight), // but we keep this logic so deployments under a subdirectory continue to work without edits. $runtimeBase = rtrim(request()->getBaseUrl(), '/'); // request-detected base path $configBasePath = trim(parse_url(config('app.url'), PHP_URL_PATH) ?? '', '/'); // path portion of APP_URL if any $effectiveBase = $runtimeBase !== '' ? $runtimeBase : ($configBasePath !== '' ? '/' . $configBasePath : ''); $makeUrl = function(string $p) use ($effectiveBase){ // If already absolute (http(s) or protocol relative) return as-is if (preg_match('~^(?:https?:)?//~i', $p)) { return $p; } // Normalize to root-relative $p = '/' . ltrim($p, '/'); if ($effectiveBase && $effectiveBase !== '/' && !str_starts_with($p, $effectiveBase.'/')) { return rtrim($effectiveBase, '/') . $p; } return $p; }; // Normalize slide URLs (ensure absolute) // Slides now supplied as root-relative or absolute; no further expansion needed here. $heroImage = $slides[0] ?? asset('assets/images/jollof.jpg'); $heroUrl = $makeUrl($heroImage); $slideUrls = collect($slides)->map(fn($p) => $makeUrl((string)$p))->filter()->unique()->values()->all(); if (empty($slideUrls)) { $slideUrls = [$heroUrl]; } $freeThreshold = (float) \App\Models\Setting::get('delivery.free_threshold', 20000); $baseDeliveryFee = (float) \App\Models\Setting::get('delivery.fee_base', 1000); @endphp @push('head') @php $morePreloads = array_slice($slideUrls, 1, 2); @endphp @foreach($morePreloads as $p) @endforeach @endpush

Refined Nigerian Cuisine, Delivered

Order chef-crafted meals from Bonny Delight. Fresh, fast, and beautifully served.

Avg. delivery 25–35 min • From ₦{{ number_format($baseDeliveryFee, 0) }}

Free delivery over ₦{{ number_format($freeThreshold, 0) }}

Browse by Category

@foreach(($categories ?? []) as $c) {{ $c }} @endforeach

Why Bonny Delight

@php $adv = [ ['icon'=>'utensils-crossed','title'=>'Chef-crafted','desc'=>'Authentic Nigerian recipes with premium ingredients.'], ['icon'=>'clock','title'=>'Fast Delivery','desc'=>'Hot and fresh to your room or doorstep.'], ['icon'=>'leaf','title'=>'Fresh & Clean','desc'=>'Prepared with care in a hygienic kitchen.'], ]; @endphp @foreach($adv as $a)

{{ $a['title'] }}

{{ $a['desc'] }}

@endforeach

Loved by diners

Real feedback from happy customers who enjoy fast, delicious meals.

@php $testi = [ ['n'=>'Ada','t'=>'“The jollof is perfect every time. Delivery is quick and food arrives hot.”'], ['n'=>'Tunde','t'=>'“Best suya I’ve had in town. Ordering is so easy.”'], ['n'=>'Zainab','t'=>'“Clean, tasty, and reliable. Great for late-night cravings.”'], ]; @endphp @foreach($testi as $x)
@for($i=0;$i<5;$i++)@endfor
{{ $x['t'] }}
— {{ $x['n'] }}
@endforeach
@php // Cart count for sticky mobile bar $navCartItems = session('cart.items', []); $navCartCount = 0; if (is_array($navCartItems)) { foreach ($navCartItems as $it) { if (is_array($it) && isset($it['qty'])) { $navCartCount += (int) $it['qty']; } elseif (is_numeric($it)) { $navCartCount += (int) $it; } } } @endphp
@push('scripts') @endpush