@extends('layouts.app', ['class' => 'g-sidenav-show bg-gray-100']) @section('content') @include('layouts.navbars.auth.topnav', ['title' => '']) @php $raw = $user_login->idroles ?? ''; // jadikan array $roles = is_array($raw) ? $raw : preg_split('/\s*,\s*/', (string) $raw, -1, PREG_SPLIT_NO_EMPTY); // normalisasi: trim + lowercase + unik $roles = array_values(array_unique(array_map(fn($r) => strtolower(trim($r)), $roles))); @endphp @if (!empty(array_intersect($roles, ['admins', 'admhrd'])))
Dashboard

Dashboard Admin

@php $left = []; $right = []; foreach ($combinedCards->values() as $i => $card) { if ($i % 2 === 0) { $left[] = $card; } else { $right[] = $card; } } @endphp @php $pages = $combinedCards->chunk(10); @endphp @if (!$combinedCards->isEmpty())
Notifikasi Data Perlu Di Input
@foreach ($pages as $pageIndex => $cards) @php $left = []; $right = []; foreach ($cards->values() as $i => $card) { if ($i % 2 === 0) { $left[] = $card; } else { $right[] = $card; } } @endphp
@foreach ($left as $card)
{{ ucfirst($card['type']) }}: {{ $card['label'] ?? '-' }}
@endforeach
@foreach ($right as $card)
{{-- Tombol Update & Input --}}
{{-- Konten Card --}}
{{ ucfirst($card['type']) }}: {{ $card['label'] ?? '-' }}
@endforeach
@endforeach
@if ($pages->count() > 1)
@endif
@endif
TOTAL PENDAFTAR MAGANG

{{ $total_pendaftar_magang }}

TOTAL PESERTA TES

{{ $total_peserta_tes }}

PENGAJUAN PENDAFTAR TERAKHIR
    @forelse ($pengajuan_pendaftar_terakhir as $pengajuan)
    {{ $pengajuan->nama }}
    {{ $pengajuan->universitas }} | {{ $pengajuan->posisi }} Lihat
    @empty

    Belum ada pengajuan pendaftar.

    @endforelse
PESERTA TES YANG AKAN DATANG
@foreach ($peserta_tes_mendatang as $key => $item) @endforeach
No Nama Jadwal Tes Aksi
{{ $key + 1 }} {{ $item->nama_kandidat }} {{ $item->tanggal_waktu_tes }} Lihat
@if ($peserta_tes_mendatang->isNotEmpty()) @else @endif
JUMLAH PESERTA MAGANG TIAP POSISI
@forelse ($jumlah_peserta_magang_per_posisi as $peserta) @empty @endforelse
Nama Posisi Peserta / Kuota
{{ $peserta->nama_posisi }}
{{ $peserta->nama_departemen }}
{{ $peserta->peserta_magang }} / {{ $peserta->quota ?? 0 }}

Belum ada peserta magang.

TOP 5 UNIVERSITAS
    @forelse($jumlah_peserta_magang_per_universitas as $jumlah_peserta)
    {{ $jumlah_peserta->nama_univ }}
    {{ $jumlah_peserta->jumlah_pendaftar }}
    @empty

    Belum ada peserta magang.

    @endforelse
TOP 5 RASIO PENERIMAAN SETIAP UNIVERSITAS
    @forelse ($rasio_penerimaan_per_universitas as $jumlah_peserta)
    {{ $jumlah_peserta->nama_univ }}
    {{ $jumlah_peserta->jumlah_diterima }} / {{ $jumlah_peserta->jumlah_pendaftar }}
    @empty

    Belum ada peserta magang.

    @endforelse
@endif @if (in_array('pembim', $roles, true))
Dashboard

Dashboard Pembimbing

TOTAL PENGAJUAN ABSEN

{{ $jumlah_pengajuan_absen ?? 0 }}

TOTAL PENGAJUAN LAPORAN AKHIR

{{ $jumlah_pengajuan_laporan ?? 0 }}

PENGAJUAN ABSEN TERAKHIR
    @forelse ($pengajuan_absen_terakhir as $pengajuan)
    {{ $pengajuan->firstname }} {{ $pengajuan->lastname }}
    {{ $pengajuan->nama_projek }} | {{ $pengajuan->tanggal }} Lihat
    @empty

    Belum ada pengajuan absen.

    @endforelse
