@extends('layouts.admin') @section('title', 'Pengaturan Toko') @section('page-title', 'Pengaturan Toko') @section('admin_content')
@csrf
{{-- Banner Hero Beranda --}}

Banner Hero Beranda (Halaman Depan Toko)

Upload atau ganti foto banner produk yang tampil di bagian paling atas halaman utama toko.

Format: JPG, PNG, WEBP. Gambar banner akan ditampilkan penuh.

Current Hero Banner

Informasi Toko

Nomor telepon, WhatsApp, email & alamat di sini otomatis tersinkron ke semua bagian website: section lokasi & peta (front page), footer, FAQ, dan tombol "Pesan via WhatsApp" di halaman produk.

Gunakan format internasional, contoh 6281234567890. Nomor ini menjadi tujuan order WhatsApp dan tombol WhatsApp di storefront.

URL tujuan tombol "Tulis ulasan" di section Google Reviews homepage.

{{-- Checkout payment mode --}}

Metode Checkout

Pilih apakah checkout memakai payment gateway otomatis atau membuat pesanan melalui WhatsApp Admin.

Jika memilih Midtrans, gateway harus aktif dan credential-nya lengkap di menu Pembayaran & Ongkir (API).

Nomor tujuan order WhatsApp dapat diubah pada field Nomor WhatsApp Admin / Pesanan di bagian Informasi Toko.

Link Marketplace

Media Sosial (Footer Toko)

{{-- SEO & Browser Tab Title Settings --}}

SEO & Nama Tab Browser

Atur nama tab browser (title) website. Perubahan langsung berlaku di semua halaman.

Nama utama toko — sumber nama tab browser & fallback semua title. Mengubah ini langsung mengganti "Demo Store" bawaan.

Dipakai di footer, credit & meta social. Kosong = {{ config('app.name') }}.

Title tab halaman utama. Kosong = default SEO channel.

Contoh "— Ankesh Mart". Otomatis ditambahkan di akhir nama tab tiap halaman. Kosongkan untuk menonaktifkan.

{{-- Section Titles Homepage --}} @php $sectionKeys = [ 'new_eyebrow' => ['label' => 'New Arrivals — Eyebrow', 'placeholder' => 'Baru datang'], 'new_title' => ['label' => 'New Arrivals — Judul', 'placeholder' => 'Produk terbaru.'], 'bundle_eyebrow' => ['label' => 'Kits & Bundles — Eyebrow', 'placeholder' => 'Bundle hemat'], 'bundle_title' => ['label' => 'Kits & Bundles — Judul', 'placeholder' => 'Paket & bundle pilihan.'], 'cat_eyebrow' => ['label' => 'Kategori — Eyebrow', 'placeholder' => 'Belanja per kategori'], 'cat_title' => ['label' => 'Kategori — Judul', 'placeholder' => 'Semua kebutuhan dapur.'], 'best_eyebrow' => ['label' => 'Best Sellers — Eyebrow', 'placeholder' => 'Favorit pelanggan'], 'best_title' => ['label' => 'Best Sellers — Judul', 'placeholder' => 'Best seller.'], 'seed_eyebrow' => ['label' => 'Seeds & Superfoods — Eyebrow', 'placeholder' => 'Pilihan terbaik'], 'seed_title' => ['label' => 'Seeds & Superfoods — Judul', 'placeholder' => 'Biji & Superfood Kami.'], 'review_eyebrow' => ['label' => 'Reviews — Eyebrow', 'placeholder' => '4.8 dari 2.400+ ulasan'], 'review_title' => ['label' => 'Reviews — Judul', 'placeholder' => 'Ulasan pelanggan'], 'faq_title' => ['label' => 'FAQ — Judul', 'placeholder' => 'Pertanyaan umum.'], 'google_review_eyebrow' => ['label' => 'Google Review — Eyebrow', 'placeholder' => ''], 'google_review_title' => ['label' => 'Google Review — Judul', 'placeholder' => 'Ulasan Google Pelanggan'], 'blog_eyebrow' => ['label' => 'Blog — Eyebrow', 'placeholder' => 'Artikel & Wawasan'], 'blog_title' => ['label' => 'Blog — Judul', 'placeholder' => 'Artikel & Tips Terbaru'], ]; @endphp

Judul Section Homepage

Atur teks eyebrow (label kecil) dan judul utama setiap section di halaman utama toko.

@foreach($sectionKeys as $key => $meta)
@endforeach
{{-- Trust Badges --}} @php $trustDefaults = [ 1 => ['title' => 'Pick Up', 'desc' => 'Ambil langsung di toko'], 2 => ['title' => 'Fastest Delivery', 'desc' => 'Kirim kilat Jakarta same-day'], 3 => ['title' => 'Best Offer Zone', 'desc' => 'Harga terbaik, diskon setiap hari'], 4 => ['title' => 'Best Quality', 'desc' => '100% alami, tanpa pengawet'], ]; @endphp

Trust Badges (Bar Hijau Bawah Hero)

4 keunggulan yang muncul di bar hijau tepat di bawah hero banner. Judul & deskripsi bisa diubah.

@foreach([1,2,3,4] as $n)
Badge {{ $n }}
@endforeach
{{-- Natural Banner --}}

Banner Natural

