@extends('layouts.app')
@php
$pageTitle = 'Employee Transaction Calendar';
$pageHeading = 'Kalender Transaksi Employee';
$pageDescription = 'Lihat jejak transaksi absensi per karyawan dalam tampilan kalender penuh.';
$tableThemeClass = 'ops-datatable-theme ops-datatable-theme--employees';
$initialDate = $filters['date_from'] ?? optional(\Illuminate\Support\Carbon::parse($summary['last_punch'] ?? now()))->toDateString();
@endphp
@section('content')
{{ strtoupper(substr($employeeName, 0, 1)) }}
{{ $employeeName }}
Timeline transaksi absensi per employee untuk membaca pola clock, sebaran harian, dan detail transaksi mentah.
EMP CODE {{ $employee->emp_code }}
Emp Code
{{ $employee->emp_code }}
{{ $employeeName }}
Total Transaksi
{{ number_format($summary['total']) }}
Jumlah log sesuai filter aktif.
Hari Ini
{{ number_format($summary['today']) }}
Transaksi yang terekam hari ini.
Mesin Digunakan
{{ number_format($summary['terminal_count']) }}
Jumlah terminal unik yang pernah dipakai.
Employee: {{ $employeeName }}
Emp Code: {{ $employee->emp_code }}
@if (! empty($summary['last_punch']))
Last Punch: {{ \Illuminate\Support\Carbon::parse($summary['last_punch'])->format('Y-m-d H:i:s') }}
@endif
Full Calendar Transaksi
Klik event di kalender untuk melihat detail transaksi. Navigasi bulan/minggu/hari akan mengambil data langsung dari server
sesuai range tampilan agar tetap ringan.
Detail Event
Pilih salah satu transaksi di kalender untuk melihat data mentahnya.
Belum ada event yang dipilih. Klik transaksi pada kalender untuk menampilkan ID transaksi, state, verify type, terminal, source, dan catatan raw.
Transaksi Tanggal Terpilih
Klik tanggal pada kalender untuk menampilkan semua transaksi hari itu di panel kanan.
Belum ada tanggal yang dipilih. Klik tanggal pada kalender untuk menampilkan daftar transaksi harian.
Legend State
Warna event mengikuti state transaksi agar pola clock lebih cepat terbaca.
CHECK_IN
CHECK_OUT
BREAK_OUT
BREAK_IN
OT_IN
OT_OUT
Info Kalender
Transaksi terbaru sekarang dijadikan seed event langsung ke kalender. Jadi saat halaman dibuka,
operator langsung melihat jejak transaksi pada grid kalender tanpa bergantung pada panel daftar di samping.
@if ($recentTransactions->isNotEmpty())
Seed awal memuat {{ $recentTransactions->count() }} transaksi terbaru. Setelah itu kalender tetap mencoba memuat event penuh dari server sesuai rentang tampilan aktif.
@else
Belum ada transaksi pada filter aktif, jadi tidak ada seed event yang dimasukkan ke kalender.
@endif
@endsection