{{-- ===== HERO SECTION ===== --}}
{{-- Top Icons --}} {{-- User Row --}}
{{-- Left: Name --}}

{{ $karyawan->nama_karyawan }}

{{ $karyawan->nama_jabatan }} ({{ $karyawan->nama_dept }})
{{-- Right: Avatar --}}
@if (!empty($karyawan->foto) && Storage::disk('public')->exists('/karyawan/' . $karyawan->foto))
@else @endif
{{-- Clock --}}

0:00:00

Hari ini : {{ getNamaHari(date('D')) }}, {{ DateToIndo(date('Y-m-d')) }}
{{-- ===== FLOATING ALERT CARD ===== --}}
@php $activeAlerts = []; if (!empty($pengumuman)) { $activeAlerts[] = 'pengumuman'; } if (!empty($notif_kontrak)) { $activeAlerts[] = 'kontrak'; } if (!empty($notif_sp)) { $activeAlerts[] = 'sp'; } @endphp @if (count($activeAlerts) > 0) {{-- Dots --}} @if(count($activeAlerts) > 1)
@foreach($activeAlerts as $idx => $type) @endforeach
@endif @endif
{{-- ===== ATTENDANCE SECTION ===== --}}
{{-- Jam Masuk --}}
@if (!empty($presensi->foto_in) && Storage::disk('public')->exists('/uploads/absensi/' . $presensi->foto_in)) @else @endif
Jam Masuk {{ !empty($presensi->jam_in) ? date('H:i', strtotime($presensi->jam_in)) : '-- : --' }}
{{-- Vertical Separator --}}
{{-- Jam Pulang --}}
@if (!empty($presensi->foto_out) && Storage::disk('public')->exists('/uploads/absensi/' . $presensi->foto_out)) @else @endif
Jam Pulang {{ !empty($presensi->jam_out) ? date('H:i', strtotime($presensi->jam_out)) : '-- : --' }}
{{-- ===== ATTENDANCE RECAP SECTION ===== --}}

Rekap Presensi Bulan {{ $bulan_skrg }}

Update Terakhir: {{ date('H:i') }} WIB
{{-- Hadir --}}
{{ $rekappresensi->hadir ?? 0 }} Hadir
{{-- Separator --}}
{{-- Sakit --}}
{{ $rekappresensi->sakit ?? 0 }} Sakit
{{-- Separator --}}
{{-- Izin --}}
{{ $rekappresensi->izin ?? 0 }} Izin
{{-- Separator --}}
{{-- Cuti --}}
{{ $rekappresensi->cuti ?? 0 }} Cuti
@php $scheme = $general_setting->mobile_theme_scheme ?? 'green'; @endphp {{-- ===== MENU GRID ===== --}}
{{-- ID Card --}}
@if ($scheme == 'green') @else @endif
ID Card
{{-- Istirahat / Kontra --}} @if ($general_setting->absen_istirahat == 1)
@if ($scheme == 'green') @else @endif
Istirahat
@else
@if ($scheme == 'green') @else @endif
Kontrak
@endif {{-- Lembur --}}
@if ($scheme == 'green') @else @endif
Lembur
{{-- Slip Gaji --}}
@if ($scheme == 'green') @else @endif
Slip Gaji
{{-- Aktivitas --}} @can('aktivitaskaryawan.index')
@if ($scheme == 'green') @else @endif
Aktivitas
@endcan {{-- Visit --}} @can('kunjungan.index')
@if ($scheme == 'green') @else @endif
Visit
@endcan {{-- Scan Wajah --}}
@if ($scheme == 'green') @else @endif
Wajah
{{-- Lainnya --}}