PENGAJUAN LAPORAN AKHIR TERAKHIR
    @forelse ($pengajuan_laporan_terakhir as $pengajuan)
    {{ $pengajuan->firstname }} {{ $pengajuan->lastname }}
    {{ $pengajuan->nama_projek }} | {{ $pengajuan->created_at }} Lihat
    @empty

    Belum ada pengajuan laporan.

    @endforelse
@endif @if (in_array('atsan1', $roles, true))
{{-- HEADER DASHBOARD --}}
Dashboard {{ $role_label ?? 'Atasan' }}

Monitoring Approval {{ $approval_stage ?? '' }}

{{ $role_label ?? 'Atasan' }}
{{-- SUMMARY CARDS --}}
{{-- Card 1: Pending Approval --}}

Perlu Disetujui

{{ $pending_approval_count ?? 0 }} @if (($pending_approval_count ?? 0) > 0) @endif
Data menunggu approval
{{-- Card 2: Approved This Month --}}

Telah Disetujui

{{ $approved_this_month ?? 0 }}
Approved
{{-- Card 3: Total Peserta Aktif --}}

Peserta Aktif

{{ $total_peserta_aktif ?? 0 }}
Mahasiswa magang
{{-- NOTIFIKASI DATA MASUK --}} @if (($pending_approval_count ?? 0) > 0)
@endif {{-- TABEL DATA TERBARU YANG PERLU DIAPPROVE --}} @if (($pending_approval_list ?? collect())->isNotEmpty())
Data Terbaru Perlu Disetujui
Lihat Semua
@foreach ($pending_approval_list as $item) @endforeach
ID Transaksi Periode Status Tanggal
{{ $item->id }}

{{ $months[$item->bulan] ?? $item->bulan }} {{ $item->tahun }}

@if ($item->status == '2') Posted @elseif($item->status == '3') Approved Atasan 1 @endif {{ \Carbon\Carbon::parse($item->created_at)->diffForHumans() }} Review
@endif {{-- LIST PESERTA AKTIF --}}
Daftar Peserta Magang Aktif
{{-- TABEL PESERTA --}}
No Nama Peserta Posisi Departemen Hari Aktif Sisa Hari Progress
Memuat…
Total Peserta Aktif 0 Peserta
{{-- RIGHT: PIE CHART --}}
Distribusi Peserta per Departemen
@endif @if (in_array('atsan2', $roles, true))
{{-- HEADER DASHBOARD --}}
Dashboard {{ $role_label ?? 'Atasan' }}

Monitoring Approval {{ $approval_stage ?? '' }}

{{ $role_label ?? 'Atasan' }}
{{-- SUMMARY CARDS --}}
{{-- Card 1: Pending Approval --}}

Perlu Disetujui

{{ $pending_approval_count ?? 0 }} @if (($pending_approval_count ?? 0) > 0) @endif
Data menunggu approval
{{-- Card 2: Approved This Month --}}

Telah Disetujui

{{ $approved_this_month ?? 0 }}
Approved
{{-- Card 3: Total Peserta Aktif --}}

Peserta Aktif

{{ $total_peserta_aktif ?? 0 }}
Mahasiswa magang
{{-- NOTIFIKASI DATA MASUK --}} @if (($pending_approval_count ?? 0) > 0)
@endif {{-- TABEL DATA TERBARU YANG PERLU DIAPPROVE --}} @if (($pending_approval_list ?? collect())->isNotEmpty())
Data Terbaru Perlu Disetujui
Lihat Semua
@foreach ($pending_approval_list as $item) @endforeach
ID Transaksi Periode Status Tanggal
{{ $item->id }}

{{ $months[$item->bulan] ?? $item->bulan }} {{ $item->tahun }}

@if ($item->status == '2') Posted @elseif($item->status == '3') Approved Atasan 1 @endif {{ \Carbon\Carbon::parse($item->created_at)->diffForHumans() }} Review
@endif {{-- LIST PESERTA AKTIF --}}
Daftar Peserta Magang Aktif
{{-- TABEL PESERTA --}}
No Nama Peserta Posisi Departemen Hari Aktif Sisa Hari Progress
Memuat…
Total Peserta Aktif 0 Peserta
{{-- RIGHT: PIE CHART --}}
Distribusi Peserta per Departemen
@endif @if (in_array('featku', $roles))
Dashboard Keuangan (FEAT)

