NIM_E31222518/resources/views/barang/index.blade.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