Banner hijau "100% NATURAL · LAB CERTIFIED".

URL tujuan saat banner diklik. Kosongkan jika tidak ingin di-link.

{{-- Newsletter --}}

Newsletter

Section signup email di dekat footer.

{{-- Header Navigation Menu Settings --}}

Menu Navigasi Header (Kategori Atas)

Atur daftar menu/kategori yang tampil di bar navigasi atas website. Tulis 1 menu per baris dengan format: Nama Menu|Link_Atau_Slug.
(Jika dikosongkan, website akan otomatis menampilkan menu "Unggulan" dan seluruh kategori aktif dari menu Kategori).

Contoh: Unggulan|/Buah & Sayur|/category/buah-sayurPromo|/search?query=promo

{{-- Footer Link Columns Settings --}} @php $col1Raw = $settings['footer_col1_links'] ?? ''; $col1Rows = []; if (!empty(trim($col1Raw))) { foreach (preg_split("/\r?\n/", $col1Raw) as $line) { $line = trim($line); if ($line === '') continue; [$t, $u] = array_pad(array_map('trim', explode('|', $line, 2)), 2, ''); if ($t !== '') { $col1Rows[] = ['title' => $t, 'url' => $u]; } } } if (empty($col1Rows)) { $col1Rows = [ ['title' => 'Contact Us', 'url' => '/contact-us'], ['title' => 'Customer Service', 'url' => '/customer-service'], ['title' => "What's New", 'url' => '/whats-new'], ['title' => 'Terms of Use', 'url' => '/terms'], ['title' => 'Terms & Conditions', 'url' => '/page/terms-conditions'], ]; } $col2Raw = $settings['footer_col2_links'] ?? ''; $col2Rows = []; if (!empty(trim($col2Raw))) { foreach (preg_split("/\r?\n/", $col2Raw) as $line) { $line = trim($line); if ($line === '') continue; [$t, $u] = array_pad(array_map('trim', explode('|', $line, 2)), 2, ''); if ($t !== '') { $col2Rows[] = ['title' => $t, 'url' => $u]; } } } if (empty($col2Rows)) { $col2Rows = [ ['title' => 'Payment Policy', 'url' => '/page/payment-policy'], ['title' => 'Shipping Policy', 'url' => '/page/shipping-policy'], ['title' => 'Refund Policy', 'url' => '/page/refund-policy'], ['title' => 'Return Policy', 'url' => '/page/return-policy'], ['title' => 'FAQ', 'url' => '/faq'], ]; } @endphp

Kelola Menu & Link Footer (Bentuk List Baris)

Tambahkan baris menu atau hapus sesuai kebutuhan. Sangat mudah, cukup isi Nama Menu dan Link URL.

{{-- Footer Column 1 --}}

Kolom 1 (Kiri)

@foreach($col1Rows as $row) @endforeach
{{-- Footer Column 2 --}}

Kolom 2 (Kanan)

@foreach($col2Rows as $row) @endforeach
{{-- Layanan & Trust Badges (Editable Feature Icons) --}} @php $featuresRaw = $settings['service_features'] ?? null; $featuresList = []; if ($featuresRaw) { $featuresList = json_decode($featuresRaw, true) ?: []; } if (empty($featuresList)) { $featuresList = [ ['icon' => 'fas fa-truck-fast', 'title' => 'Gratis Ongkir', 'description' => 'Bebas ongkir untuk pesanan tertentu'], ['icon' => 'fas fa-rotate-left', 'title' => 'Garansi Produk', 'description' => 'Jaminan ganti baru bila rusak'], ['icon' => 'fas fa-shield-halved', 'title' => 'Pembayaran Aman', 'description' => 'Transaksi aman & terenkripsi'], ['icon' => 'fas fa-headset', 'title' => 'Layanan 24/7', 'description' => 'Dukungan ramah via chat & CS'], ]; } @endphp

Layanan & Jaminan Toko (Trust Badges / Service Highlights)

Atur 4 jaminan/layanan yang muncul di bagian bawah website. Anda dapat memilih icon, judul, dan deskripsi sesuai keinginan toko Anda.

@foreach($featuresList as $fIdx => $fItem)
Layanan {{ $fIdx + 1 }}
@endforeach
@endsection @section('scripts') function handleHeroBannerInput(input) { if (input.files && input.files[0]) { const file = input.files[0]; const preview = input.closest('.flex').querySelector('img'); if (preview) preview.src = URL.createObjectURL(file); } } function applyFeatureIcon(select) { const card = select.closest('.feature-card'); const input = card.querySelector('.feature-icon-input'); const preview = card.querySelector('.feature-icon-preview i'); if (select.value !== 'custom') { input.value = select.value; preview.className = select.value; } else { input.focus(); } } function updateFeatureIconInput(input) { const card = input.closest('.feature-card'); const preview = card.querySelector('.feature-icon-preview i'); preview.className = input.value || 'fas fa-shield-alt'; } function addFooterLinkRow(containerId, titleName, urlName) { const container = document.getElementById(containerId); const div = document.createElement('div'); div.className = 'flex items-center gap-2 link-row bg-white p-2 border border-gray-200 rounded-lg shadow-xs'; div.innerHTML = ` `; container.appendChild(div); } @endsection