Manajemen antrean pembayaran yang telah disetujui Atasan

Total Tagihan (All)

Rp{{ number_format($total_tagihan_belum_bayar, 0, ',', '.') }}

Akumulasi seluruh periode antrean

Tagihan Bulan Ini

Rp{{ number_format($total_tagihan_bulan_ini, 0, ',', '.') }}

Periode aktif yang siap dibayarkan

Jumlah Antrean

{{ number_format($jumlah_peserta_belum_bayar, 0, ',', '.') }} Orang

Total peserta menunggu proses transfer
{{-- LEFT: REKAP BULANAN --}}
Rekap Tagihan Per Bulan
@forelse ($monthly_totals as $mt) @empty @endforelse
Periode Total Tagihan

{{ $mt->label }}

Rp{{ number_format($mt->total, 0, ',', '.') }}
Belum ada data bulanan.
{{-- RIGHT: ANTREAN TERBARU --}}
Antrean Pembayaran (Terbaru)
Semua
@forelse ($pending_payments as $pay) @empty @endforelse
Peserta Nominal
{{ strtoupper($pay->nama) }}
{{ $pay->periode }}
Rp{{ number_format($pay->total_nominal, 0, ',', '.') }}
Antrean kosong.
@endif @if (in_array('pesert', $roles, true))
Dashboard

Dashboard Peserta Magang

Progres Absen

@php $wfo = (int) ($jumlahAbsenWFO ?? 0); $wfh = (int) ($jumlahAbsenWFH ?? 0); $sakit = (int) ($jumlahAbsenSakit ?? 0); $izin = (int) ($jumlahAbsenIzin ?? 0); // Total hari kerja efektif dari mulai magang sampai hari ini. $totalHariKerjaSaatIni = max(0, (int) ($totalHariKerjaSaatIni ?? 0)); $den = max(1, $totalHariKerja); $pWfo = isset($progressWFO) ? (float) $progressWFO : round(($wfo / $den) * 100, 2); $pWfh = isset($progressWFH) ? (float) $progressWFH : round(($wfh / $den) * 100, 2); $pSakit = isset($progressSakit) ? (float) $progressSakit : round(($sakit / $den) * 100, 2); $pIzin = isset($progressIzin) ? (float) $progressIzin : round(($izin / $den) * 100, 2); $sum = $pWfo + $pWfh + $pSakit + $pIzin; if ($sum > 100) { $pIzin = max(0, $pIzin - ($sum - 100)); } @endphp
{{ $progressTotal }}%

WFO: {{ $jumlahAbsenWFO }} hari | WFH: {{ $jumlahAbsenWFH }} hari | Sakit: {{ $jumlahAbsenSakit }} hari | Izin: {{ $jumlahAbsenIzin }} hari | Absen Pending: {{ $pendingabsen }} | Tanpa Keterangan: {{ $tanpaketerangan }}

Total Hari Kerja Saat Ini: {{ $totalHariKerjaSaatIni }} hari | Total Hari Kerja: {{ $totalHariKerja }} hari

RIWAYAT ABSEN
@forelse ($riwayat_absen as $key => $absen) @empty @endforelse

No.

Tanggal

Jenis

Aktifitas

Status

{{ $key + 1 }}
{{ $absen->tanggal->translatedFormat('l, d F Y') }}
@if ($absen->jenis == 'WFO')
{{ $absen->jenis }}
@elseif ($absen->jenis == 'WFH')
{{ $absen->jenis }}
@elseif ($absen->jenis == 'Izin')
{{ $absen->jenis }}
@else
{{ $absen->jenis }}
@endif
{{ $absen->aktivitas }}
@if ($absen->status == 'Pending')
{{ $absen->status }}
@elseif ($absen->status == 'Terima')
{{ $absen->status }}
@else
{{ $absen->status }}
@endif

Belum ada riwayat absen.

@endif @endsection @push('js') @endpush