@extends('layouts.app') @section('title', 'Dashboard') @section('content')
@if (session('selected_event_id') && isset($selectedEvent))

Event Terpilih: {{ $selectedEvent->nama_kegiatan_aktif }}

@php $currentUser = auth()->user(); @endphp @if(!$currentUser || $currentUser->role !== 'peserta') Pilih Event Lain @endif
@php $currentHomeUser = auth()->user(); @endphp @if($currentHomeUser && $currentHomeUser->role === 'administrator')
Total Pendaftar {{ $metrics['total'] ?? 0 }}
Belum Verifikasi {{ $metrics['belum_verifikasi'] ?? 0 }}
Sedang Diverifikasi {{ $metrics['sedang_diverifikasi'] ?? 0 }}
Verifikasi Gagal {{ $metrics['verifikasi_gagal'] ?? 0 }}
Verifikasi Berhasil {{ $metrics['verifikasi_berhasil'] ?? 0 }}
@endif

Jadwal Event

  • Nama Kegiatan: {{ $selectedEvent->nama_kegiatan_aktif }}
  • Tempat Pelaksanaan: {{ $selectedEvent->tempat_pelaksanaan ?? '-' }}
  • Pelaksanaan: {{ optional($selectedEvent->waktu_pelaksanaan_mulai)->translatedFormat('d F Y') ?? '-' }} - {{ optional($selectedEvent->waktu_pelaksanaan_selesai)->translatedFormat('d F Y') ?? '-' }}
  • Pendaftaran: {{ optional($selectedEvent->pendaftaran_mulai)->translatedFormat('d F Y H:i') ?? '-' }} - {{ optional($selectedEvent->pendaftaran_selesai)->translatedFormat('d F Y H:i') ?? '-' }}
  • Verifikasi Tahap 1: {{ optional($selectedEvent->verif1_mulai)->translatedFormat('d F Y H:i') ?? '-' }} - {{ optional($selectedEvent->verif1_selesai)->translatedFormat('d F Y H:i') ?? '-' }}
  • Verifikasi Tahap 2: {{ optional($selectedEvent->verif2_mulai)->translatedFormat('d F Y H:i') ?? '-' }} - {{ optional($selectedEvent->verif2_selesai)->translatedFormat('d F Y H:i') ?? '-' }}
  • Masa Sanggah: {{ optional($selectedEvent->sanggah_mulai)->translatedFormat('d F Y H:i') ?? '-' }} - {{ optional($selectedEvent->sanggah_selesai)->translatedFormat('d F Y H:i') ?? '-' }}
  • Pengumuman Verifikasi: {{ optional($selectedEvent->pengumuman_verifikasi)->translatedFormat('d F Y H:i') ?? '-' }}
  • Technical Meeting: {{ optional($selectedEvent->technical_meeting)->translatedFormat('d F Y H:i') ?? '-' }}
{{-- Inbox pengumuman untuk event terpilih --}} @if(isset($announcements) && $announcements->count())

Inbox Pengumuman

{{-- Link untuk melihat semua pengumuman --}} Lihat Semua
@foreach($announcements as $announcement)
{{ $announcement->title }}

{!! \Illuminate\Support\Str::limit(strip_tags($announcement->content), 150) !!}

{{ $announcement->created_at->format('d M Y H:i') }} @if(!$loop->last)
@endif
@endforeach
@endif

Daftar Peserta

