integer('year', now()->year); $month = $request->integer('month', now()->month); return Inertia::render('admin/hr/attendance/index', [ ...$this->service->getIndexData($year, $month), 'highlight' => $request->input('highlight'), ]); } public function store(AttendanceRequest $request): RedirectResponse { return $this->handleAction( fn () => $this->service->checkIn($request->validated()), 'Berhasil check-in.', 'admin.hr.attendances.index' ); } public function update(AttendanceRequest $request, Attendance $attendance): RedirectResponse { return $this->handleAction( fn () => $this->service->checkOut($attendance, $request->validated()), 'Berhasil check-out.', 'admin.hr.attendances.index' ); } public function byDate(Request $request): ?array { $date = $request->query('date', now()->toDateString()); return $this->service->getByDate($date); } public function byMonth(Request $request): array { $year = $request->integer('year', now()->year); $month = $request->integer('month', now()->month); return $this->service->getByMonthData($year, $month); } }