@extends('layouts.app') @php $hasCatalogFilters = $search !== '' || trim((string) request()->query('category', '')) !== '' || $fulfillment !== 'all' || $sort !== 'featured'; $catalogCanonicalParameters = ! $hasCatalogFilters && request()->integer('page') > 1 ? ['page' => request()->integer('page')] : []; @endphp @section('title', 'Katalog Produk - GTGStore') @section('description', 'Temukan aplikasi premium dan layanan digital pilihan dengan proses pembelian yang aman dan praktis di GTGStore.') @section('canonical', route('storefront.products', $catalogCanonicalParameters)) @if ($hasCatalogFilters) @section('robots', 'noindex, follow') @endif @section('content')
Katalog Pilihan

Temukan produk digital yang tepat.

Bandingkan pilihan, cek prosesnya, lalu checkout saat sudah yakin.

{{ $products->total() }} produk tersedia
@if ($heroProducts->isNotEmpty())
@foreach ($heroProducts as $heroProduct) @php $heroManual = $heroProduct->requiresManualFulfillment(); @endphp
@if ($heroProduct->image_path) @else {{ $heroProduct->name[0] ?? 'G' }} @endif
{{ $heroManual ? 'Manual Admin' : 'Instan' }} {{ $heroProduct->name }} {{ $heroProduct->hasVariants() ? 'Mulai ' : '' }}Rp {{ number_format($heroProduct->salePrice(), 0, ',', '.') }}
@endforeach
@endif
@include('storefront.partials.catalog-results')
@include('storefront.partials.catalog-info-modal') @endsection