NIM_E31222518/resources/views/barang/show.blade.php

153 lines
7.7 KiB
PHP

@extends('layouts.dashboard')
@section('content')
<div class="container mx-auto px-4 py-8">
<div class="max-w-4xl mx-auto">
@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="bg-white rounded-lg shadow-md overflow-hidden">
<div class="md:flex">
<div class="md:flex-shrink-0 md:w-1/2">
@if($barang->gambar)
<img src="{{ Storage::url($barang->gambar) }}" alt="{{ $barang->nama_barang }}"
class="w-full h-96 object-cover">
@else
<div class="w-full h-96 bg-gray-200 flex items-center justify-center">
<span class="text-gray-400 text-lg">No Image</span>
</div>
@endif
</div>
<div class="p-8 md:w-1/2">
<div class="uppercase tracking-wide text-sm text-blue-500 font-semibold">
Detail Produk
</div>
<h1 class="mt-2 text-3xl font-bold text-gray-900">
{{ $barang->nama_barang }}
</h1>
<div class="mt-4">
<div class="flex items-center justify-between mb-4">
<span class="text-2xl font-bold text-blue-600">
Rp {{ number_format($barang->harga, 0, ',', '.') }}
</span>
<span class="px-3 py-1 text-sm {{ $barang->stok > 0 ? 'bg-green-100 text-green-800' : 'bg-red-100 text-red-800' }} rounded-full">
{{ $barang->stok > 0 ? 'Stok: ' . $barang->stok : 'Stok Habis' }}
</span>
</div>
<div class="prose prose-sm text-gray-500 mb-6">
<h3 class="text-lg font-semibold text-gray-900 mb-2">Deskripsi</h3>
<p class="whitespace-pre-line">{{ $barang->deskripsi ?: 'Tidak ada deskripsi' }}</p>
</div>
@if($barang->stok > 0)
<!-- Tombol Aksi -->
<div class="flex items-center space-x-4 mb-6">
<form action="{{ route('keranjang.tambah') }}" method="POST" class="w-full">
@csrf
<input type="hidden" name="barang_id" value="{{ $barang->id }}">
<input type="hidden" name="jumlah" value="1">
<button type="submit" class="w-full flex items-center justify-center px-6 py-3 bg-[#2C7A7B] hover:bg-[#1C6B6B] text-white rounded-lg transition-colors">
<i class="fas fa-shopping-cart mr-2"></i>
Tambah ke Keranjang
</button>
</form>
</div>
<!-- <div class="border-t pt-6">
<h3 class="text-lg font-semibold text-gray-900 mb-4">Buat Pesanan</h3>
<form action="{{ route('barang.checkout') }}" method="POST">
@csrf
<input type="hidden" name="barang_id" value="{{ $barang->id }}">
<div class="mb-4">
<label for="jumlah" class="block text-sm font-medium text-gray-700 mb-2">
Jumlah Pesanan
</label>
<input type="number" name="jumlah" id="jumlah"
min="1" max="{{ $barang->stok }}" value="1"
class="w-full border-gray-300 rounded-lg shadow-sm focus:border-blue-500 focus:ring-1 focus:ring-blue-500"
required>
</div>
<div class="mb-4">
<label for="catatan" class="block text-sm font-medium text-gray-700 mb-2">
Catatan (Opsional)
</label>
<textarea name="catatan" id="catatan" rows="2"
class="w-full border-gray-300 rounded-lg shadow-sm focus:border-blue-500 focus:ring-1 focus:ring-blue-500"></textarea>
</div>
<div class="flex justify-between items-center">
<div class="text-sm text-gray-600">
Total: <span class="font-bold text-blue-600" id="total-harga">Rp {{ number_format($barang->harga, 0, ',', '.') }}</span>
</div>
<button type="submit"
class="bg-blue-500 hover:bg-blue-600 text-white font-semibold py-2 px-6 rounded-lg">
Checkout
</button>
</div>
</form>
</div> -->
@endif
</div>
</div>
</div>
</div>
<div class="mt-6 flex justify-between">
<a href="{{ route('barang.index') }}"
class="inline-flex items-center px-4 py-2 bg-gray-500 hover:bg-gray-600 text-white rounded-lg">
<svg class="w-5 h-5 mr-2" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 19l-7-7m0 0l7-7m-7 7h18" />
</svg>
Kembali
</a>
</div>
</div>
</div>
@push('scripts')
<script>
document.addEventListener('DOMContentLoaded', function() {
const hargaBarang = Number('{{ $barang->harga }}');
const inputJumlah = document.getElementById('jumlah');
const totalHarga = document.getElementById('total-harga');
function updateTotal() {
const total = hargaBarang * inputJumlah.value;
totalHarga.textContent = 'Rp ' + total.toLocaleString('id-ID');
}
inputJumlah.addEventListener('change', updateTotal);
inputJumlah.addEventListener('input', updateTotal);
// Auto-hide alerts after 3 seconds
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