@extends('frontend.layouts.app') @section('title', 'Verifikasi Pemilihan — ' . $event->name) @section('meta_description', trim(strip_tags($event->description)) ?: 'Halaman verifikasi publik untuk pemilihan ' . $event->name . '. Cek transparansi dan integritas data suara.') @section('page-style') @endsection @section('content')
Kembali ke Beranda
Pusat Verifikasi Pemilihan

{{ $event->name }}

@php $statusLabel = match($event->status) { 'draft' => ['label' => 'Draft', 'icon' => 'ph:pencil-line', 'class' => 'bg-gray-100 text-gray-700 border border-gray-200'], 'published' => ['label' => 'Dipublikasikan', 'icon' => 'ph:paper-plane-tilt', 'class' => 'bg-primary/10 text-primary border border-primary/20'], 'active' => ['label' => 'Sedang Berlangsung', 'icon' => 'ph:play-circle', 'class' => 'bg-success/10 text-success border border-success/20'], 'closed' => ['label' => 'Ditutup', 'icon' => 'ph:stop-circle', 'class' => 'bg-warning/10 text-yellow-700 border border-warning/20'], 'archived' => ['label' => 'Diarsip', 'icon' => 'ph:archive', 'class' => 'bg-slate-200 text-slate-700 border border-slate-300'], default => ['label' => ucfirst($event->status), 'icon' => 'ph:info', 'class' => 'bg-gray-100 text-gray-700 border border-gray-200'], }; @endphp {{ $statusLabel['label'] }} @if($event->starts_at) Mulai: {{ $event->starts_at->format('d M Y, H:i') }} WIB @endif @if($event->ends_at) Selesai: {{ $event->ends_at->format('d M Y, H:i') }} WIB @endif
@php $score = 0; if ($integrityIndicators['event_locked']) $score += 20; if ($integrityIndicators['candidates_locked']) $score += 20; if ($integrityIndicators['voters_locked']) $score += 20; if ($integrityIndicators['vote_count_valid']) $score += 20; if ($hashStats['total_votes'] === 0 || $hashStats['chain_valid']) $score += 20; $dashoffset = 440 - (440 * $score) / 100; @endphp

Integrity Score

Skor Kepercayaan Pemilihan

{{ $score }} %
@if($score === 100)
Fully Secured & Verified
@elseif($score >= 60)
Partially Verified
@else
Integrity Compromised
@endif

Status Integritas Pemilihan

Konfigurasi Event {{ $integrityIndicators['event_locked'] ? 'Terkunci' : 'Terbuka' }}
{{ $integrityIndicators['event_locked'] ? 'Event sudah dipublikasikan dan pengaturan event dilindungi secara permanen.' : 'Event masih dalam status draft dan konfigurasinya masih dapat diedit.' }}
Daftar Kandidat {{ $integrityIndicators['candidates_locked'] ? 'Terkunci' : 'Terbuka' }}
{{ $integrityIndicators['candidates_locked'] ? 'Daftar calon atau kandidat pemilihan telah terkunci dan tidak dapat diubah.' : 'Kandidat masih dalam proses penyusunan dan dapat dimodifikasi.' }}
Daftar Pemilih {{ $integrityIndicators['voters_locked'] ? 'Terkunci' : 'Terbuka' }}
{{ $integrityIndicators['voters_locked'] ? 'Daftar pemilih sah (voter list) telah disegel dan tidak dapat ditambah/dikurangi.' : 'Daftar pemilih masih dapat disesuaikan oleh panitia.' }}
Jumlah Suara {{ $integrityIndicators['vote_count_valid'] ? 'Konsisten' : 'Gagal' }}
{{ $integrityIndicators['vote_count_valid'] ? "Jumlah suara masuk ($totalVotes) konsisten dengan riwayat aktivitas sistem." : 'Terdapat ketidakcocokan jumlah suara dalam database.' }}
Pemilih
{{ number_format($totalVoters) }}
Pemilih Terdaftar
OTP
{{ number_format($verifiedVoters) }}
Terverifikasi OTP
Suara
{{ number_format($totalVotes) }}
Total Suara Masuk
Tingkat
{{ $participationRate }}%
Tingkat Partisipasi

Verifikasi Kriptografis (Hash Chain)

@if($hashStats['total_votes'] === 0)

Belum Ada Suara Masuk

Rantai hash (SHA-256 chain) akan otomatis diverifikasi secara real-time setelah suara pertama masuk.

@elseif($hashStats['chain_valid'])

Rantai Hash Terverifikasi Valid

Seluruh {{ number_format($hashStats['total_votes']) }} suara terhubung dalam rantai hash SHA-256 secara aman. Tidak ada manipulasi atau modifikasi data terdeteksi.

@else

Rantai Kriptografi Terputus!

Terjadi kegagalan verifikasi integritas pada suara #{{ $hashStats['broken_at'] }}. Data suara mungkin telah dimodifikasi langsung di luar sistem. Harap hubungi administrator.

@endif
Kerahasiaan Terjamin: Rantai hash mengaitkan urutan transaksi masuk secara matematis tanpa menyimpan hubungan antara identitas pemilih dengan pilihan kandidatnya. Anonimitas pilihan Anda dijamin 100%.

Informasi Transparansi & Keamanan

Musyawara berkomitmen menyelenggarakan pemilihan yang jujur, transparan, dan adil. Halaman ini berfungsi sebagai pos audit publik di mana siapa saja dapat memantau jalannya pemilihan tanpa perlu login.

Teknologi SHA-256 Hash Chain bekerja serupa dengan blockchain. Setiap suara yang masuk memuat tanda tangan digital (hash) yang dihitung dari data suara tersebut dan digabungkan dengan hash dari suara sebelumnya. Jika ada data suara yang diubah, dihapus, atau disisipkan secara ilegal, rantai hash akan langsung terputus dan status integritas akan menampilkan peringatan bahaya secara real-time.

@endsection