This commit is contained in:
Saufi
2026-06-24 18:30:00 +08:00
commit c0c3d7c09c
122 changed files with 16321 additions and 0 deletions

View File

@@ -0,0 +1,70 @@
@extends('layouts.app')
@section('title', 'Dashboard')
@section('content')
@php
$cards = [
['Jumlah Anggota', $stats['total_members'], 'bg-teal', 'bi-people-fill'],
['Jumlah Hadir', $stats['hadir'], 'bg-green', 'bi-person-check-fill'],
['Belum Hadir', $stats['belum_hadir'], 'bg-dark2', 'bi-person-dash-fill'],
['Jumlah Hadiah', $stats['total_prizes'], 'bg-cyan', 'bi-gift-fill'],
['Hadiah Belum Dicabut', $stats['prizes_belum'], 'bg-gold', 'bi-hourglass-split'],
['Hadiah Sudah Dicabut', $stats['prizes_disahkan'], 'bg-teal', 'bi-check2-circle'],
['Pemenang Disahkan', $stats['pemenang_disahkan'], 'bg-green', 'bi-trophy-fill'],
['Cabutan Dibatalkan', $stats['cabutan_dibatalkan'], 'bg-red', 'bi-x-octagon-fill'],
];
@endphp
<div class="row g-3 mb-4">
@foreach($cards as [$label, $value, $bg, $icon])
<div class="col-6 col-lg-3">
<div class="stat-card {{ $bg }}">
<i class="bi {{ $icon }} ico"></i>
<div class="label">{{ $label }}</div>
<div class="value">{{ number_format($value) }}</div>
</div>
</div>
@endforeach
</div>
<div class="row g-3">
<div class="col-lg-7">
<div class="card h-100">
<div class="card-header bg-white fw-bold"><i class="bi bi-graph-up-arrow text-teal"></i> Kemajuan Event</div>
<div class="card-body">
@php
$hadirPct = $stats['total_members'] ? round($stats['hadir'] / $stats['total_members'] * 100) : 0;
$cabutPct = $stats['total_prizes'] ? round($stats['prizes_disahkan'] / $stats['total_prizes'] * 100) : 0;
@endphp
<label class="small fw-semibold">Kehadiran ({{ $stats['hadir'] }}/{{ $stats['total_members'] }})</label>
<div class="progress mb-3" style="height:22px;">
<div class="progress-bar bg-success fw-bold" style="width: {{ $hadirPct }}%">{{ $hadirPct }}%</div>
</div>
<label class="small fw-semibold">Hadiah Disahkan ({{ $stats['prizes_disahkan'] }}/{{ $stats['total_prizes'] }})</label>
<div class="progress" style="height:22px;">
<div class="progress-bar fw-bold" style="width: {{ $cabutPct }}%; background:var(--koipb-teal)">{{ $cabutPct }}%</div>
</div>
</div>
</div>
</div>
<div class="col-lg-5">
<div class="card h-100">
<div class="card-header bg-white fw-bold"><i class="bi bi-trophy text-teal"></i> Pemenang Terkini</div>
<div class="card-body p-0">
@forelse($recentWinners as $w)
<div class="d-flex align-items-center gap-3 px-3 py-2 border-bottom">
<span class="badge bg-gold rounded-pill">#{{ $w->prize->draw_order }}</span>
<div class="flex-grow-1">
<div class="fw-semibold">{{ $w->member->nama }}</div>
<div class="small text-muted">{{ $w->prize->nama_hadiah }}</div>
</div>
<i class="bi bi-trophy-fill" style="color:var(--koipb-gold)"></i>
</div>
@empty
<div class="text-center text-muted py-4"><i class="bi bi-hourglass"></i> Belum ada pemenang disahkan.</div>
@endforelse
</div>
</div>
</div>
</div>
@endsection