@stack('styles')
Logo Aku Hadir Aku Hadir
@if(session('success'))
{{ session('success') }}
@endif @if(session('error'))
{{ session('error') }}
@endif @yield('content')
@php $globalSearchMenuData = []; if (auth()->user()?->can('dashboard.view')) { $globalSearchMenuData[] = [ 'title' => 'Dashboard Utama', 'url' => route('admin.dashboard'), 'category' => 'Utama', 'icon' => 'layout-dashboard', 'keywords' => 'dashboard beranda statistik ringkasan grafik rekap utama', 'desc' => 'Halaman ringkasan statistik dan aktivitas presensi hari ini' ]; } if (auth()->user()?->can('pegawai.view')) { $globalSearchMenuData[] = [ 'title' => 'Data Pegawai & Karyawan', 'url' => route('admin.pegawai.index'), 'category' => 'Master Data', 'icon' => 'users', 'keywords' => 'pegawai karyawan staf biodata nik nip foto profil personil', 'desc' => 'Daftar master seluruh staf dan karyawan perusahaan' ]; } if (auth()->user()?->can('departemen.view')) { $globalSearchMenuData[] = [ 'title' => 'Departemen & Divisi', 'url' => route('admin.departemen.index'), 'category' => 'Master Data', 'icon' => 'building-2', 'keywords' => 'departemen divisi bidang bagian kantor unit kerja organisasi', 'desc' => 'Kelola struktur departemen dan unit kerja kantor' ]; } if (auth()->user()?->can('jabatan.view')) { $globalSearchMenuData[] = [ 'title' => 'Jabatan & Posisi', 'url' => route('admin.jabatan.index'), 'category' => 'Master Data', 'icon' => 'briefcase', 'keywords' => 'jabatan posisi role karir level hierarki penjenjangan', 'desc' => 'Daftar posisi jabatan dan penjenjangan karir karyawan' ]; } if (auth()->user()?->can('kenaikan_pangkat.view') || auth()->user()?->can('mutasi.view')) { $globalSearchMenuData[] = [ 'title' => 'Mutasi & Promosi Pegawai', 'url' => route('admin.mutasi-promosi.index'), 'category' => 'Karir & Pangkat', 'icon' => 'trending-up', 'keywords' => 'mutasi promosi kenaikan jabatan pangkat rotasi demosi karir pegawai sk pindah kantor cabang', 'desc' => 'Kelola mutasi unit/cabang, promosi jabatan, rotasi karir, dan persetujuan SK' ]; $globalSearchMenuData[] = [ 'title' => 'Jadwal Pangkat & Promosi', 'url' => route('admin.kenaikan-pangkat.jadwal'), 'category' => 'Karir & Pangkat', 'icon' => 'calendar-clock', 'keywords' => 'jadwal pangkat periode kenaikan pangkat kalender karir', 'desc' => 'Jadwal dan periode usulan kenaikan pangkat' ]; } if (auth()->user()?->can('lokasi_absensi.manage')) { $globalSearchMenuData[] = [ 'title' => 'Lokasi Absensi & GPS', 'url' => route('admin.pengaturan-absensi.lokasi'), 'category' => 'Pengaturan Absensi', 'icon' => 'map-pin', 'keywords' => 'lokasi gps koordinat radius geofencing kantor cabang presensi maps', 'desc' => 'Titik koordinat dan radius kantor untuk presensi GPS mobile' ]; } if (auth()->user()?->can('jam_kerja.manage')) { $globalSearchMenuData[] = [ 'title' => 'Jam Kerja & Shift', 'url' => route('admin.pengaturan-absensi.jam-kerja'), 'category' => 'Pengaturan Absensi', 'icon' => 'clock', 'keywords' => 'jam kerja shift jadwal kerja masuk pulang istirahat batas waktu toleransi', 'desc' => 'Pengaturan jam masuk, jam pulang, dan batas toleransi keterlambatan' ]; } if (auth()->user()?->can('hari_kerja.manage')) { $globalSearchMenuData[] = [ 'title' => 'Hari Kerja Mingguan', 'url' => route('admin.pengaturan-absensi.hari-kerja'), 'category' => 'Pengaturan Absensi', 'icon' => 'calendar-days', 'keywords' => 'hari kerja senin jumat sabtu pola mingguan hari kantor', 'desc' => 'Pengaturan hari kerja operasional kantor reguler' ]; $globalSearchMenuData[] = [ 'title' => 'Penjadwalan Roster Kerja', 'url' => route('admin.pengaturan-absensi.penjadwalan-kerja'), 'category' => 'Pengaturan Absensi', 'icon' => 'calendar-range', 'keywords' => 'roster shift pola shift penjadwalan roster jadwal khusus libur off kalender', 'desc' => 'Penjadwalan shift roster fleksibel per tanggal pegawai' ]; } if (auth()->user()?->can('hari_libur.manage')) { $globalSearchMenuData[] = [ 'title' => 'Hari Libur Nasional', 'url' => route('admin.pengaturan-absensi.hari-libur'), 'category' => 'Pengaturan Absensi', 'icon' => 'coffee', 'keywords' => 'hari libur tanggal merah cuti bersama libur nasional kalender off', 'desc' => 'Daftar tanggal merah dan cuti bersama resmi perusahaan' ]; } if (auth()->user()?->can('denda.manage')) { $globalSearchMenuData[] = [ 'title' => 'Denda Keterlambatan & Sanksi', 'url' => route('admin.pengaturan-absensi.denda'), 'category' => 'Pengaturan Absensi', 'icon' => 'circle-dollar-sign', 'keywords' => 'denda keterlambatan telat sanksi alfa potong gaji denda masuk pulang tarif', 'desc' => 'Aturan tarif denda masuk terlambat, pulang awal, dan alfa' ]; } if (auth()->user()?->can('upah_lembur.manage')) { $globalSearchMenuData[] = [ 'title' => 'Upah Lembur & Tarif', 'url' => route('admin.pengaturan-absensi.lembur'), 'category' => 'Pengaturan Absensi', 'icon' => 'coins', 'keywords' => 'upah lembur tarif lembur overtime bayaran lembur jam kerja lembur hitung', 'desc' => 'Formula kalkulasi tarif upah per jam lembur karyawan' ]; } if (auth()->user()?->can('sesi_perangkat.manage')) { $globalSearchMenuData[] = [ 'title' => 'Sesi Login Perangkat HP', 'url' => route('admin.pengaturan-absensi.sesi-login'), 'category' => 'Pengaturan Absensi', 'icon' => 'smartphone', 'keywords' => 'sesi perangkat hp device id reset device logout mobile login bind', 'desc' => 'Monitoring perangkat ponsel terdaftar dan reset binding ID perangkat' ]; } if (auth()->user()?->can('api_key.manage')) { $globalSearchMenuData[] = [ 'title' => 'API Key & Integrasi', 'url' => route('admin.pengaturan-absensi.api-key'), 'category' => 'Pengaturan Absensi', 'icon' => 'key-round', 'keywords' => 'api key token integrasi developer rest api webhook endpoint', 'desc' => 'Kunci otorisasi integrasi API eksternal dan aplikasi mobile' ]; } if (auth()->user()?->can('pengaturan_approval.manage')) { $globalSearchMenuData[] = [ 'title' => 'Alur Approval Bertingkat', 'url' => route('admin.pengaturan-approval.index'), 'category' => 'Pengaturan Absensi', 'icon' => 'check-check', 'keywords' => 'alur approval persetujuan bertingkat atasan hrd multi level workflow', 'desc' => 'Konfigurasi hirarki approval izin, cuti, dinas, lembur, dan reimbursement' ]; } if (auth()->user()?->can('kuota_cuti.manage')) { $globalSearchMenuData[] = [ 'title' => 'Kuota Cuti Pegawai', 'url' => route('admin.pengaturan-absensi.kuota-cuti.index'), 'category' => 'Pengaturan Absensi', 'icon' => 'calendar-heart', 'keywords' => 'kuota cuti hak cuti cuti tahunan sisa cuti jatah cuti plafon cuti', 'desc' => 'Pengaturan plafon dan sisa saldo cuti tahunan per karyawan' ]; } if (auth()->user()?->can('laporan.monitoring')) { $globalSearchMenuData[] = [ 'title' => 'Monitoring Absensi Harian', 'url' => route('admin.laporan.monitoring'), 'category' => 'Laporan & Presensi', 'icon' => 'activity', 'keywords' => 'monitoring absensi harian revisi absen hapus presensi kehadiran saklar toggle bawahan', 'desc' => 'Pantau absensi hari ini, revisi jam kerja, dan kontrol saklar mobile' ]; } if (auth()->user()?->can('laporan.izin')) { $globalSearchMenuData[] = [ 'title' => 'Laporan Izin & Cuti', 'url' => route('admin.laporan.izin'), 'category' => 'Laporan & Presensi', 'icon' => 'file-check-2', 'keywords' => 'izin cuti sakit surat dokter persetujuan izin pengajuan permohonan', 'desc' => 'Verifikasi dan daftar pengajuan izin, sakit, dan cuti pegawai' ]; } if (auth()->user()?->can('laporan.dinas')) { $globalSearchMenuData[] = [ 'title' => 'Laporan Kunjungan Dinas', 'url' => route('admin.laporan.dinas'), 'category' => 'Laporan & Presensi', 'icon' => 'plane-takeoff', 'keywords' => 'dinas luar perjalanan dinas tugas luar spd kunjungan dinas luar kota', 'desc' => 'Monitoring tugas dinas luar kota dan verifikasi surat tugas' ]; } if (auth()->user()?->can('laporan.lembur')) { $globalSearchMenuData[] = [ 'title' => 'Laporan Lembur Karyawan', 'url' => route('admin.laporan.lembur'), 'category' => 'Laporan & Presensi', 'icon' => 'timer', 'keywords' => 'lembur pengajuan lembur spkl durasi lembur verifikasi lembur upah lembur', 'desc' => 'Persetujuan dan rekap jam lembur yang diajukan oleh karyawan' ]; } if (auth()->user()?->can('laporan.rekap')) { $globalSearchMenuData[] = [ 'title' => 'Rekap Laporan Absensi Bulanan', 'url' => route('admin.laporan.rekap'), 'category' => 'Laporan & Presensi', 'icon' => 'file-spreadsheet', 'keywords' => 'rekap bulanan laporan rekap export excel cetak pdf kehadiran total denda', 'desc' => 'Laporan kumulatif bulanan dan ekspor data spreadsheet lengkap' ]; } if (auth()->user()?->can('laporan.kunci')) { $globalSearchMenuData[] = [ 'title' => 'Laporan Terkunci (Closing Absensi)', 'url' => route('admin.laporan.terkunci'), 'category' => 'Laporan & Presensi', 'icon' => 'lock', 'keywords' => 'kunci laporan closing absensi arsip terkunci freeze data gembok payroll', 'desc' => 'Kunci periode absensi agar data kehadiran permanen pasca-payroll' ]; } if (auth()->user()?->can('masalah.view')) { $globalSearchMenuData[] = [ 'title' => 'Kendala & Pengaduan Absensi', 'url' => route('admin.pengajuan-masalah.index'), 'category' => 'Laporan & Presensi', 'icon' => 'help-circle', 'keywords' => 'kendala masalah absensi pengaduan helpdesk tiket komplain error presensi', 'desc' => 'Tindak lanjuti pengaduan kendala presensi GPS dari aplikasi mobile' ]; } if (auth()->user()?->can('penggajian.master')) { $globalSearchMenuData[] = [ 'title' => 'Master Komponen & Gaji Pokok', 'url' => route('admin.penggajian.master.index'), 'category' => 'Penggajian & Payroll', 'icon' => 'layers', 'keywords' => 'gaji pokok master komponen tunjangan potongan tetap payroll penetapan gaji', 'desc' => 'Atur nominal gaji pokok serta tunjangan & potongan tetap per pegawai' ]; } if (auth()->user()?->can('penggajian.kalkulasi')) { $globalSearchMenuData[] = [ 'title' => 'Data Gaji Bersih & Slip Gaji', 'url' => route('admin.penggajian.gaji-bersih.index'), 'category' => 'Penggajian & Payroll', 'icon' => 'receipt', 'keywords' => 'gaji bersih slip gaji payroll generate gaji cetak slip transfer bank potong pinjaman', 'desc' => 'Hitung otomatis payroll bulanan, pemotongan pinjaman, dan slip gaji' ]; } if (auth()->user()?->can('reimbursement.pengajuan')) { $globalSearchMenuData[] = [ 'title' => 'Data Pengajuan Reimbursement', 'url' => route('admin.reimbursement.pengajuan.index'), 'category' => 'Klaim & Reimbursement', 'icon' => 'receipt', 'keywords' => 'reimburse reimbursement klaim kwitansi nota pencairan klaim medis bensin dinas', 'desc' => 'Verifikasi bukti kuitansi pengajuan klaim karyawan dan pencairan dana' ]; } if (auth()->user()?->can('reimbursement.jenis')) { $globalSearchMenuData[] = [ 'title' => 'Jenis & Aturan Reimbursement', 'url' => route('admin.reimbursement.jenis.index'), 'category' => 'Klaim & Reimbursement', 'icon' => 'sliders', 'keywords' => 'aturan reimburse plafon limit jenis reimbursement syarat klaim kuota medis', 'desc' => 'Kelola master jenis klaim serta batasan plafon bulanan dan tahunan' ]; } if (auth()->user()?->can('pinjaman.view')) { $globalSearchMenuData[] = [ 'title' => 'Pinjaman Pegawai (Simpan Pinjam)', 'url' => route('admin.pinjaman.index'), 'category' => 'Simpan Pinjam', 'icon' => 'hand-coins', 'keywords' => 'pinjaman simpan pinjam kredit cicilan angsuran fee bunga potong gaji pelunasan lunas', 'desc' => 'Pencatatan pinjaman pegawai, perhitungan fee, dan cicilan potong gaji' ]; } if (auth()->user()?->can('pengumuman.view') || auth()->user()?->can('pengumuman.manage')) { $globalSearchMenuData[] = [ 'title' => 'Pengumuman & Broadcast Mobile', 'url' => route('admin.pengumuman.index'), 'category' => 'Komunikasi & Informasi', 'icon' => 'megaphone', 'keywords' => 'pengumuman broadcast surat edaran berita internal notifikasi memo informasi', 'desc' => 'Kirim broadcast pengumuman resmi ke seluruh aplikasi mobile pegawai' ]; } if (auth()->user()?->can('role.view') || auth()->user()?->can('role.manage')) { $globalSearchMenuData[] = [ 'title' => 'Peran & Hak Akses (Role Management)', 'url' => route('admin.roles.index'), 'category' => 'Manajemen Akses', 'icon' => 'shield', 'keywords' => 'role hak akses permission peran wewenang otoritas admin spv hrd', 'desc' => 'Konfigurasi hak akses modul dinamis untuk setiap jabatan/peran admin' ]; } if (auth()->user()?->can('user_admin.manage')) { $globalSearchMenuData[] = [ 'title' => 'Akun Pengelola (User Admin)', 'url' => route('admin.users.index'), 'category' => 'Manajemen Akses', 'icon' => 'user-check', 'keywords' => 'user admin akun pengelola ganti password operator super admin login', 'desc' => 'Daftar pengguna login panel admin, penugasan role, dan reset password' ]; } @endphp @stack('scripts')