71 lines
3.4 KiB
PHP
71 lines
3.4 KiB
PHP
@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
|