project-ta/.history/resources/views/admin/informasi/edit.blade_20260521003536.php

313 lines
9.5 KiB
PHP

@extends('layouts.app')
@section('content')
<div class="ei-wrapper">
{{-- HERO --}}
<div class="ei-hero">
<div class="ei-hero-icon"><i class="fas fa-bullhorn"></i></div>
<div>
<div class="ei-hero-title">Edit Informasi</div>
<div class="ei-hero-sub">Perbarui informasi yang akan ditampilkan ke warga</div>
</div>
</div>
<div class="ei-card">
<div class="ei-card-header">
<div class="ei-header-icon"><i class="fas fa-edit"></i></div>
<div>
<div class="ei-card-title">Form Edit Informasi</div>
<div class="ei-card-sub">Lengkapi semua field yang diperlukan</div>
</div>
</div>
<form action="{{ route('informasi.update', $data->id) }}" method="POST"
enctype="multipart/form-data" class="ei-form">
@csrf
@method('PUT')
{{-- SECTION: KONTEN --}}
<div class="ei-section-label">
<i class="fas fa-file-alt me-1"></i> Konten Informasi
</div>
<div class="ei-field">
<label class="ei-label"><i class="fas fa-heading me-1"></i> Judul Informasi</label>
<input type="text" name="judul" class="ei-input"
value="{{ $data->judul }}" placeholder="Masukkan judul informasi">
</div>
<div class="ei-field">
<label class="ei-label"><i class="fas fa-align-left me-1"></i> Isi Informasi</label>
<textarea name="isi" class="ei-input ei-textarea"
rows="4" placeholder="Tulis isi informasi...">{{ $data->isi }}</textarea>
</div>
{{-- SECTION: DETAIL --}}
<div class="ei-section-label ei-section-label--mt">
<i class="fas fa-info-circle me-1"></i> Detail Informasi
</div>
<div class="ei-grid-2">
<div class="ei-field">
<label class="ei-label"><i class="fas fa-calendar-alt me-1"></i> Tanggal</label>
<input type="date" name="tanggal" class="ei-input"
value="{{ $data->tanggal }}">
</div>
<div class="ei-field">
<label class="ei-label"><i class="fas fa-tag me-1"></i> Kategori</label>
<select name="kategori" class="ei-input ei-select">
<option {{ $data->kategori == 'Umum' ? 'selected' : '' }}>Umum</option>
<option {{ $data->kategori == 'Iuran' ? 'selected' : '' }}>Iuran</option>
<option {{ $data->kategori == 'Keamanan' ? 'selected' : '' }}>Keamanan</option>
<option {{ $data->kategori == 'Pengumuman' ? 'selected' : '' }}>Pengumuman</option>
</select>
</div>
<div class="ei-field">
<label class="ei-label"><i class="fas fa-toggle-on me-1"></i> Status</label>
<label class="ei-toggle-wrap">
<input type="checkbox" name="is_penting"
{{ $data->is_penting ? 'checked' : '' }}
class="ei-checkbox" id="isPenting">
<div class="ei-toggle-box">
<div class="ei-toggle-thumb"></div>
</div>
<span class="ei-toggle-label">Tandai sebagai Penting</span>
</label>
</div>
<div class="ei-field">
<label class="ei-label"><i class="fas fa-image me-1"></i> Upload Gambar</label>
@if($data->gambar ?? false)
<img id="imgPreview"
src="{{ asset('informasi/' . $data->gambar) }}"
class="ei-img-preview mb-2">
@else
<img id="imgPreview" src="" class="ei-img-preview mb-2" style="display:none;">
@endif
<input type="file" name="gambar" class="ei-input ei-file"
accept="image/*" onchange="previewImg(this)">
<div class="ei-file-hint">JPG, PNG maks. 2MB</div>
</div>
</div>
{{-- FOOTER --}}
<div class="ei-footer">
<a href="{{ route('informasi.index') }}" class="ei-btn-back">
<i class="fas fa-arrow-left me-1"></i> Kembali
</a>
<button type="submit" class="ei-btn-save">
<i class="fas fa-save me-1"></i> Simpan Perubahan
</button>
</div>
</form>
</div>
</div>
<style>
*, *::before, *::after { box-sizing: border-box; }
.ei-wrapper { padding: 4px 0 40px; }
/* HERO */
.ei-hero {
display: flex;
align-items: center;
gap: 16px;
background: linear-gradient(135deg, #064e3b 0%, #065f46 50%, #10b981 100%);
border-radius: 16px;
padding: 24px 28px;
margin-bottom: 24px;
box-shadow: 0 4px 20px rgba(6,78,59,0.2);
}
.ei-hero-icon {
width: 48px; height: 48px;
background: rgba(255,255,255,0.15);
border: 1px solid rgba(255,255,255,0.2);
border-radius: 13px;
display: flex; align-items: center; justify-content: center;
font-size: 20px; color: #fff; flex-shrink: 0;
}
.ei-hero-title {
font-size: 19px; font-weight: 800; color: #fff; margin-bottom: 3px;
}
.ei-hero-sub { font-size: 13px; color: rgba(255,255,255,0.7); }
/* CARD */
.ei-card {
background: #fff;
border-radius: 18px;
border: 1px solid #e5e7eb;
box-shadow: 0 4px 20px rgba(0,0,0,0.06);
overflow: hidden;
}
.ei-card-header {
display: flex; align-items: center; gap: 14px;
padding: 20px 28px;
border-bottom: 1px solid #f3f4f6;
background: #f9fafb;
}
.ei-header-icon {
width: 38px; height: 38px;
background: #ecfdf5; color: #064e3b;
border: 1px solid #d1fae5;
border-radius: 10px;
display: flex; align-items: center; justify-content: center;
font-size: 15px; flex-shrink: 0;
}
.ei-card-title { font-size: 15px; font-weight: 800; color: #1f2937; }
.ei-card-sub { font-size: 12px; color: #9ca3af; margin-top: 2px; }
/* FORM */
.ei-form { padding: 24px 28px; }
.ei-section-label {
font-size: 11.5px; font-weight: 700;
color: #064e3b; text-transform: uppercase;
letter-spacing: 0.7px; margin-bottom: 16px;
display: flex; align-items: center; gap: 4px;
}
.ei-section-label--mt { margin-top: 24px; }
.ei-grid-2 {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 16px;
}
.ei-field {
display: flex; flex-direction: column; gap: 6px;
margin-bottom: 16px;
}
.ei-grid-2 .ei-field { margin-bottom: 0; }
.ei-label { font-size: 12.5px; font-weight: 600; color: #4b5563; }
.ei-input {
width: 100%; padding: 10px 14px;
border: 1.5px solid #e5e7eb;
border-radius: 10px;
font-size: 13.5px; color: #1f2937;
background: #fafafa;
outline: none;
transition: all 0.2s;
font-family: inherit;
}
.ei-input:focus {
border-color: #10b981;
box-shadow: 0 0 0 3px rgba(16,185,129,0.12);
background: #fff;
}
.ei-textarea { resize: vertical; min-height: 110px; }
.ei-select { cursor: pointer; }
.ei-file { padding: 8px 14px; cursor: pointer; }
.ei-file-hint { font-size: 11.5px; color: #9ca3af; }
.ei-img-preview {
width: 120px; height: 80px;
object-fit: cover;
border-radius: 10px;
border: 2px solid #d1fae5;
display: block;
}
/* TOGGLE */
.ei-toggle-wrap {
display: flex; align-items: center; gap: 10px;
cursor: pointer; padding: 10px 14px;
border: 1.5px solid #e5e7eb;
border-radius: 10px; background: #fafafa;
transition: all 0.2s;
}
.ei-toggle-wrap:hover { border-color: #10b981; background: #f0fdf4; }
.ei-checkbox { display: none; }
.ei-toggle-box {
width: 40px; height: 22px;
background: #d1d5db;
border-radius: 100px;
position: relative;
transition: background 0.2s;
flex-shrink: 0;
}
.ei-toggle-thumb {
position: absolute;
top: 3px; left: 3px;
width: 16px; height: 16px;
background: #fff;
border-radius: 50%;
transition: transform 0.2s;
box-shadow: 0 1px 4px rgba(0,0,0,0.2);
}
.ei-checkbox:checked + .ei-toggle-box {
background: #10b981;
}
.ei-checkbox:checked + .ei-toggle-box .ei-toggle-thumb {
transform: translateX(18px);
}
.ei-toggle-label { font-size: 13px; font-weight: 600; color: #374151; }
/* FOOTER */
.ei-footer {
display: flex; justify-content: flex-end; align-items: center;
gap: 10px; margin-top: 28px;
padding-top: 20px;
border-top: 1px solid #f3f4f6;
}
.ei-btn-back {
padding: 10px 20px;
background: #f3f4f6; color: #4b5563;
border: none; border-radius: 10px;
font-size: 13px; font-weight: 600;
text-decoration: none;
transition: all 0.2s;
}
.ei-btn-back:hover { background: #e5e7eb; color: #1f2937; }
.ei-btn-save {
padding: 10px 24px;
background: linear-gradient(135deg, #064e3b, #10b981);
color: #fff; border: none; border-radius: 10px;
font-size: 13.5px; font-weight: 700;
cursor: pointer; font-family: inherit;
box-shadow: 0 4px 14px rgba(6,78,59,0.25);
transition: all 0.2s;
}
.ei-btn-save:hover {
opacity: 0.9; transform: translateY(-1px);
}
</style>
<script>
function previewImg(input) {
if (input.files && input.files[0]) {
const preview = document.getElementById('imgPreview');
preview.src = URL.createObjectURL(input.files[0]);
preview.style.display = 'block';
}
}
</script>
@endsection