NIM_E31222518/resources/views/admin/banners/edit.blade.php

123 lines
7.7 KiB
PHP

@extends('layouts.admin')
@section('content')
<div class="container px-6 mx-auto grid">
<h2 class="my-6 text-2xl font-semibold text-gray-700">
Edit Banner
</h2>
<div class="px-4 py-3 mb-6 bg-white rounded-lg shadow-md">
<form action="{{ route('admin.banners.update', $banner) }}" method="POST" enctype="multipart/form-data">
@csrf
@method('PUT')
<div class="grid grid-cols-1 md:grid-cols-2 gap-6">
<!-- Judul Banner -->
<div>
<label for="judul" class="block text-sm font-medium text-gray-700 mb-1">Judul Banner <span class="text-red-500">*</span></label>
<input type="text" name="judul" id="judul" value="{{ old('judul', $banner->judul) }}" class="w-full rounded-md border-gray-300 shadow-sm focus:border-blue-500 focus:ring focus:ring-blue-200" required>
@error('judul')
<p class="mt-1 text-sm text-red-600">{{ $message }}</p>
@enderror
</div>
<!-- URL Tujuan -->
<div>
<label for="url" class="block text-sm font-medium text-gray-700 mb-1">URL Tujuan (opsional)</label>
<input type="url" name="url" id="url" value="{{ old('url', $banner->url) }}" class="w-full rounded-md border-gray-300 shadow-sm focus:border-blue-500 focus:ring focus:ring-blue-200" placeholder="https://">
@error('url')
<p class="mt-1 text-sm text-red-600">{{ $message }}</p>
@enderror
</div>
<!-- Deskripsi -->
<div class="md:col-span-2">
<label for="deskripsi" class="block text-sm font-medium text-gray-700 mb-1">Deskripsi (opsional)</label>
<textarea name="deskripsi" id="deskripsi" rows="3" class="w-full rounded-md border-gray-300 shadow-sm focus:border-blue-500 focus:ring focus:ring-blue-200">{{ old('deskripsi', $banner->deskripsi) }}</textarea>
@error('deskripsi')
<p class="mt-1 text-sm text-red-600">{{ $message }}</p>
@enderror
</div>
<!-- Preview Gambar Saat Ini -->
<div class="md:col-span-2">
<label class="block text-sm font-medium text-gray-700 mb-2">Gambar Banner Saat Ini</label>
<div class="mb-3">
<img src="{{ Storage::url($banner->gambar) }}" alt="{{ $banner->judul }}" class="h-40 object-cover rounded border border-gray-300">
</div>
</div>
<!-- Gambar Banner -->
<div class="md:col-span-2">
<label for="gambar" class="block text-sm font-medium text-gray-700 mb-1">Ganti Gambar Banner (opsional)</label>
<input type="file" name="gambar" id="gambar" class="w-full rounded-md border-gray-300 shadow-sm focus:border-blue-500 focus:ring focus:ring-blue-200" accept="image/*">
<p class="text-xs text-gray-500 mt-1">Format: JPG, PNG. Maksimal 2MB. Biarkan kosong jika tidak ingin mengganti gambar</p>
@error('gambar')
<p class="mt-1 text-sm text-red-600">{{ $message }}</p>
@enderror
</div>
<!-- Urutan -->
<div>
<label for="urutan" class="block text-sm font-medium text-gray-700 mb-1">Urutan</label>
<input type="number" name="urutan" id="urutan" value="{{ old('urutan', $banner->urutan) }}" min="1" class="w-full rounded-md border-gray-300 shadow-sm focus:border-blue-500 focus:ring focus:ring-blue-200">
<p class="text-xs text-gray-500 mt-1">Urutan menentukan posisi banner (angka kecil tampil lebih dulu)</p>
@error('urutan')
<p class="mt-1 text-sm text-red-600">{{ $message }}</p>
@enderror
</div>
<!-- Status -->
<div>
<label class="block text-sm font-medium text-gray-700 mb-1">Status</label>
<div class="mt-2">
<label class="inline-flex items-center">
<input type="radio" name="aktif" value="1" class="rounded-full border-gray-300 text-blue-600 shadow-sm focus:border-blue-500 focus:ring focus:ring-blue-200" {{ old('aktif', $banner->aktif) ? 'checked' : '' }}>
<span class="ml-2 text-sm text-gray-700">Aktif</span>
</label>
<label class="inline-flex items-center ml-6">
<input type="radio" name="aktif" value="0" class="rounded-full border-gray-300 text-blue-600 shadow-sm focus:border-blue-500 focus:ring focus:ring-blue-200" {{ old('aktif', $banner->aktif) ? '' : 'checked' }}>
<span class="ml-2 text-sm text-gray-700">Nonaktif</span>
</label>
</div>
@error('aktif')
<p class="mt-1 text-sm text-red-600">{{ $message }}</p>
@enderror
</div>
</div>
<!-- Periode Aktif -->
<div class="mt-6">
<h3 class="text-md font-medium text-gray-800 mb-2">Periode Aktif (opsional)</h3>
<p class="text-sm text-gray-600 mb-2">Kosongkan kedua field jika banner tidak memiliki batasan waktu</p>
<div class="grid grid-cols-1 md:grid-cols-2 gap-6">
<div>
<label for="tanggal_mulai" class="block text-sm font-medium text-gray-700 mb-1">Tanggal Mulai</label>
<input type="datetime-local" name="tanggal_mulai" id="tanggal_mulai" value="{{ old('tanggal_mulai', $banner->tanggal_mulai ? $banner->tanggal_mulai->format('Y-m-d\TH:i') : '') }}" class="w-full rounded-md border-gray-300 shadow-sm focus:border-blue-500 focus:ring focus:ring-blue-200">
@error('tanggal_mulai')
<p class="mt-1 text-sm text-red-600">{{ $message }}</p>
@enderror
</div>
<div>
<label for="tanggal_selesai" class="block text-sm font-medium text-gray-700 mb-1">Tanggal Selesai</label>
<input type="datetime-local" name="tanggal_selesai" id="tanggal_selesai" value="{{ old('tanggal_selesai', $banner->tanggal_selesai ? $banner->tanggal_selesai->format('Y-m-d\TH:i') : '') }}" class="w-full rounded-md border-gray-300 shadow-sm focus:border-blue-500 focus:ring focus:ring-blue-200">
@error('tanggal_selesai')
<p class="mt-1 text-sm text-red-600">{{ $message }}</p>
@enderror
</div>
</div>
</div>
<div class="mt-8 flex justify-end">
<a href="{{ route('admin.banners.index') }}" class="px-4 py-2 mr-2 text-sm font-medium leading-5 text-gray-700 transition-colors duration-150 bg-white border border-gray-300 rounded-lg active:bg-gray-100 hover:bg-gray-100 focus:outline-none focus:shadow-outline-gray">
Kembali
</a>
<button type="submit" class="px-4 py-2 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-lg active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple">
Simpan Perubahan
</button>
</div>
</form>
</div>
</div>
@endsection