Lainnya
{{-- ===== HISTORY LIST ===== --}}
{{-- Tabs --}}
{{-- Tab Content: Presensi --}}
@foreach ($datapresensi as $d) @php $namahari = ['Sun'=>'Minggu','Mon'=>'Senin','Tue'=>'Selasa','Wed'=>'Rabu','Thu'=>'Kamis','Fri'=>'Jumat','Sat'=>'Sabtu']; $day_eng = date('D', strtotime($d->tanggal)); $day_indo = $namahari[$day_eng] ?? $day_eng; $day_short = strtoupper(substr($day_indo, 0, 3)); $tgl = date('d', strtotime($d->tanggal)); $text_color = $d->status == 'h' ? ($t['primary'] ?? '#2d5a4c') : ($d->status == 'i' ? '#1e90ff' : ($d->status == 's' ? '#ff6384' : ($d->status == 'c' ? '#ff9f40' : '#e74c3c'))); $bg_color = $d->status == 'h' ? (($t['primary'] ?? '#2d5a4c') . '18') : ($d->status == 'i' ? '#1e90ff18' : ($d->status == 's' ? '#ff638418' : ($d->status == 'c' ? '#ff9f4018' : '#e74c3c18'))); @endphp
{{-- Day Badge --}}
{{ $day_short }} {{ $tgl }}
{{-- Details --}}
{{ DateToIndo($d->tanggal) }}
{{ $d->nama_jam_kerja }} ({{ date('H:i', strtotime($d->jam_masuk)) }} - {{ date('H:i', strtotime($d->jam_pulang)) }})
@if ($d->status == 'h') @php $jam_in_ts = strtotime($d->jam_in); $jam_masuk_ts = strtotime($d->tanggal . ' ' . $d->jam_masuk); $is_late = $jam_in_ts > $jam_masuk_ts; $jam_telat = 0; $menit_telat = 0; $desimal_terlambat = 0; if ($is_late) { $terlambat_selisih = $jam_in_ts - $jam_masuk_ts; $jam_telat = floor($terlambat_selisih / 3600); $sisa = $terlambat_selisih % 3600; $menit_telat = floor($sisa / 60); $desimal_terlambat = $jam_telat + round($menit_telat / 60, 2); } $denda_display = 0; $potongan_jam = 0; $potongan_jam_terlambat = 0; $pulangcepat = 0; $potongan_tidak_scan = 0; $denda_dari_db = !empty($d->denda) ? $d->denda : null; if ($denda_dari_db !== null) { $denda_display = $denda_dari_db; if ($is_late && $desimal_terlambat >= 1) { $potongan_jam_terlambat = $desimal_terlambat > $d->total_jam ? $d->total_jam : $desimal_terlambat; } } else { if ($is_late) { if ($desimal_terlambat < 1) { $denda_display = hitungdenda($denda_list, $menit_telat); } else { $potongan_jam_terlambat = $desimal_terlambat > $d->total_jam ? $d->total_jam : $desimal_terlambat; } } } $pulangcepat = hitungpulangcepat($d->tanggal, $d->jam_out, $d->jam_pulang, $d->istirahat, $d->jam_awal_istirahat, $d->jam_akhir_istirahat, $d->lintashari); $pulangcepat = $pulangcepat > $d->total_jam ? $d->total_jam : $pulangcepat; if ($d->tanggal != date('Y-m-d') && (empty($d->jam_out) || empty($d->jam_in))) { $potongan_tidak_scan = $d->total_jam; } $potongan_jam = $potongan_tidak_scan > 0 ? $potongan_tidak_scan : ($pulangcepat + $potongan_jam_terlambat); $status_potongan_row = isset($d->status_potongan) ? $d->status_potongan : $namasettings->status_potongan_jam; if ($status_potongan_row == 0) { $potongan_jam = 0; $denda_display = 0; } @endphp
{{ $d->jam_in != null ? date('H:i', strtotime($d->jam_in)) : '__:__' }} - {{ $d->jam_out != null ? date('H:i', strtotime($d->jam_out)) : '__:__' }} @if ($is_late) Telat {{ $jam_telat > 0 ? $jam_telat . 'j ' : '' }}{{ $menit_telat }}m @else Tepat Waktu @endif
@if ($d->jam_in != null)
@if ($denda_display > 0) Denda Rp. {{ number_format($denda_display) }} @endif @if ($pulangcepat > 0) Pulang Cepat @endif @if ($potongan_jam > 0 && ($d->jam_out != null || $d->tanggal != date('Y-m-d'))) @if ($namasettings->status_potongan_jam == 1 || (isset($d->status_potongan) && $d->status_potongan == 1)) PJ: {{ number_format($potongan_jam, 2) }} Jam @endif @endif
@endif @elseif ($d->status == 'i') Izin: {{ $d->keterangan_izin }} @elseif ($d->status == 's') Sakit: {{ $d->keterangan_izin_sakit }} @elseif ($d->status == 'c') Cuti: {{ $d->keterangan_izin_cuti }} @elseif ($d->status == 'a') @php $potongan_jam = $d->total_jam; $denda_display = !empty($d->denda) ? $d->denda : 0; $status_potongan_row = isset($d->status_potongan) ? $d->status_potongan : $namasettings->status_potongan_jam; if ($status_potongan_row == 0) { $potongan_jam = 0; } @endphp Alpha: Tanpa Keterangan @endif
@endforeach
{{-- Tab Content: Lembur --}}
{{-- ===== BIRTHDAY MODAL ===== --}} @if (isset($is_birthday) && $is_birthday) @endif {{-- ===== DETAIL PRESENSI MODAL ===== --}} {{-- ===== BOTTOM NAV ===== --}}
@include('layouts.mobile.bottomNav') {{-- ===== SCRIPTS ===== --}} @if ($message = Session::get('success')) @endif @if ($message = Session::get('error')) @endif @if ($message = Session::get('warning')) @endif @if ($errors->any()) @endif