123 lines
7.7 KiB
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
|