@php $currentUser = auth()->user(); @endphp @forelse($eventParticipants as $participant) @empty @endforelse
# Nama Peserta Desa Cabang Golongan Status Verifikasi Permintaan Data Alasan Penolakan Aksi
{{ $loop->iteration }} {{ $participant->user->name ?? '-' }} {{ $participant->user->desa->nama ?? '-' }} {{ $participant->cabang->nama ?? '-' }} {{ $participant->golongan->nama ?? '-' }} @switch($participant->status_verifikasi) @case('belum_verifikasi') Belum Verifikasi @break @case('sedang_diverifikasi') Sedang Diverifikasi @break @case('verifikasi_gagal') Verifikasi Gagal @break @case('verifikasi_berhasil') Verifikasi Berhasil @break @default - @endswitch {{ $participant->request_message ?? '—' }} {{-- Tampilkan alasan verifikasi gagal untuk peserta --}} {{ $participant->catatan_verifikasi ?? '—' }} @php // Tentukan hak aksi berdasarkan peran dan asal desa $canVerify = false; $canReject = false; $canUpload = false; $canEdit = false; $canRequestChange = false; // Administrator: semua hak if ($currentUser->role === 'administrator') { $canVerify = true; $canReject = true; $canEdit = true; if ($participant->status_verifikasi !== 'verifikasi_berhasil') { $canRequestChange = true; } } elseif ($currentUser->role === 'admin_desa' && $participant->user && $participant->user->desa_id === $currentUser->desa_id) { // Admin desa tidak dapat memverifikasi/menolak // Mereka hanya dapat mengedit peserta dan meminta perubahan sebelum verifikasi berhasil if ($participant->status_verifikasi !== 'verifikasi_berhasil') { $canEdit = true; $canRequestChange = true; } // Admin desa dapat mengunggah berkas untuk peserta dari desanya if ($participant->status_verifikasi !== 'verifikasi_berhasil') { $canUpload = true; } } // Peserta dapat mengunggah berkas sendiri jika belum verifikasi atau verifikasi gagal if ($currentUser->role === 'peserta' && $participant->user && $participant->user->id === $currentUser->id) { if (in_array($participant->status_verifikasi, ['belum_verifikasi', 'verifikasi_gagal'])) { $canUpload = true; $canRequestChange = true; } } // Administrator juga dapat mengunggah berkas jika status belum berhasil if ($currentUser->role === 'administrator' && $participant->status_verifikasi !== 'verifikasi_berhasil') { $canUpload = true; } // Batasi aksi berdasarkan status event: jika bukan Aktif, non-administrator tidak dapat melakukan aksi if (isset($selectedEventStatus) && $selectedEventStatus !== 'Aktif' && $currentUser->role !== 'administrator') { $canUpload = false; $canRequestChange = false; $canEdit = false; $canVerify = false; $canReject = false; } @endphp {{-- Tampilkan tombol upload berkas untuk peserta --}} @if($canUpload) Upload Berkas @endif {{-- Peserta atau admin dapat meminta perubahan data jika diizinkan --}} @if($canRequestChange) Minta Perubahan @endif {{-- Admin dan operator dapat mengedit data peserta sebelum verifikasi berhasil --}} @if($canEdit) Edit Data @endif {{-- Verifikasi dan penolakan oleh admin/operator ketika status sedang diverifikasi --}} @if($participant->status_verifikasi === 'sedang_diverifikasi') @if($canVerify)
@csrf
@endif @if($canReject)
@csrf
@endif @endif {{-- Jika tidak ada tindakan tersedia, tampilkan strip --}} @if(!$canUpload && !$canRequestChange && !$canEdit && $participant->status_verifikasi !== 'sedang_diverifikasi') — @endif
Belum ada peserta untuk event ini.
@else @php $u = auth()->user(); @endphp @if($u && $u->role === 'peserta')
Anda belum terdaftar pada event aktif mana pun.
@else

Daftar Event

@if(auth()->user()->role === 'administrator') Buat Event Baru @endif
@forelse($filteredEvents as $event)
{{ $event->nama_kegiatan_aktif }}

Pendaftaran:

{{ optional($event->pendaftaran_mulai)->translatedFormat('d M Y H:i') ?? '-' }} – {{ optional($event->pendaftaran_selesai)->translatedFormat('d M Y H:i') ?? '-' }}

Status: {{ $event->status() }}

@php $role = auth()->user()->role; $status = $event->status(); $btnLabel = 'Kelola Event'; if ($role !== 'administrator') { // Untuk operator desa dan peserta: label bergantung pada status event if ($status === 'Aktif') { $btnLabel = 'Masuk Event'; } else { $btnLabel = 'Lihat Event'; } } @endphp {{ $btnLabel }}
@empty

Belum ada event untuk tahun ini.

@endforelse
@endif @endif
@endsection