@extends('layouts.main') @section('title', 'Dashboard Andalan') @section('css') @php $dashboardCssPath = public_path('assets/css/dashboard.css'); $dashboardCssVersion = file_exists($dashboardCssPath) ? filemtime($dashboardCssPath) : time(); $sweetAlertCssPath = public_path('assets/vendor/sweetalert2/sweetalert2.min.css'); $sweetAlertCssVersion = file_exists($sweetAlertCssPath) ? filemtime($sweetAlertCssPath) : time(); @endphp @endsection @section('navbarTitle', 'Dashboard') @section('content') @php $showDashboardMenuCarousel = false; $showDashboardInactiveShortcuts = false; $dashboardUser = auth()->user(); $canViewDashboardEmployeeShortcut = false; $isClockOutBlocked = ($hasCheckedOutToday ?? false) || ($hasEarlyDepartureExceptionToday ?? false) || !($canClockOutNow ?? true); $isClockOutTooEarly = !($canClockOutNow ?? true); if ($dashboardUser instanceof \App\Models\User) { $canViewDashboardEmployeeShortcut = $dashboardUser->hasAnyPositionPermission([ 'view-authorization', 'view-employee-database', ]); } $dashboardTaskProjectOptions = collect($dashboardTaskProjectOptions ?? []); $dashboardTaskAssignableStaffOptions = collect($dashboardTaskAssignableStaffOptions ?? []); $dashboardTaskProjectOptionsByEmployee = is_array($dashboardTaskProjectOptionsByEmployee ?? null) ? $dashboardTaskProjectOptionsByEmployee : []; $dashboardTaskDefaultAssigneeEmployeeId = (string) ($dashboardTaskAssignableStaffOptions->first()['id'] ?? ''); @endphp
@if ($showDashboardMenuCarousel) @endif
@if (! empty($dashboardIncomingMeeting))
Incoming Meeting: {{ $dashboardIncomingMeeting['title'] }}
Time to sync up and get aligned. The waiting room is open!
Time: {{ $dashboardIncomingMeeting['time_label'] }} | Link: Join Zoom Meeting
@endif

Attendance Confirmation

Ensure your device location is enabled and you are within the authorized work area.

Date & Time

{{ now('Asia/Jakarta')->format('d M | H:i:s') }}

Clock In

{{ $todayAttendance?->clock_in?->format('H:i') ?? '--:--' }}
Clock In

End of Shift

Ensure all your daily tasks and status reports have been updated before clocking out.

Date & Time

{{ now('Asia/Jakarta')->format('d M | H:i:s') }}

Clock Out

{{ $todayAttendance?->clock_out?->format('H:i') ?? '--:--' }}
Clock Out

Current Task

Track your task and see your daily and monthly progress.

Month ({{ $dashboardTaskMonthLabel ?? now('Asia/Jakarta')->format('M') }})

{{ (int) ($dashboardMonthlyTaskTotal ?? 0) }} Task

Today ({{ $dashboardTaskTodayLabel ?? now('Asia/Jakarta')->format('D') }})

{{ (int) ($dashboardTodayDeadlineTaskTotal ?? 0) }} Task

Menu

Attendance icon Attendance Icon Agenda Agenda @if ($showDashboardInactiveShortcuts) Icon Blog Blog @endif Icon Project Project @if ($showDashboardInactiveShortcuts) Icon Meeting Meeting Icon Finance Finance @endif @if ($showDashboardInactiveShortcuts) Icon Profile Profile @endif Icon Lainnya Laporan @if ($showDashboardInactiveShortcuts) Icon Pelamar Pelamar @endif @if ($canViewDashboardEmployeeShortcut) Icon Karyawan Karyawan @endif @if ($showDashboardInactiveShortcuts) Icon Setting Setting Icon Administration Administration @endif
@endsection @section('script') @php $sweetAlertJsPath = public_path('assets/vendor/sweetalert2/sweetalert2.min.js'); $sweetAlertJsVersion = file_exists($sweetAlertJsPath) ? filemtime($sweetAlertJsPath) : time(); $dashboardCarbonClockNow = now('Asia/Jakarta'); $dashboardCarbonShortMonths = []; $dashboardCarbonLongMonths = []; $dashboardCarbonWeekdays = []; for ($monthNumber = 1; $monthNumber <= 12; $monthNumber++) { $monthDate = \Carbon\CarbonImmutable::create(2026, $monthNumber, 1, 0, 0, 0, 'Asia/Jakarta')->locale('id'); $dashboardCarbonShortMonths[$monthNumber] = $monthDate->format('M'); $dashboardCarbonLongMonths[$monthNumber] = $monthDate->translatedFormat('F'); } for ($dayOffset = 0; $dayOffset <= 6; $dayOffset++) { $weekdayDate = \Carbon\CarbonImmutable::create(2026, 9, 20 + $dayOffset, 0, 0, 0, 'Asia/Jakarta')->locale('id'); $dashboardCarbonWeekdays[$weekdayDate->dayOfWeek] = $weekdayDate->translatedFormat('l'); } @endphp @endsection