95 lines
4.3 KiB
PHP
95 lines
4.3 KiB
PHP
@extends('layouts.dashboard')
|
|
|
|
@section('content')
|
|
<div class="container px-4 py-8 mx-auto">
|
|
<div class="flex items-center justify-between mb-6">
|
|
<h1 class="text-2xl font-bold text-gray-800">Daftar Barang</h1>
|
|
<a href="{{ route('keranjang.index') }}" class="flex items-center px-4 py-2 text-sm font-medium text-white bg-[#2C7A7B] rounded-md hover:bg-[#1C6B6B]">
|
|
<i class="fas fa-shopping-cart mr-2"></i>
|
|
Keranjang Belanja
|
|
</a>
|
|
</div>
|
|
|
|
@if(session('success'))
|
|
<div class="relative px-4 py-3 mb-4 text-green-700 bg-green-100 border border-green-400 rounded" id="success-alert">
|
|
<span class="block sm:inline">{{ session('success') }}</span>
|
|
<button type="button" class="absolute top-0 right-0 px-4 py-3" onclick="this.parentElement.style.display='none'">
|
|
<i class="fas fa-times"></i>
|
|
</button>
|
|
</div>
|
|
@endif
|
|
|
|
@if(session('error'))
|
|
<div class="relative px-4 py-3 mb-4 text-red-700 bg-red-100 border border-red-400 rounded" id="error-alert">
|
|
<span class="block sm:inline">{{ session('error') }}</span>
|
|
<button type="button" class="absolute top-0 right-0 px-4 py-3" onclick="this.parentElement.style.display='none'">
|
|
<i class="fas fa-times"></i>
|
|
</button>
|
|
</div>
|
|
@endif
|
|
|
|
<div class="grid grid-cols-1 gap-4 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4">
|
|
@foreach($barang as $item)
|
|
<div class="overflow-hidden bg-white rounded-lg shadow-md">
|
|
@if($item->gambar)
|
|
<img src="{{ Storage::url($item->gambar) }}" alt="{{ $item->nama_barang }}" class="object-cover w-full h-48">
|
|
@else
|
|
<div class="flex items-center justify-center w-full h-48 bg-gray-200">
|
|
<span class="text-gray-400">No Image</span>
|
|
</div>
|
|
@endif
|
|
|
|
<div class="p-4">
|
|
<h2 class="mb-2 text-xl font-semibold text-gray-800">{{ $item->nama_barang }}</h2>
|
|
<p class="mb-2 text-gray-600 line-clamp-2">{{ $item->deskripsi ?: 'Tidak ada deskripsi' }}</p>
|
|
<div class="flex items-center justify-between mb-4">
|
|
<span class="text-lg font-bold text-blue-600">Rp {{ number_format($item->harga, 0, ',', '.') }}</span>
|
|
<span class="text-sm text-gray-500">Stok: {{ $item->stok }}</span>
|
|
</div>
|
|
<div class="mb-4">
|
|
<span class="px-2 py-1 text-xs font-semibold text-[#2C7A7B] bg-[#B5EAE0] rounded-full">
|
|
{{ $item->kategori }}
|
|
</span>
|
|
</div>
|
|
|
|
<div class="flex justify-between space-x-2">
|
|
<a href="{{ route('barang.show', $item) }}" class="flex-1 py-2 text-center text-white bg-blue-500 rounded hover:bg-blue-600">
|
|
Detail
|
|
</a>
|
|
|
|
@if($item->stok > 0)
|
|
<form action="{{ route('keranjang.tambah') }}" method="POST" class="flex-1">
|
|
@csrf
|
|
<input type="hidden" name="barang_id" value="{{ $item->id }}">
|
|
<input type="hidden" name="jumlah" value="1">
|
|
<button type="submit" class="w-full py-2 text-center text-white bg-[#2C7A7B] rounded hover:bg-[#1C6B6B]">
|
|
<i class="fas fa-cart-plus mr-1"></i> Keranjang
|
|
</button>
|
|
</form>
|
|
@else
|
|
<button disabled class="flex-1 py-2 text-center text-white bg-gray-400 rounded cursor-not-allowed">
|
|
Stok Habis
|
|
</button>
|
|
@endif
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@endforeach
|
|
</div>
|
|
</div>
|
|
|
|
@push('scripts')
|
|
<script>
|
|
// Auto-hide alerts after 3 seconds
|
|
document.addEventListener('DOMContentLoaded', function() {
|
|
setTimeout(() => {
|
|
const successAlert = document.getElementById('success-alert');
|
|
const errorAlert = document.getElementById('error-alert');
|
|
|
|
if (successAlert) successAlert.style.display = 'none';
|
|
if (errorAlert) errorAlert.style.display = 'none';
|
|
}, 3000);
|
|
});
|
|
</script>
|
|
@endpush
|
|
@endsection |