@extends('layouts.master-mahasiswa') @section('title') Dashboard Mahasiswa @endsection @section('page-title') Dashboard Mahasiswa @endsection @section('content') @php($jumlahSudah = $kegiatanHariIni->where('sudah_presensi', true)->count())
{{ mb_strtoupper(mb_substr($mahasiswa->nama, 0, 1)) }}
{{ $mahasiswa->nama }}
NIM {{ $mahasiswa->nim }}
{{ $mahasiswa->prodi ?? '-' }} · Kelas {{ $mahasiswa->kelas ?? '-' }}
{{ $kegiatanHariIni->count() }}
Hari ini
{{ $jumlahSudah }}
Sudah presensi
{{ $kegiatanAkanDatang->count() }}
Akan datang
@if ($mahasiswa->perangkat_ditolak_at)
Ada percobaan login/presensi dari perangkat lain pada {{ $mahasiswa->perangkat_ditolak_at->tglIndo(true) }} WIB, dan ditolak sistem karena bukan perangkat terdaftar Anda.
Kalau itu memang perangkat Anda sendiri (mis. ganti HP), abaikan pesan ini dan hubungi admin untuk mereset perangkat terdaftar. Kalau bukan Anda, segera hubungi admin — bisa jadi seseorang mengetahui NIM dan tanggal lahir Anda.
@endif
Kegiatan Hari Ini
@forelse ($kegiatanHariIni as $kegiatan) @php($tampilkanGabung = $kegiatan->isDaring() && $kegiatan->linkPlatformSiap() && $kegiatan->status_waktu !== 'sudah_selesai') @php($lokasi = ! $kegiatan->isDaring() ? $kegiatan->lokasiPresensi : null) @php($warnaStatus = $kegiatan->sudah_presensi ? 'primary' : ($kegiatan->status_waktu === 'berlangsung' ? 'success' : ($kegiatan->status_waktu === 'belum_mulai' ? 'warning' : 'secondary')))
{{ $kegiatan->nama_kegiatan }}
{{ substr($kegiatan->jam_mulai, 0, 5) }} - {{ substr($kegiatan->jam_selesai, 0, 5) }} WIB
@unless ($kegiatan->isDaring())
Mode Presensi: {{ $kegiatan->wajib_pulang ? '2x' : '1x' }} Presensi
@endunless @if ($kegiatan->is_berbayar)
Berbayar @if ($kegiatan->waLinkNarahubung()) Hubungi Narahubung @endif
@endif @if ($kegiatan->status_waktu === 'belum_mulai')
Belum dimulai — presensi baru bisa mulai {{ substr($kegiatan->jam_mulai, 0, 5) }} WIB.
@elseif ($kegiatan->status_waktu === 'sudah_selesai' && ! $kegiatan->sudah_presensi)
Waktu presensi sudah berakhir.
@endif
@if ($kegiatan->belum_pulang) @if ($kegiatan->statusPulang($kegiatan->presensi_masuk) === 'dibuka') Presensi Pulang @elseif ($kegiatan->statusPulang($kegiatan->presensi_masuk) === 'belum_dibuka') Pulang {{ $kegiatan->jendelaPulang($kegiatan->presensi_masuk)[0]->format('H:i') }} @else Tidak Lengkap @endif @elseif ($kegiatan->sudah_presensi) Sudah Presensi @elseif ($kegiatan->status_waktu === 'berlangsung') Presensi @elseif ($kegiatan->status_waktu === 'belum_mulai') Belum Mulai @else Berakhir @endif
@if (! $kegiatan->belum_pulang && ! $kegiatan->sudah_presensi) @endif @if ($tampilkanGabung) @endif @if ($lokasi) @endif
@empty
Tidak ada kegiatan presensi hari ini.
@endforelse
Kegiatan yang Akan Datang
@forelse ($kegiatanAkanDatang as $kegiatan)
{{ $kegiatan->tanggal->tglIndo() }} · {{ substr($kegiatan->jam_mulai, 0, 5) }} - {{ substr($kegiatan->jam_selesai, 0, 5) }} WIB
{{ $kegiatan->nama_kegiatan }}
@if ($kegiatan->isDaring()) Daring @else Luring @endif
@if (! $kegiatan->isDaring() && $kegiatan->lokasiPresensi)
{{ $kegiatan->lokasiPresensi->nama_lokasi }}
@endif @if ($kegiatan->is_berbayar)
Berbayar @if ($kegiatan->waLinkNarahubung()) Hubungi Narahubung @endif
@endif
@empty
Belum ada kegiatan yang akan datang.
@endforelse
@php($namaBulanIndonesia = [1 => 'Januari', 2 => 'Februari', 3 => 'Maret', 4 => 'April', 5 => 'Mei', 6 => 'Juni', 7 => 'Juli', 8 => 'Agustus', 9 => 'September', 10 => 'Oktober', 11 => 'November', 12 => 'Desember']) @php($awalGrid = $bulanTerpilih->copy()->startOfMonth()->startOfWeek(\Carbon\Carbon::SUNDAY)) @php($akhirGrid = $bulanTerpilih->copy()->endOfMonth()->endOfWeek(\Carbon\Carbon::SATURDAY)) @php($hariIniStr = now()->toDateString()) @php($kegiatanJs = $kegiatanPerTanggal->map(fn ($daftar) => $daftar->map(fn ($k) => ['nama' => $k->nama_kegiatan, 'jam' => substr($k->jam_mulai, 0, 5).' - '.substr($k->jam_selesai, 0, 5), 'mode' => $k->isDaring() ? 'Daring' : 'Luring', 'lokasi' => $k->lokasiPresensi->nama_lokasi ?? null, 'url' => route('mahasiswa.presensi.create', $k)])->values()))
Kalender Kegiatan
{{ $namaBulanIndonesia[$bulanTerpilih->month] }} {{ $bulanTerpilih->year }}
@php($tglIterasi = $awalGrid->copy()) @while ($tglIterasi->lte($akhirGrid)) @for ($i = 0; $i < 7; $i++) @php($tglStr = $tglIterasi->toDateString()) @php($adaKegiatan = $kegiatanPerTanggal->has($tglStr)) @php($diBulanIni = $tglIterasi->month === $bulanTerpilih->month) @php($tglIterasi->addDay()) @endfor @endwhile
Min Sen Sel Rab Kam Jum Sab
@if ($adaKegiatan)
@endif
@if ($tampilkanPemindaianWajah) {{-- Kosmetik murni untuk kesan "verifikasi identitas" saat perangkat baru pertama kali didaftarkan -- TIDAK ADA frame yang diambil/disimpan/dikirim ke server, cuma live preview kamera depan yang dimatikan lagi begitu selesai. Sama sekali tidak menggantikan/menambah keamanan device-lock yang sudah ada (Mahasiswa::device_id tetap didaftarkan dari device_id JS seperti biasa, lihat AuthController:: tandaiPerangkat()) -- murni tampilan. --}}
Menyiapkan verifikasi wajah...
Posisikan wajah Anda menghadap kamera.
@endif @endsection @section('scripts') @if ($tampilkanPemindaianWajah) @endif @endsection