@extends('admin.layout.content') @section('content')
{{-- BARIS ATAS: JUDUL SAJA --}}
point_of_sale

Kasir Point of Sale

Kelola penjualan langsung toko fisik Tanjoeng Farm dengan cepat

{{-- ALERT PESAN SUKSES / ERROR --}} @if (session('success')) @endif @if (session('error')) @endif {{-- NAVIGASI TAB KHUSUS MOBILE --}}
{{-- INTERFACE UTAMA POS KASIR --}}
{{-- SISI KIRI: DAFTAR PRODUK & PILIHAN --}}
search
@php $groupedProducts = $availableProducts->groupBy('product_id'); @endphp @forelse($groupedProducts as $productId => $packages) @php $firstPackage = $packages->first(); $totalStock = $packages->sum('stock'); $variantsData = $packages ->map(function ($pkg) { return [ 'package_id' => $pkg->package_id, 'product_name' => $pkg->product->product_name, 'weight' => $pkg->weight_in_kg, 'unit' => $pkg->unit->unit_abbreviation, 'price' => (int) $pkg->price, 'stock' => (int) $pkg->stock, ]; }) ->values(); $searchKeywords = strtolower($firstPackage->product->product_name); $productMedia = $firstPackage->product->media ?? collect(); $imageOnlyMedia = $productMedia->filter(function ($media) { $path = $media->file_url ?? $media->file_name; if (!$path) { return false; } $ext = strtolower(pathinfo($path, PATHINFO_EXTENSION)); return in_array($ext, ['jpg', 'jpeg', 'png', 'gif', 'webp', 'svg', 'bmp']); }); $mainImageMedia = $imageOnlyMedia->where('is_main', true)->first() ?? $imageOnlyMedia->first(); $imageUrl = null; if ($mainImageMedia) { $pathGambar = $mainImageMedia->file_url ?? $mainImageMedia->file_name; if ($pathGambar) { if (preg_match('/^https?:\/\//', $pathGambar)) { $imageUrl = $pathGambar; } else { $cleanPath = ltrim($pathGambar, '/'); if (!str_starts_with($cleanPath, 'storage/')) { if (!str_contains($cleanPath, 'product/')) { $cleanPath = 'product/' . $cleanPath; } $cleanPath = 'storage/' . $cleanPath; } $imageUrl = asset($cleanPath); } } } @endphp
@if ($imageUrl) {{ $firstPackage->product->product_name }} @else
eco
@endif @if($totalStock > 0) Stok: {{ $totalStock }} @else HABIS @endif
{{ $firstPackage->product->product_name }}
@if ($packages->count() == 1) {{ $firstPackage->weight_in_kg }} {{ $firstPackage->unit->unit_abbreviation }} Rp {{ number_format($firstPackage->price, 0, ',', '.') }} @else {{ $packages->count() }} Pilihan Min Rp {{ number_format($packages->min('price'), 0, ',', '.') }} @endif
@empty
inventory_2 Belum ada varian produk dengan stok tersedia.
@endforelse
{{-- SISI KANAN: KERANJANG BELANJA & PEMBAYARAN --}}
shopping_basket Keranjang Belanja
@csrf
Keranjang kosong. Klik produk di sebelah kiri untuk menambahkan.
Total Tagihan Rp 0
Rp
Uang Kembalian
Rp 0
info Pembayaran akan diproses. Tersedia Non Tunai, GoPay, OVO, Transfer Bank & lainnya.
{{-- FLOATING BOTTOM BAR MOBILE --}}
0 Produk Terpilih Rp 0
{{-- MODAL INTERAKTIF: PILIH VARIAN SATUAN PRODUK --}} {{-- MODAL PEMBAYARAN MIDTRANS dengan tema hijau --}} {{-- Midtrans Snap.js (Sandbox) --}} @endsection