diff --git a/app/Http/Controllers/DashboardController.php b/app/Http/Controllers/DashboardController.php index 40d8090..7e3b65d 100644 --- a/app/Http/Controllers/DashboardController.php +++ b/app/Http/Controllers/DashboardController.php @@ -2,19 +2,20 @@ namespace App\Http\Controllers; -use App\Models\User; +use App\Models\UserDosen; +use App\Models\UserStaff; class DashboardController extends Controller { public function index() { try { - $dosen = User::query() + $dosen = UserDosen::query() ->where('role', 'dosen') ->orderBy('nama') ->get(); - $teknisi = User::query() + $teknisi = UserStaff::query() ->whereIn('role', ['teknisi', 'staff']) ->orderBy('nama') ->get(); diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php new file mode 100644 index 0000000..7509519 --- /dev/null +++ b/app/Http/Controllers/UserController.php @@ -0,0 +1,302 @@ +query('q', '')); + $role = trim((string) $request->query('role', '')); + $perPageInput = (string) $request->query('per_page', '10'); + + $allowedPerPage = ['10', '25', '50', '100', 'all']; + if (!in_array($perPageInput, $allowedPerPage, true)) { + $perPageInput = '10'; + } + + $perPage = $perPageInput === 'all' ? 100000 : (int) $perPageInput; + + // Query dari users_dosen (Dosen) + $dosenQuery = UserDosen::query(); + + // Query dari users_staff (Staff & Teknisi) + $staffQuery = UserStaff::query(); + + // Apply search filter + if ($q !== '') { + $dosenQuery->where(function ($sub) use ($q) { + $sub->where('nama', 'ilike', "%{$q}%") + ->orWhere('nip', 'ilike', "%{$q}%") + ->orWhere('nidn', 'ilike', "%{$q}%"); + }); + + $staffQuery->where(function ($sub) use ($q) { + $sub->where('nama', 'ilike', "%{$q}%") + ->orWhere('nip', 'ilike', "%{$q}%") + ->orWhere('nidn', 'ilike', "%{$q}%"); + }); + } + + // Apply role filter + if ($role !== '') { + if ($role === 'dosen') { + $staffQuery = null; // Only show dosen + } else { + $dosenQuery = null; // Only show staff/teknisi + if (in_array($role, ['staff', 'teknisi'])) { + $staffQuery->where('role', $role); + } + } + } + + // Merge results + $dosen = $dosenQuery ? $dosenQuery->get() : collect(); + $staff = $staffQuery ? $staffQuery->get() : collect(); + + $allUsers = $dosen->merge($staff)->sortBy('nama'); + $totalCount = $allUsers->count(); + + // Manual pagination + $page = (int) $request->query('page', 1); + $offset = ($page - 1) * $perPage; + $items = $allUsers->slice($offset, $perPage)->values(); + + // Create a Length Aware paginator instance + $users = new \Illuminate\Pagination\LengthAwarePaginator( + $items, + $totalCount, + $perPage, + $page, + [ + 'path' => route('users.index'), + 'query' => $request->query(), + ] + ); + + return view('user.index', [ + 'users' => $users, + 'q' => $q, + 'role' => $role, + 'perPage' => $perPageInput, + 'roleOptions' => ['dosen', 'teknisi', 'staff'], + 'totalCount' => $totalCount, + ]); + } + + public function dosen(Request $request): View + { + $q = trim((string) $request->query('q', '')); + $perPageInput = (string) $request->query('per_page', '10'); + + $allowedPerPage = ['10', '25', '50', '100', 'all']; + if (!in_array($perPageInput, $allowedPerPage, true)) { + $perPageInput = '10'; + } + + $perPage = $perPageInput === 'all' ? 100000 : (int) $perPageInput; + + $query = UserDosen::query()->where('role', 'dosen')->orderBy('nama'); + + if ($q !== '') { + $query->where(function ($sub) use ($q) { + $sub->where('nama', 'ilike', "%{$q}%") + ->orWhere('nip', 'ilike', "%{$q}%") + ->orWhere('nidn', 'ilike', "%{$q}%"); + }); + } + + $dosen = $query->paginate($perPage)->withQueryString(); + $dosenCount = UserDosen::where('role', 'dosen')->count(); + + return view('Dosen.dosen', [ + 'dosen' => $dosen, + 'dosenCount' => $dosenCount, + 'q' => $q, + 'perPage' => $perPageInput, + ]); + } + + public function staff(Request $request): View + { + $q = trim((string) $request->query('q', '')); + $role = trim((string) $request->query('role', '')); + $perPageInput = (string) $request->query('per_page', '10'); + + $allowedPerPage = ['10', '25', '50', '100', 'all']; + if (!in_array($perPageInput, $allowedPerPage, true)) { + $perPageInput = '10'; + } + + $perPage = $perPageInput === 'all' ? 100000 : (int) $perPageInput; + + $query = UserStaff::query()->orderBy('nama'); + + if ($q !== '') { + $query->where(function ($sub) use ($q) { + $sub->where('nama', 'ilike', "%{$q}%") + ->orWhere('nip', 'ilike', "%{$q}%") + ->orWhere('nidn', 'ilike', "%{$q}%"); + }); + } + + if ($role !== '') { + $query->where('role', $role); + } + + $staff = $query->paginate($perPage)->withQueryString(); + $staffCount = UserStaff::count(); + + return view('staff.staff', [ + 'staff' => $staff, + 'staffCount' => $staffCount, + 'q' => $q, + 'role' => $role, + 'perPage' => $perPageInput, + ]); + } + + public function create(): View + { + $roleOptions = ['dosen', 'teknisi', 'staff']; + + // Determine which view to show based on the URL path + if (request()->path() === 'dosen/create') { + return view('Dosen.create', [ + 'roleOptions' => $roleOptions, + ]); + } + + // Default to staff create view + return view('staff.create', [ + 'roleOptions' => $roleOptions, + ]); + } + + public function store(Request $request): RedirectResponse + { + // Clean up input - trim whitespace and convert empty strings to null + $request->merge([ + 'nama' => trim((string) $request->input('nama')), + 'nip' => ($nip = trim((string) $request->input('nip'))) === '' ? null : $nip, + 'nidn' => ($nidn = trim((string) $request->input('nidn'))) === '' ? null : $nidn, + 'bagian' => trim((string) $request->input('bagian')), + 'foto' => trim((string) $request->input('foto')), + ]); + + $role = $request->input('role'); + + if ($role === 'dosen') { + // Validate for Dosen + $validated = $request->validate([ + 'nama' => ['required', 'string', 'max:255'], + 'nip' => ['nullable', 'string', 'max:255', 'unique:users_dosen,nip'], + 'nidn' => ['nullable', 'string', 'max:255', 'unique:users_dosen,nidn'], + 'prodi' => ['nullable', 'string', 'max:255'], + 'foto' => ['nullable', 'string', 'max:2048'], + 'role' => ['required', 'in:dosen'], + ]); + + UserDosen::create($validated); + + return redirect()->route('users.dosen')->with('success', 'Data dosen berhasil ditambahkan.'); + } else { + // Validate for Staff/Teknisi + $validated = $request->validate([ + 'nama' => ['required', 'string', 'max:255'], + 'nip' => ['nullable', 'string', 'max:255', 'unique:users_staff,nip'], + 'nidn' => ['nullable', 'string', 'max:255', 'unique:users_staff,nidn'], + 'bagian' => ['nullable', 'string', 'max:255'], + 'foto' => ['nullable', 'string', 'max:2048'], + 'role' => ['required', 'in:staff,teknisi'], + ]); + + UserStaff::create($validated); + + return redirect()->route('users.staff')->with('success', 'Data staff/teknisi berhasil ditambahkan.'); + } + } + + public function edit(UserDosen | UserStaff $user): View + { + $roleOptions = ['dosen', 'teknisi', 'staff']; + + // Determine which view to show based on the URL path or user type + if (request()->path() === "dosen/{$user->getKey()}/edit" || $user instanceof UserDosen) { + return view('Dosen.edit', [ + 'user' => $user, + 'roleOptions' => $roleOptions, + ]); + } + + return view('staff.edit', [ + 'user' => $user, + 'roleOptions' => $roleOptions, + ]); + } + + public function update(Request $request, UserDosen | UserStaff $user): RedirectResponse + { + // Clean up input - trim whitespace and convert empty strings to null + $request->merge([ + 'nama' => trim((string) $request->input('nama')), + 'nip' => ($nip = trim((string) $request->input('nip'))) === '' ? null : $nip, + 'nidn' => ($nidn = trim((string) $request->input('nidn'))) === '' ? null : $nidn, + 'bagian' => trim((string) $request->input('bagian')), + 'foto' => trim((string) $request->input('foto')), + ]); + + if ($user instanceof UserDosen) { + // Update Dosen + $validated = $request->validate([ + 'nama' => ['required', 'string', 'max:255'], + 'nip' => ['nullable', 'string', 'max:255', 'unique:users_dosen,nip,' . $user->getKey() . ',id'], + 'nidn' => ['nullable', 'string', 'max:255', 'unique:users_dosen,nidn,' . $user->getKey() . ',id'], + 'prodi' => ['nullable', 'string', 'max:255'], + 'foto' => ['nullable', 'string', 'max:2048'], + 'role' => ['required', 'in:dosen'], + ]); + + $user->update($validated); + + return redirect()->route('users.dosen')->with('success', 'Data dosen berhasil diperbarui.'); + } else { + // Update Staff/Teknisi + $validated = $request->validate([ + 'nama' => ['required', 'string', 'max:255'], + 'nip' => ['nullable', 'string', 'max:255', 'unique:users_staff,nip,' . $user->getKey() . ',id'], + 'nidn' => ['nullable', 'string', 'max:255', 'unique:users_staff,nidn,' . $user->getKey() . ',id'], + 'bagian' => ['nullable', 'string', 'max:255'], + 'foto' => ['nullable', 'string', 'max:2048'], + 'role' => ['required', 'in:staff,teknisi'], + ]); + + $user->update($validated); + + return redirect()->route('users.staff')->with('success', 'Data staff/teknisi berhasil diperbarui.'); + } + } + + public function destroy(Request $request, string $id): RedirectResponse + { + // Try to find in UserDosen first, then UserStaff + $userDosen = UserDosen::find($id); + $userStaff = UserStaff::find($id); + + if ($userDosen) { + $userDosen->delete(); + return redirect()->route('users.dosen')->with('success', 'Data dosen berhasil dihapus.'); + } elseif ($userStaff) { + $userStaff->delete(); + return redirect()->route('users.staff')->with('success', 'Data staff/teknisi berhasil dihapus.'); + } + + return redirect()->back()->with('error', 'Data user tidak ditemukan.'); + } +} diff --git a/app/Http/Controllers/WelcomeController.php b/app/Http/Controllers/WelcomeController.php new file mode 100644 index 0000000..ac68b3e --- /dev/null +++ b/app/Http/Controllers/WelcomeController.php @@ -0,0 +1,156 @@ +nama ?? null; + + // Ambil data durasi mingguan dari attendance table + $durasiMingguan = Attendance::getDurationByDayThisWeek($user->id); + } else { + // Data default jika tidak ada user terautentikasi + $nama = 'Dosen/Staff'; + $durasiMingguan = [ + 'Senin' => 7.5, + 'Selasa' => 6.8, + 'Rabu' => 8.2, + 'Kamis' => 7.1, + 'Jumat' => 5.4, + ]; + } + + return view('welcome', [ + 'nama' => $nama, + 'durasiMingguan' => $durasiMingguan, + ]); + } + + /** + * Get attendance data for a specific user + * API endpoint untuk parsing data + */ + public function getAttendanceData(Request $request) + { + if (!Auth::check()) { + return response()->json([ + 'success' => false, + 'message' => 'User tidak terautentikasi', + ], 401); + } + + $user = Auth::user(); + $durasiMingguan = Attendance::getDurationByDayThisWeek($user->id); + $totalJam = array_sum($durasiMingguan); + + return response()->json([ + 'success' => true, + 'nama' => $user->nama, + 'durasiMingguan' => $durasiMingguan, + 'totalJam' => round($totalJam, 2), + ]); + } + + /** + * Record user check-in/check-out attendance + */ + public function recordAttendance(Request $request) + { + if (!Auth::check()) { + return response()->json([ + 'success' => false, + 'message' => 'User tidak terautentikasi', + ], 401); + } + + $validated = $request->validate([ + 'action' => 'required|in:check_in,check_out', // check_in atau check_out + ]); + + $user = Auth::user(); + $today = now()->toDateString(); + + // Cari atau buat record attendance untuk hari ini + $attendance = Attendance::firstOrCreate( + [ + 'user_id' => $user->id, + 'tanggal' => $today, + ], + [ + 'user_type' => $user instanceof UserDosen ? 'dosen' : 'staff', + ] + ); + + if ($validated['action'] === 'check_in') { + $attendance->jam_masuk = now()->toTimeString(); + $attendance->keterangan = 'hadir'; + } else { + $attendance->jam_keluar = now()->toTimeString(); + + // Hitung durasi jika sudah ada jam_masuk + if ($attendance->jam_masuk) { + $masuk = \Carbon\Carbon::createFromTimeString($attendance->jam_masuk); + $keluar = \Carbon\Carbon::createFromTimeString($attendance->jam_keluar); + $durasi = $masuk->diffInMinutes($keluar) / 60; // convert ke jam + $attendance->durasi_jam = round($durasi, 2); + } + } + + $attendance->save(); + + return response()->json([ + 'success' => true, + 'message' => $validated['action'] === 'check_in' ? 'Check-in berhasil' : 'Check-out berhasil', + 'attendance' => $attendance, + ]); + } + + /** + * Update status (online/tidak bisa diganggu) + */ + public function updateStatus(Request $request) + { + if (!Auth::check()) { + return response()->json([ + 'success' => false, + 'message' => 'User tidak terautentikasi', + ], 401); + } + + $validated = $request->validate([ + 'status' => 'required|in:online,dnd', // dnd = do not disturb + ]); + + $user = Auth::user(); + + // Simpan status ke session atau database + // Untuk sekarang, simpan di session + session(['user_status' => $validated['status']]); + + return response()->json([ + 'success' => true, + 'message' => 'Status diperbarui', + 'status' => $validated['status'], + ]); + } +} diff --git a/app/Models/Attendance.php b/app/Models/Attendance.php new file mode 100644 index 0000000..6e5be8d --- /dev/null +++ b/app/Models/Attendance.php @@ -0,0 +1,98 @@ + 'date', + 'durasi_jam' => 'decimal:2', + ]; + + /** + * Get the user (bisa UserDosen atau UserStaff) + */ + public function user() + { + return $this->belongsTo(UserDosen::class, 'user_id') + ->orWhere('user_type', 'dosen') + ->union(\DB::table('users_staff')->whereColumn('id', 'attendances.user_id')); + } + + /** + * Scope untuk filter minggu ini + */ + public function scopeThisWeek($query) + { + $startOfWeek = now()->startOfWeek(); + $endOfWeek = now()->endOfWeek(); + + return $query->whereBetween('tanggal', [$startOfWeek, $endOfWeek]); + } + + /** + * Scope untuk filter hari kerja (Senin-Jumat) + */ + public function scopeWorkDays($query) + { + return $query->whereNotIn(\DB::raw('DAYOFWEEK(tanggal)'), [1, 7]); // 1=Sunday, 7=Saturday + } + + /** + * Get total durasi minggu ini + */ + public static function getTotalDurationThisWeek($userId) + { + return self::where('user_id', $userId) + ->thisWeek() + ->workDays() + ->sum('durasi_jam'); + } + + /** + * Get durasi per hari minggu ini (Senin-Jumat) + */ + public static function getDurationByDayThisWeek($userId) + { + $days = ['Senin', 'Selasa', 'Rabu', 'Kamis', 'Jumat']; + $dayQuery = self::where('user_id', $userId) + ->thisWeek() + ->workDays() + ->get() + ->groupBy(function ($item) { + $dayOfWeek = $item->tanggal->dayName; + return match ($dayOfWeek) { + 'Monday' => 'Senin', + 'Tuesday' => 'Selasa', + 'Wednesday' => 'Rabu', + 'Thursday' => 'Kamis', + 'Friday' => 'Jumat', + default => null, + }; + }); + + $result = []; + foreach ($days as $day) { + $result[$day] = $dayQuery->get($day)?->sum('durasi_jam') ?? 0; + } + + return $result; + } +} diff --git a/app/Models/User.php b/app/Models/User.php index b396533..ff4f55a 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -6,14 +6,84 @@ class User extends Model { - protected $table = 'users'; + protected $table = 'users_dosen'; + + public $incrementing = false; + + protected $keyType = 'string'; protected $fillable = [ + 'id', 'nama', 'nip', 'nidn', 'foto', - 'role' + 'role', + 'password' + ]; + + protected $hidden = [ + 'password', + ]; + + public $timestamps = true; +} +{$model->getKeyName()})) { + $model->{$model->getKeyName()} = Str::uuid()->toString(); + } + }); + } +} \ No newline at end of file diff --git a/app/Models/UserStaff.php b/app/Models/UserStaff.php new file mode 100644 index 0000000..def17b6 --- /dev/null +++ b/app/Models/UserStaff.php @@ -0,0 +1,31 @@ +dropColumn(['name', 'email', 'password', 'remember_token', 'email_verified_at']); + // Only drop columns if they exist + if (Schema::hasColumn('users', 'name')) { + $table->dropColumn(['name']); + } + if (Schema::hasColumn('users', 'email')) { + $table->dropColumn(['email']); + } + if (Schema::hasColumn('users', 'password')) { + $table->dropColumn(['password']); + } + if (Schema::hasColumn('users', 'remember_token')) { + $table->dropColumn(['remember_token']); + } + if (Schema::hasColumn('users', 'email_verified_at')) { + $table->dropColumn(['email_verified_at']); + } }); Schema::table('users', function (Blueprint $table) { - $table->string('nama')->after('id'); - $table->string('nip')->unique()->nullable()->after('nama'); - $table->string('nidn')->unique()->nullable()->after('nip'); - $table->string('foto')->nullable()->after('nidn'); - $table->string('role')->default('staff')->after('foto'); + // Only add columns if they don't exist + if (!Schema::hasColumn('users', 'nama')) { + $table->string('nama')->after('id'); + } + if (!Schema::hasColumn('users', 'nip')) { + $table->string('nip')->unique()->nullable()->after('nama'); + } + if (!Schema::hasColumn('users', 'nidn')) { + $table->string('nidn')->unique()->nullable()->after('nip'); + } + if (!Schema::hasColumn('users', 'foto')) { + $table->string('foto')->nullable()->after('nidn'); + } + if (!Schema::hasColumn('users', 'role')) { + $table->string('role')->default('staff')->after('foto'); + } }); } diff --git a/database/migrations/2026_04_14_000001_create_users_staff_table.php b/database/migrations/2026_04_14_000001_create_users_staff_table.php new file mode 100644 index 0000000..dd84dbc --- /dev/null +++ b/database/migrations/2026_04_14_000001_create_users_staff_table.php @@ -0,0 +1,35 @@ +uuid('id')->primary(); + $table->string('nama'); + $table->string('nip')->unique()->nullable(); + $table->string('nidn')->unique()->nullable(); + $table->string('foto')->nullable(); + $table->enum('role', ['staff', 'teknisi'])->default('staff'); + $table->string('password')->nullable(); + $table->timestamps(); + }); + } + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('users_staff'); + } +}; diff --git a/database/migrations/2026_04_14_000002_create_users_dosen_table.php b/database/migrations/2026_04_14_000002_create_users_dosen_table.php new file mode 100644 index 0000000..2d8a199 --- /dev/null +++ b/database/migrations/2026_04_14_000002_create_users_dosen_table.php @@ -0,0 +1,37 @@ +uuid('id')->primary(); + $table->string('nama'); + $table->string('nip')->unique()->nullable(); + $table->string('nidn')->unique()->nullable(); + $table->string('prodi')->nullable(); + $table->string('foto')->nullable(); + $table->enum('role', ['dosen'])->default('dosen'); + $table->string('password')->nullable(); + $table->timestamps(); + }); + } + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('users_dosen'); + } +}; diff --git a/database/migrations/2026_04_15_000001_create_attendances_table.php b/database/migrations/2026_04_15_000001_create_attendances_table.php new file mode 100644 index 0000000..f97af6a --- /dev/null +++ b/database/migrations/2026_04_15_000001_create_attendances_table.php @@ -0,0 +1,42 @@ +uuid('id')->primary(); + $table->uuid('user_id')->nullable(); + $table->string('user_type')->nullable(); // 'dosen' atau 'staff' + $table->date('tanggal'); + $table->time('jam_masuk')->nullable(); + $table->time('jam_keluar')->nullable(); + $table->decimal('durasi_jam', 5, 2)->default(0); // durasi dalam jam (misal 7.5) + $table->string('keterangan')->nullable(); // hadir, sakit, izin, dll + $table->timestamps(); + + // Unique constraint agar 1 user hanya bisa 1 record per hari + $table->unique(['user_id', 'tanggal']); + + // Index untuk query cepat + $table->index('user_id'); + $table->index('tanggal'); + $table->index(['user_type', 'tanggal']); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('attendances'); + } +}; diff --git a/resources/views/Dosen/create.blade.php b/resources/views/Dosen/create.blade.php new file mode 100644 index 0000000..0bb6387 --- /dev/null +++ b/resources/views/Dosen/create.blade.php @@ -0,0 +1,616 @@ + + + + + + Tambah Dosen Baru - Dashboard JTI + + + +
+
+ +
JTI
+
+

Tambah Dosen

+

Data dosen baru

+
+
+
+ Kembali +
+
+ +
+
+

👨‍🏫 Form Tambah Dosen Baru

+

Lengkapi informasi dosen dengan data yang akurat dan benar.

+
+ + @if ($errors->any()) +
+
+ ❌ Validasi gagal, periksa kembali data Anda: +
    + @foreach ($errors->all() as $error) +
  • {{ $error }}
  • + @endforeach +
+
+
+ @endif + +
+ @csrf + + +
+
+
👨‍🏫
+ +
+ + + +
📝 Gunakan file atau URL gambar untuk foto profil
+
+ + +
+ +
+
+ + + @error('nama') +
{{ $message }}
+ @enderror +
Masukkan nama lengkap dosen
+
+
+ + +
+
+ + + @error('nip') +
{{ $message }}
+ @enderror +
Nomor Induk Pegawai (opsional)
+
+ +
+ + + @error('nidn') +
{{ $message }}
+ @enderror +
Nomor Induk Dosen Nasional (opsional)
+
+
+ + +
+
+ + + @error('prodi') +
{{ $message }}
+ @enderror +
Pilih program studi untuk dosen
+
+
+ + + + + +
+ + ❌ Batal +
+
+
+
+
+ + + + + diff --git a/resources/views/Dosen/dosen.blade.php b/resources/views/Dosen/dosen.blade.php new file mode 100644 index 0000000..e801a2f --- /dev/null +++ b/resources/views/Dosen/dosen.blade.php @@ -0,0 +1,620 @@ + + + + + + CRUD Dosen - Dashboard JTI + + + + @php + $makeInitial = static function (?string $nama): string { + $nama = trim((string) $nama); + if ($nama === '') return 'NA'; + $parts = preg_split('/\s+/', $nama) ?: []; + $initials = ''; + foreach ($parts as $part) { + if ($part === '') continue; + $initials .= strtoupper(substr($part, 0, 1)); + if (strlen($initials) >= 2) break; + } + return $initials !== '' ? $initials : 'NA'; + }; + + $resolveFoto = static function (?string $foto): ?string { + $foto = trim((string) $foto); + if ($foto === '') return null; + if (preg_match('~^(https?://|data:|//)~i', $foto)) return $foto; + if (str_starts_with($foto, '/')) return $foto; + return asset($foto); + }; + @endphp + + + + + + diff --git a/resources/views/Dosen/edit.blade.php b/resources/views/Dosen/edit.blade.php new file mode 100644 index 0000000..62558d9 --- /dev/null +++ b/resources/views/Dosen/edit.blade.php @@ -0,0 +1,207 @@ + + + + + + Edit Dosen - JTI + + + + @php + $makeInitial = static function (?string $nama): string { + $nama = trim((string) $nama); + if ($nama === '') return '👨‍🏫'; + $parts = preg_split('/\s+/', $nama) ?: []; + $initials = ''; + foreach ($parts as $part) { + if ($part === '') continue; + $initials .= strtoupper(substr($part, 0, 1)); + if (strlen($initials) >= 2) break; + } + return $initials !== '' ? $initials : '👨‍🏫'; + }; + @endphp +
+
+

✏️ Edit Dosen

+ Kembali +
+
+ @if ($errors->any()) +
+ ❌ Validasi gagal: +
    + @foreach ($errors->all() as $error) +
  • {{ $error }}
  • + @endforeach +
+
+ @endif +
+ @csrf + @method('PUT') +
+
+ {{ $makeInitial($user->nama) }} + +
+ + + +
URL gambar untuk profil
+
+
+
+
+ + + @error('nama')
{{ $message }}
@enderror +
Nama lengkap dosen
+
+
+
+
+ + + @error('nip')
{{ $message }}
@enderror +
Nomor Induk Pegawai
+
+
+ + + @error('nidn')
{{ $message }}
@enderror +
Nomor Induk Dosen Nasional
+
+
+
+
+ + + @error('prodi')
{{ $message }}
@enderror +
Program studi dosen
+
+
+ +
+ + ❌ Batal +
+
+
+
+
+ + + \ No newline at end of file diff --git a/resources/views/Dosen/staff.blade.php b/resources/views/Dosen/staff.blade.php new file mode 100644 index 0000000..bff3016 --- /dev/null +++ b/resources/views/Dosen/staff.blade.php @@ -0,0 +1,635 @@ + + + + + + CRUD Staff/Teknisi - Dashboard JTI + + + + @php + $makeInitial = static function (?string $nama): string { + $nama = trim((string) $nama); + if ($nama === '') return 'NA'; + $parts = preg_split('/\s+/', $nama) ?: []; + $initials = ''; + foreach ($parts as $part) { + if ($part === '') continue; + $initials .= strtoupper(substr($part, 0, 1)); + if (strlen($initials) >= 2) break; + } + return $initials !== '' ? $initials : 'NA'; + }; + + $resolveFoto = static function (?string $foto): ?string { + $foto = trim((string) $foto); + if ($foto === '') return null; + if (preg_match('~^(https?://|data:|//)~i', $foto)) return $foto; + if (str_starts_with($foto, '/')) return $foto; + return asset($foto); + }; + @endphp + + + + + + diff --git a/resources/views/dashboard.blade.php b/resources/views/dashboard.blade.php index 04c65e6..315f145 100644 --- a/resources/views/dashboard.blade.php +++ b/resources/views/dashboard.blade.php @@ -3,7 +3,7 @@ - Dashboard JTI - Politeknik Negeri Jember + JTI Monitoring - Politeknik Negeri Jember + + +
+
+

🔧 Tambah Staff/Teknisi

+

Lengkapi data staff atau teknisi dengan informasi yang akurat.

+
+ +
+ @if ($errors->any()) +
+ ❌ Terjadi kesalahan validasi: +
    + @foreach ($errors->all() as $error) +
  • {{ $error }}
  • + @endforeach +
+
+ @endif + +
+ @csrf + + +
+
+ 🔧 + +
+ + +
Format: URL gambar (https://...)
+
+ + +
+ +
+
+ + + @error('nama') +
{{ $message }}
+ @enderror +
+
+ + +
+
+ + + @error('nip') +
{{ $message }}
+ @enderror +
Nomor Induk Pegawai (opsional)
+
+ +
+ + + @error('nidn') +
{{ $message }}
+ @enderror +
Identitas tambahan (opsional)
+
+
+ + +
+
+ + + @error('bagian') +
{{ $message }}
+ @enderror +
Pilih bagian/divisi staff
+
+
+ + +
+ +
+
+ + +
+
+ + +
+
+
+
+ + +
+ + ❌ Batal +
+
+
+
+ + + + diff --git a/resources/views/staff/edit.blade.php b/resources/views/staff/edit.blade.php new file mode 100644 index 0000000..8b2cdc4 --- /dev/null +++ b/resources/views/staff/edit.blade.php @@ -0,0 +1,590 @@ + + + + + + Edit Staff/Teknisi - Dashboard JTI + + + + @php + $makeInitial = static function (?string $nama): string { + $nama = trim((string) $nama); + if ($nama === '') return 'NA'; + $parts = preg_split('/\s+/', $nama) ?: []; + $initials = ''; + foreach ($parts as $part) { + if ($part === '') continue; + $initials .= strtoupper(substr($part, 0, 1)); + if (strlen($initials) >= 2) break; + } + return $initials !== '' ? $initials : 'NA'; + }; + + $resolveFoto = static function (?string $foto): ?string { + $foto = trim((string) $foto); + if ($foto === '') return null; + if (preg_match('~^(https?://|data:|//)~i', $foto)) return $foto; + if (str_starts_with($foto, '/')) return $foto; + return asset($foto); + }; + @endphp + +
+
+

✏️ Edit Staff/Teknisi

+

Perbarui informasi staff/teknisi (ID: {{ $user->id }})

+
+ +
+ @if ($errors->any()) +
+ ❌ Terjadi kesalahan validasi: +
    + @foreach ($errors->all() as $error) +
  • {{ $error }}
  • + @endforeach +
+
+ @endif + +
+ @csrf + @method('PUT') + + +
+
+ {{ $makeInitial($user->nama) }} + +
+ + +
Format: URL gambar (https://...)
+
+ + +
+ +
+
+ + + @error('nama') +
{{ $message }}
+ @enderror +
+
+ + +
+
+ + + @error('nip') +
{{ $message }}
+ @enderror +
Nomor Induk Pegawai (opsional)
+
+ +
+ + + @error('nidn') +
{{ $message }}
+ @enderror +
Identitas tambahan (opsional)
+
+
+ + +
+
+ + + @error('bagian') +
{{ $message }}
+ @enderror +
Pilih bagian/divisi staff
+
+
+ + +
+ +
+
+ role) === 'staff') required> + +
+
+ role) === 'teknisi') required> + +
+
+
+
+ + +
+ + ❌ Batal +
+
+
+
+ + + + diff --git a/resources/views/staff/staff.blade.php b/resources/views/staff/staff.blade.php new file mode 100644 index 0000000..bff3016 --- /dev/null +++ b/resources/views/staff/staff.blade.php @@ -0,0 +1,635 @@ + + + + + + CRUD Staff/Teknisi - Dashboard JTI + + + + @php + $makeInitial = static function (?string $nama): string { + $nama = trim((string) $nama); + if ($nama === '') return 'NA'; + $parts = preg_split('/\s+/', $nama) ?: []; + $initials = ''; + foreach ($parts as $part) { + if ($part === '') continue; + $initials .= strtoupper(substr($part, 0, 1)); + if (strlen($initials) >= 2) break; + } + return $initials !== '' ? $initials : 'NA'; + }; + + $resolveFoto = static function (?string $foto): ?string { + $foto = trim((string) $foto); + if ($foto === '') return null; + if (preg_match('~^(https?://|data:|//)~i', $foto)) return $foto; + if (str_starts_with($foto, '/')) return $foto; + return asset($foto); + }; + @endphp + + + + + + diff --git a/resources/views/user/dosen.blade.php b/resources/views/user/dosen.blade.php new file mode 100644 index 0000000..a244bc2 --- /dev/null +++ b/resources/views/user/dosen.blade.php @@ -0,0 +1,620 @@ + + + + + + CRUD Dosen - Dashboard JTI + + + + @php + $makeInitial = static function (?string $nama): string { + $nama = trim((string) $nama); + if ($nama === '') return 'NA'; + $parts = preg_split('/\s+/', $nama) ?: []; + $initials = ''; + foreach ($parts as $part) { + if ($part === '') continue; + $initials .= strtoupper(substr($part, 0, 1)); + if (strlen($initials) >= 2) break; + } + return $initials !== '' ? $initials : 'NA'; + }; + + $resolveFoto = static function (?string $foto): ?string { + $foto = trim((string) $foto); + if ($foto === '') return null; + if (preg_match('~^(https?://|data:|//)~i', $foto)) return $foto; + if (str_starts_with($foto, '/')) return $foto; + return asset($foto); + }; + @endphp + + + + + + diff --git a/resources/views/user/index.blade.php b/resources/views/user/index.blade.php new file mode 100644 index 0000000..638cadf --- /dev/null +++ b/resources/views/user/index.blade.php @@ -0,0 +1,861 @@ + + + + + + Kelola Users - Dashboard JTI + + + + @php + $makeInitial = static function (?string $nama): string { + $nama = trim((string) $nama); + if ($nama === '') return 'NA'; + $parts = preg_split('/\s+/', $nama) ?: []; + $initials = ''; + foreach ($parts as $part) { + if ($part === '') continue; + $initials .= strtoupper(substr($part, 0, 1)); + if (strlen($initials) >= 2) break; + } + return $initials !== '' ? $initials : 'NA'; + }; + + $resolveFoto = static function (?string $foto): ?string { + $foto = trim((string) $foto); + if ($foto === '') return null; + if (preg_match('~^(https?://|data:|//)~i', $foto)) return $foto; + if (str_starts_with($foto, '/')) return $foto; + return asset($foto); + }; + @endphp + + + + + + diff --git a/resources/views/user/staff.blade.php b/resources/views/user/staff.blade.php new file mode 100644 index 0000000..7365cbe --- /dev/null +++ b/resources/views/user/staff.blade.php @@ -0,0 +1,635 @@ + + + + + + CRUD Staff/Teknisi - Dashboard JTI + + + + @php + $makeInitial = static function (?string $nama): string { + $nama = trim((string) $nama); + if ($nama === '') return 'NA'; + $parts = preg_split('/\s+/', $nama) ?: []; + $initials = ''; + foreach ($parts as $part) { + if ($part === '') continue; + $initials .= strtoupper(substr($part, 0, 1)); + if (strlen($initials) >= 2) break; + } + return $initials !== '' ? $initials : 'NA'; + }; + + $resolveFoto = static function (?string $foto): ?string { + $foto = trim((string) $foto); + if ($foto === '') return null; + if (preg_match('~^(https?://|data:|//)~i', $foto)) return $foto; + if (str_starts_with($foto, '/')) return $foto; + return asset($foto); + }; + @endphp + + + + + + diff --git a/resources/views/welcome.blade.php b/resources/views/welcome.blade.php index 5f83753..d5ddf09 100644 --- a/resources/views/welcome.blade.php +++ b/resources/views/welcome.blade.php @@ -1,225 +1,536 @@ - - - - + + + + + Management Portal - Dosen & Staff/Teknisi + - @endif - - -
- @if (Route::has('login')) - - @endif -
-
-
-
-

Let's get started

-

With so many options available to you,
we suggest you start with the following:

- - + .sidebar { + background: linear-gradient(180deg, #0f172a, #111827); + color: #e5e7eb; + border-radius: 20px; + padding: 20px; + box-shadow: var(--shadow); + display: flex; + flex-direction: column; + } -

- v{{ app()->version() }} - - View changelog - - - - -

+ .brand { + margin-bottom: 24px; + padding-bottom: 18px; + border-bottom: 1px solid rgba(229, 231, 235, 0.2); + } + + .brand h1 { + font-size: 1.1rem; + letter-spacing: 0.04em; + } + + .brand p { + margin-top: 4px; + color: #9ca3af; + font-size: 0.9rem; + } + + .menu { + display: grid; + gap: 10px; + } + + .menu a { + text-decoration: none; + color: #d1d5db; + border: 1px solid rgba(209, 213, 219, 0.15); + border-radius: 12px; + padding: 12px 14px; + font-weight: 700; + transition: all 0.2s ease; + display: flex; + align-items: center; + justify-content: space-between; + } + + .menu a:hover, + .menu a.active { + color: #ffffff; + background: rgba(15, 118, 110, 0.35); + border-color: rgba(94, 234, 212, 0.45); + transform: translateX(2px); + } + + .sidebar-note { + margin-top: auto; + border-top: 1px solid rgba(229, 231, 235, 0.18); + padding-top: 14px; + font-size: 0.84rem; + color: #9ca3af; + } + + .content { + display: grid; + grid-template-rows: auto 1fr; + gap: 16px; + } + + .topbar { + background: var(--panel); + border: 1px solid var(--line); + border-radius: 18px; + box-shadow: var(--shadow); + padding: 16px 18px; + display: flex; + justify-content: space-between; + align-items: center; + gap: 14px; + } + + .welcome h2 { + font-size: clamp(1.15rem, 2.5vw, 1.8rem); + } + + .welcome p { + margin-top: 4px; + color: var(--muted); + font-size: 0.95rem; + } + + .status-wrap { + position: relative; + min-width: 240px; + } + + .status-trigger { + width: 100%; + border: 1px solid var(--line); + background: #ffffff; + border-radius: 12px; + padding: 10px 12px; + display: flex; + align-items: center; + justify-content: space-between; + gap: 10px; + cursor: pointer; + font-weight: 700; + color: var(--ink); + } + + .status-current { + display: inline-flex; + align-items: center; + gap: 8px; + } + + .status-dot { + width: 10px; + height: 10px; + border-radius: 999px; + background: var(--ok); + box-shadow: 0 0 0 3px rgba(22, 163, 74, 0.18); + } + + .status-minus { + display: inline-flex; + width: 14px; + height: 14px; + border-radius: 999px; + align-items: center; + justify-content: center; + font-size: 12px; + font-weight: 900; + color: #fff; + background: var(--warn); + line-height: 1; + } + + .status-menu { + position: absolute; + top: calc(100% + 8px); + left: 0; + right: 0; + border: 1px solid var(--line); + background: #fff; + border-radius: 12px; + box-shadow: var(--shadow); + display: none; + overflow: hidden; + z-index: 10; + } + + .status-menu.open { + display: block; + } + + .status-option { + width: 100%; + text-align: left; + background: #fff; + border: 0; + border-bottom: 1px solid #edf0ef; + padding: 10px 12px; + font-weight: 700; + display: flex; + align-items: center; + gap: 8px; + cursor: pointer; + } + + .status-option:last-child { + border-bottom: 0; + } + + .status-option:hover { + background: #f8faf9; + } + + .main-grid { + display: grid; + grid-template-columns: 2fr 1fr; + gap: 16px; + } + + .card { + background: var(--panel); + border: 1px solid var(--line); + border-radius: 18px; + box-shadow: var(--shadow); + padding: 18px; + } + + .card h3 { + font-size: 1.05rem; + margin-bottom: 6px; + } + + .card p { + color: var(--muted); + font-size: 0.92rem; + } + + .chart-wrap { + margin-top: 14px; + } + + .chart-head { + display: flex; + justify-content: space-between; + align-items: center; + margin-bottom: 10px; + flex-wrap: wrap; + gap: 8px; + } + + .chip { + background: var(--brand-soft); + color: var(--brand); + border: 1px solid #b5ddd8; + padding: 6px 10px; + border-radius: 999px; + font-size: 0.8rem; + font-weight: 700; + } + + .chart { + display: grid; + gap: 9px; + } + + .row { + display: grid; + grid-template-columns: 70px 1fr 55px; + align-items: center; + gap: 10px; + } + + .day { + font-weight: 700; + color: #33413e; + font-size: 0.9rem; + } + + .bar-bg { + height: 12px; + background: #e9efed; + border-radius: 999px; + overflow: hidden; + } + + .bar { + height: 100%; + border-radius: 999px; + background: linear-gradient(90deg, var(--brand), #14b8a6); + transition: width 0.3s ease; + } + + .hours { + text-align: right; + font-weight: 700; + color: #33413e; + font-size: 0.86rem; + } + + .settings-list { + margin-top: 14px; + display: grid; + gap: 10px; + } + + .setting-item { + display: flex; + justify-content: space-between; + align-items: center; + border: 1px solid #e7ecea; + border-radius: 12px; + padding: 10px 12px; + font-size: 0.92rem; + } + + .setting-item span { + color: var(--muted); + } + + .btn { + border: 1px solid #d2dad7; + border-radius: 9px; + background: #fff; + padding: 6px 9px; + cursor: pointer; + font-weight: 700; + color: #33413e; + font-size: 0.82rem; + } + + .btn:hover { + border-color: #a9bbb6; + background: #f6faf9; + } + + @media (max-width: 980px) { + .layout { + grid-template-columns: 1fr; + } + + .sidebar { + padding: 14px; + } + + .menu { + grid-template-columns: 1fr 1fr; + } + + .main-grid { + grid-template-columns: 1fr; + } + } + + @media (max-width: 620px) { + .topbar { + flex-direction: column; + align-items: stretch; + } + + .status-wrap { + min-width: 0; + } + + .row { + grid-template-columns: 56px 1fr 45px; + } + } + + + + @php + $namaString = $nama ?? 'Dosen/Staff'; + $durasiMingguan = $durasiMingguan ?? [ + 'Senin' => 7.5, + 'Selasa' => 6.8, + 'Rabu' => 8.2, + 'Kamis' => 7.1, + 'Jumat' => 5.4, + ]; + $maksJam = max($durasiMingguan); + @endphp + +
+ + +
+
+
+

Selamat datang, {{ $namaString }}

+

Semoga aktivitas akademik dan operasional hari ini berjalan lancar.

-
- {{-- Laravel Logo --}} - - - - - - - - - - {{-- 13 --}} - - - - - - - - - - - - +
+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+
+ + +
-
-
+ - @if (Route::has('login')) - - @endif - +
+
+

Grafik Durasi Kehadiran Dosen di Kampus

+

Rekap otomatis dari Senin sampai Jumat, reset pada awal minggu berikutnya.

+ +
+
+ Durasi mingguan (jam) + Reset Mingguan Otomatis +
+ +
+ @foreach ($durasiMingguan as $hari => $jam) + @php + $persen = $maksJam > 0 ? ($jam / $maksJam) * 100 : 0; + @endphp +
+
{{ $hari }}
+ +
{{ rtrim(rtrim(number_format($jam, 1, '.', ''), '0'), '.') }}j
+
+ @endforeach +
+
+
+ + +
+ + + + + diff --git a/routes/web.php b/routes/web.php index a6761b8..5c6c683 100644 --- a/routes/web.php +++ b/routes/web.php @@ -1,7 +1,47 @@ name('home'); +Route::get('/dashboard', [DashboardController::class, 'index'])->name('dashboard'); + +// Welcome/Management Portal +Route::get('/welcome', [WelcomeController::class, 'index'])->name('welcome'); + +// API Routes untuk Attendance +Route::middleware(['auth'])->group(function () { + Route::get('/api/attendance/data', [WelcomeController::class, 'getAttendanceData'])->name('attendance.get'); + Route::post('/api/attendance/record', [WelcomeController::class, 'recordAttendance'])->name('attendance.record'); + Route::post('/api/status/update', [WelcomeController::class, 'updateStatus'])->name('status.update'); +}); + +// User listing pages +Route::get('/users', [UserController::class, 'index'])->name('users.index'); +Route::get('/users/dosen/index', [UserController::class, 'dosen'])->name('users.dosen'); +Route::get('/users/staff/index', [UserController::class, 'staff'])->name('users.staff'); + +// Dosen CRUD +Route::get('/dosen/create', [UserController::class, 'create'])->name('dosen.create'); +Route::post('/dosen/store', [UserController::class, 'store'])->name('dosen.store'); +Route::get('/dosen/{user}/edit', [UserController::class, 'edit'])->name('dosen.edit'); +Route::put('/dosen/{user}', [UserController::class, 'update'])->name('dosen.update'); +Route::delete('/dosen/{user}', [UserController::class, 'destroy'])->name('dosen.destroy'); + +// Staff CRUD +Route::get('/staff/create', [UserController::class, 'create'])->name('staff.create'); +Route::post('/staff/store', [UserController::class, 'store'])->name('staff.store'); +Route::get('/staff/{staff}/edit', [UserController::class, 'edit'])->name('staff.edit'); +Route::put('/staff/{staff}', [UserController::class, 'update'])->name('staff.update'); +Route::delete('/staff/{staff}', [UserController::class, 'destroy'])->name('staff.destroy'); + +// Generic user resource routes +Route::resource('users', UserController::class)->except(['show', 'index']); diff --git a/storage/framework/views/.gitignore b/storage/framework/views/.gitignore deleted file mode 100644 index d6b7ef3..0000000 --- a/storage/framework/views/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -* -!.gitignore diff --git a/storage/framework/views/0051f259517d4c3dbc504a35835151ec.php b/storage/framework/views/0051f259517d4c3dbc504a35835151ec.php new file mode 100644 index 0000000..020319f --- /dev/null +++ b/storage/framework/views/0051f259517d4c3dbc504a35835151ec.php @@ -0,0 +1,12 @@ +> + + + + + + + + + + + \ No newline at end of file diff --git a/storage/framework/views/008dd928ddf8b5e67bf128efd783abe9.php b/storage/framework/views/008dd928ddf8b5e67bf128efd783abe9.php new file mode 100644 index 0000000..67bd6d7 --- /dev/null +++ b/storage/framework/views/008dd928ddf8b5e67bf128efd783abe9.php @@ -0,0 +1,8 @@ +
merge(['class' => "w-full max-w-7xl mx-auto p-4 sm:p-14 border-x border-dashed border-neutral-300 dark:border-white/[9%]"])); ?> + +> + + +
+ \ No newline at end of file diff --git a/storage/framework/views/010ba39dd904a2e2e061be8a5f775586.php b/storage/framework/views/010ba39dd904a2e2e061be8a5f775586.php new file mode 100644 index 0000000..2c3e74d --- /dev/null +++ b/storage/framework/views/010ba39dd904a2e2e061be8a5f775586.php @@ -0,0 +1,5 @@ +startSection('title', __('Not Found')); ?> +startSection('code', '404'); ?> +startSection('message', __('Not Found')); ?> + +make('errors::minimal', array_diff_key(get_defined_vars(), ['__data' => 1, '__path' => 1]))->render(); ?> \ No newline at end of file diff --git a/storage/framework/views/022fe70fb6131850f03b2fdb3446201d.php b/storage/framework/views/022fe70fb6131850f03b2fdb3446201d.php new file mode 100644 index 0000000..94b3cae --- /dev/null +++ b/storage/framework/views/022fe70fb6131850f03b2fdb3446201d.php @@ -0,0 +1,30 @@ +hasPages()): ?> + + + \ No newline at end of file diff --git a/storage/framework/views/03ea11c42735642aaf79429fbfce4107.php b/storage/framework/views/03ea11c42735642aaf79429fbfce4107.php new file mode 100644 index 0000000..cf22b34 --- /dev/null +++ b/storage/framework/views/03ea11c42735642aaf79429fbfce4107.php @@ -0,0 +1,54 @@ + + + + + + + <?php echo $__env->yieldContent('title'); ?> + + + + + +
+
+
+ yieldContent('message'); ?> +
+
+
+ + + \ No newline at end of file diff --git a/storage/framework/views/07278db8bf9c8f289af0f1c1a8421634.php b/storage/framework/views/07278db8bf9c8f289af0f1c1a8421634.php new file mode 100644 index 0000000..b205b28 --- /dev/null +++ b/storage/framework/views/07278db8bf9c8f289af0f1c1a8421634.php @@ -0,0 +1,78 @@ +# class()); ?> - title(); ?> + + +message(); ?> + + +PHP + +Laravel version()); ?> + +request()->httpHost()); ?> + + +## Stack Trace + +frames(); $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $index => $frame): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?> + - file()); ?>:line()); ?> + +popLoop(); $loop = $__env->getLastLoop(); ?> + +previousExceptions()->isNotEmpty()): ?> +## Previous previousExceptions()->count())); ?> + +previousExceptions(); $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $index => $previous): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?> + +### . class()); ?> + + +message(); ?> + + +frames(); $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $index => $frame): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?> + - file()); ?>:line()); ?> + +popLoop(); $loop = $__env->getLastLoop(); ?> +popLoop(); $loop = $__env->getLastLoop(); ?> + + +## Request + +request()->method()); ?> request()->path(), '/')); ?> + + +## Headers + +requestHeaders(); $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $key => $value): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); $__empty_1 = false; ?> +* ****: + +popLoop(); $loop = $__env->getLastLoop(); if ($__empty_1): ?> +No header data available. + + +## Route Context + +applicationRouteContext(); $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $name => $value): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); $__empty_1 = false; ?> +: + +popLoop(); $loop = $__env->getLastLoop(); if ($__empty_1): ?> +No routing data available. + + +## Route Parameters + +applicationRouteParametersContext()): ?> + + + +No route parameter data available. + + +## Database Queries + +applicationQueries(); $__env->addLoop($__currentLoopData); foreach($__currentLoopData as ['connectionName' => $connectionName, 'sql' => $sql, 'time' => $time]): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); $__empty_1 = false; ?> +* - ( ms) +popLoop(); $loop = $__env->getLastLoop(); if ($__empty_1): ?> +No database queries detected. + + \ No newline at end of file diff --git a/storage/framework/views/07b08fe0e339dc1b7429eb7aaed91ba7.php b/storage/framework/views/07b08fe0e339dc1b7429eb7aaed91ba7.php new file mode 100644 index 0000000..9e09442 --- /dev/null +++ b/storage/framework/views/07b08fe0e339dc1b7429eb7aaed91ba7.php @@ -0,0 +1,57 @@ +all() as $__key => $__value) { + if (in_array($__key, $__propNames)) { + $$__key = $$__key ?? $__value; + } else { + $__newAttributes[$__key] = $__value; + } +} + +$attributes = new \Illuminate\View\ComponentAttributeBag($__newAttributes); + +unset($__propNames); +unset($__newAttributes); + +foreach (array_filter((['code', 'highlightedLine']), 'is_string', ARRAY_FILTER_USE_KEY) as $__key => $__value) { + $$__key = $$__key ?? $__value; +} + +$__defined_vars = get_defined_vars(); + +foreach ($attributes->all() as $__key => $__value) { + if (array_key_exists($__key, $__defined_vars)) unset($$__key); +} + +unset($__defined_vars, $__key, $__value); ?> + +
+ +> + + + 'laravel-exceptions-renderer::components.syntax-highlight','data' => ['code' => $code,'language' => 'php','editor' => true,'startingLine' => max(1, $highlightedLine - 5),'highlightedLine' => min(5, $highlightedLine - 1),'class' => 'overflow-x-auto']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::syntax-highlight'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['code' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($code),'language' => 'php','editor' => true,'starting-line' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute(max(1, $highlightedLine - 5)),'highlighted-line' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute(min(5, $highlightedLine - 1)),'class' => 'overflow-x-auto']); ?> +renderComponent(); ?> + + + + + + + + + +
+ \ No newline at end of file diff --git a/storage/framework/views/098b2251a4f6e61892885a0bb1b423ad.php b/storage/framework/views/098b2251a4f6e61892885a0bb1b423ad.php new file mode 100644 index 0000000..673d5a8 --- /dev/null +++ b/storage/framework/views/098b2251a4f6e61892885a0bb1b423ad.php @@ -0,0 +1,537 @@ + + + + + + Management Portal - Dosen & Staff/Teknisi + + + + 7.5, + 'Selasa' => 6.8, + 'Rabu' => 8.2, + 'Kamis' => 7.1, + 'Jumat' => 5.4, + ]; + $maksJam = max($durasiMingguan); + ?> + +
+ + +
+
+
+

Selamat datang,

+

Semoga aktivitas akademik dan operasional hari ini berjalan lancar.

+
+ +
+ + +
+ + +
+
+
+ +
+
+

Grafik Durasi Kehadiran Dosen di Kampus

+

Rekap otomatis dari Senin sampai Jumat, reset pada awal minggu berikutnya.

+ +
+
+ Durasi mingguan (jam) + Reset Mingguan Otomatis +
+ +
+ addLoop($__currentLoopData); foreach($__currentLoopData as $hari => $jam): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?> + 0 ? ($jam / $maksJam) * 100 : 0; + ?> +
+
+ +
j
+
+ popLoop(); $loop = $__env->getLastLoop(); ?> +
+
+
+ + +
+
+
+ + + + + \ No newline at end of file diff --git a/storage/framework/views/099732f68438263e643ab6b698a35588.php b/storage/framework/views/099732f68438263e643ab6b698a35588.php new file mode 100644 index 0000000..cecf3d6 --- /dev/null +++ b/storage/framework/views/099732f68438263e643ab6b698a35588.php @@ -0,0 +1,47 @@ +hasPages()): ?> + + + \ No newline at end of file diff --git a/storage/framework/views/09e6172f68ae167621ebb99d5c9176ab.php b/storage/framework/views/09e6172f68ae167621ebb99d5c9176ab.php new file mode 100644 index 0000000..fb76322 --- /dev/null +++ b/storage/framework/views/09e6172f68ae167621ebb99d5c9176ab.php @@ -0,0 +1,8 @@ +
merge(['class' => "w-full max-w-7xl mx-auto p-4 sm:p-14 border-x border-dashed border-neutral-300 dark:border-white/[9%]"])); ?> + +> + + +
+ \ No newline at end of file diff --git a/storage/framework/views/0e4061da3ea3a77e12ea5ba931cff245.php b/storage/framework/views/0e4061da3ea3a77e12ea5ba931cff245.php new file mode 100644 index 0000000..7425071 --- /dev/null +++ b/storage/framework/views/0e4061da3ea3a77e12ea5ba931cff245.php @@ -0,0 +1,4 @@ +> + + + \ No newline at end of file diff --git a/storage/framework/views/0ea1e1ddb30f1c2c51df95f7f7f57c74.php b/storage/framework/views/0ea1e1ddb30f1c2c51df95f7f7f57c74.php new file mode 100644 index 0000000..68fe986 --- /dev/null +++ b/storage/framework/views/0ea1e1ddb30f1c2c51df95f7f7f57c74.php @@ -0,0 +1,48 @@ +all() as $__key => $__value) { + if (in_array($__key, $__propNames)) { + $$__key = $$__key ?? $__value; + } else { + $__newAttributes[$__key] = $__value; + } +} + +$attributes = new \Illuminate\View\ComponentAttributeBag($__newAttributes); + +unset($__propNames); +unset($__newAttributes); + +foreach (array_filter((['headers']), 'is_string', ARRAY_FILTER_USE_KEY) as $__key => $__value) { + $$__key = $$__key ?? $__value; +} + +$__defined_vars = get_defined_vars(); + +foreach ($attributes->all() as $__key => $__value) { + if (array_key_exists($__key, $__defined_vars)) unset($$__key); +} + +unset($__defined_vars, $__key, $__value); ?> + +
+

Headers

+
+ addLoop($__currentLoopData); foreach($__currentLoopData as $key => $value): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?> +
+
+
+
+ + + + +
+
+ popLoop(); $loop = $__env->getLastLoop(); ?> +
+
+ \ No newline at end of file diff --git a/storage/framework/views/14bd91944f21f15859ad382f8d3dac9a.php b/storage/framework/views/14bd91944f21f15859ad382f8d3dac9a.php new file mode 100644 index 0000000..bc85b54 --- /dev/null +++ b/storage/framework/views/14bd91944f21f15859ad382f8d3dac9a.php @@ -0,0 +1,79 @@ +all() as $__key => $__value) { + if (in_array($__key, $__propNames)) { + $$__key = $$__key ?? $__value; + } else { + $__newAttributes[$__key] = $__value; + } +} + +$attributes = new \Illuminate\View\ComponentAttributeBag($__newAttributes); + +unset($__propNames); +unset($__newAttributes); + +foreach (array_filter((['body']), 'is_string', ARRAY_FILTER_USE_KEY) as $__key => $__value) { + $$__key = $$__key ?? $__value; +} + +$__defined_vars = get_defined_vars(); + +foreach ($attributes->all() as $__key => $__value) { + if (array_key_exists($__key, $__defined_vars)) unset($$__key); +} + +unset($__defined_vars, $__key, $__value); ?> + +
+

Body

+ +
+ + + 'laravel-exceptions-renderer::components.syntax-highlight','data' => ['code' => $body,'language' => 'json']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::syntax-highlight'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['code' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($body),'language' => 'json']); ?> +renderComponent(); ?> + + + + + + + + + +
+ + + + 'laravel-exceptions-renderer::components.empty-state','data' => ['message' => 'No request body']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::empty-state'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['message' => 'No request body']); ?> +renderComponent(); ?> + + + + + + + + + + +
+ \ No newline at end of file diff --git a/storage/framework/views/1603d9f5f1364503b99e7f4d970d4f2c.php b/storage/framework/views/1603d9f5f1364503b99e7f4d970d4f2c.php new file mode 100644 index 0000000..4202e55 --- /dev/null +++ b/storage/framework/views/1603d9f5f1364503b99e7f4d970d4f2c.php @@ -0,0 +1,4 @@ +> + + + \ No newline at end of file diff --git a/storage/framework/views/19f4e5733d5d617c3107c1ec1f69fb6b.php b/storage/framework/views/19f4e5733d5d617c3107c1ec1f69fb6b.php new file mode 100644 index 0000000..0dc8707 --- /dev/null +++ b/storage/framework/views/19f4e5733d5d617c3107c1ec1f69fb6b.php @@ -0,0 +1,114 @@ +all() as $__key => $__value) { + if (in_array($__key, $__propNames)) { + $$__key = $$__key ?? $__value; + } else { + $__newAttributes[$__key] = $__value; + } +} + +$attributes = new \Illuminate\View\ComponentAttributeBag($__newAttributes); + +unset($__propNames); +unset($__newAttributes); + +foreach (array_filter((['exception']), 'is_string', ARRAY_FILTER_USE_KEY) as $__key => $__value) { + $$__key = $$__key ?? $__value; +} + +$__defined_vars = get_defined_vars(); + +foreach ($attributes->all() as $__key => $__value) { + if (array_key_exists($__key, $__defined_vars)) unset($$__key); +} + +unset($__defined_vars, $__key, $__value); ?> + +
+
+
+ + + 'laravel-exceptions-renderer::components.icons.alert','data' => ['class' => 'w-2.5 h-2.5 text-blue-500 dark:text-emerald-500']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::icons.alert'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['class' => 'w-2.5 h-2.5 text-blue-500 dark:text-emerald-500']); ?> +renderComponent(); ?> + + + + + + + + + +
+

Exception trace

+ previousExceptions()->isNotEmpty()): ?> + + previousExceptions()->count()); ?> previous previousExceptions()->count())); ?> + + + +
+ +
+ frameGroups(); $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $group): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?> + + + + 'laravel-exceptions-renderer::components.vendor-frames','data' => ['frames' => $group['frames']]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::vendor-frames'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['frames' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($group['frames'])]); ?> +renderComponent(); ?> + + + + + + + + + + + addLoop($__currentLoopData); foreach($__currentLoopData as $frame): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?> + + + 'laravel-exceptions-renderer::components.frame','data' => ['frame' => $frame]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::frame'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['frame' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($frame)]); ?> +renderComponent(); ?> + + + + + + + + + + popLoop(); $loop = $__env->getLastLoop(); ?> + + popLoop(); $loop = $__env->getLastLoop(); ?> +
+
+ \ No newline at end of file diff --git a/storage/framework/views/1a2b9d4510716b38600924c5a20bca37.php b/storage/framework/views/1a2b9d4510716b38600924c5a20bca37.php new file mode 100644 index 0000000..e6ad60c --- /dev/null +++ b/storage/framework/views/1a2b9d4510716b38600924c5a20bca37.php @@ -0,0 +1,694 @@ + + + + + + JTI Monitoring - Politeknik Negeri Jember + + + +
+
+ +
JTI
+
+

Politeknik Negeri Jember

+

Dashboard data dosen dan teknisi

+
+
+ +
+ + +
+
+ +
+
+
Jurusan Teknologi Informasi
+

Dosen JTI

+
+
+ +
+
+
+

Program Studi Dosen

+ Daftar dosen aktif berdasarkan program studi. +
+
+ + = 2) { + break; + } + } + + return $initials !== '' ? $initials : 'NA'; + }; + + $resolveFoto = static function (?string $foto): ?string { + $foto = trim((string) $foto); + if ($foto === '') return null; + if (preg_match('~^(https?://|data:|//)~i', $foto)) return $foto; + if (str_starts_with($foto, '/')) return $foto; + return asset($foto); + }; + ?> + +
+ sortBy([['prodi', 'asc'], ['nama', 'asc']]) + ->groupBy(function ($item) { + $prodi = trim((string) ($item->prodi ?? '')); + return $prodi !== '' ? $prodi : 'Prodi Belum Ditentukan'; + }); + ?> + + isEmpty()): ?> +
Belum ada data dosen di database.
+ +
+ addLoop($__currentLoopData); foreach($__currentLoopData as $prodiName => $prodiItems): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?> +
+
+

+ count()); ?> Dosen +
+ +
+ addLoop($__currentLoopData); foreach($__currentLoopData as $item): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?> +
+ foto); + ?> +
style="background-image: url('')" > + +
nama)); ?>
+ +
+
+
nama); ?>
+
Dosen
+
+
NIP
nip ?? '-'); ?>
+
NIDN
nidn ?? '-'); ?>
+
Lokasi
Gedung JTI Lt. 1
+
+
+
+ popLoop(); $loop = $__env->getLastLoop(); ?> +
+
+ popLoop(); $loop = $__env->getLastLoop(); ?> +
+ +
+ +
+ sortBy([['bagian', 'asc'], ['nama', 'asc']]) + ->groupBy(function ($item) { + $bagian = trim((string) ($item->bagian ?? '')); + return $bagian !== '' ? $bagian : 'Bagian Belum Ditentukan'; + }); + ?> + + isEmpty()): ?> +
Belum ada data teknisi/staff di database.
+ +
+ addLoop($__currentLoopData); foreach($__currentLoopData as $bagianName => $bagianItems): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?> +
+
+

+ count()); ?> Orang +
+ +
+ addLoop($__currentLoopData); foreach($__currentLoopData as $item): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?> +
+ foto); + ?> +
style="background-image: url('')" > + +
nama)); ?>
+ +
+
+
nama); ?>
+
role ?? 'staff')); ?>
+
+
NIP
nip ?? '-'); ?>
+
NIDN
nidn ?? '-'); ?>
+
Lokasi
Gedung JTI Lt. 1
+
+
+
+ popLoop(); $loop = $__env->getLastLoop(); ?> +
+
+ popLoop(); $loop = $__env->getLastLoop(); ?> +
+ +
+ + +
+
+ + + + + + \ No newline at end of file diff --git a/storage/framework/views/1e86f2402c98bfd8f25774718e16305f.php b/storage/framework/views/1e86f2402c98bfd8f25774718e16305f.php new file mode 100644 index 0000000..6ced2e6 --- /dev/null +++ b/storage/framework/views/1e86f2402c98bfd8f25774718e16305f.php @@ -0,0 +1,28 @@ + + + + + + + + <?php echo e(config('app.name', 'Laravel')); ?> + + + + + + + +
+ + +
+ + + + + + \ No newline at end of file diff --git a/storage/framework/views/1fcd316b16111e3b25c0d425503c94ea.php b/storage/framework/views/1fcd316b16111e3b25c0d425503c94ea.php new file mode 100644 index 0000000..2373e74 --- /dev/null +++ b/storage/framework/views/1fcd316b16111e3b25c0d425503c94ea.php @@ -0,0 +1,35 @@ +all() as $__key => $__value) { + if (in_array($__key, $__propNames)) { + $$__key = $$__key ?? $__value; + } else { + $__newAttributes[$__key] = $__value; + } +} + +$attributes = new \Illuminate\View\ComponentAttributeBag($__newAttributes); + +unset($__propNames); +unset($__newAttributes); + +foreach (array_filter((['message']), 'is_string', ARRAY_FILTER_USE_KEY) as $__key => $__value) { + $$__key = $$__key ?? $__value; +} + +$__defined_vars = get_defined_vars(); + +foreach ($attributes->all() as $__key => $__value) { + if (array_key_exists($__key, $__defined_vars)) unset($$__key); +} + +unset($__defined_vars, $__key, $__value); ?> + +
+ // + +
+ \ No newline at end of file diff --git a/storage/framework/views/20528846544c2bb2ab7e25bb0afe173f.php b/storage/framework/views/20528846544c2bb2ab7e25bb0afe173f.php new file mode 100644 index 0000000..e399584 --- /dev/null +++ b/storage/framework/views/20528846544c2bb2ab7e25bb0afe173f.php @@ -0,0 +1,91 @@ +hasPages()): ?> + + + \ No newline at end of file diff --git a/storage/framework/views/221c098775cbfebd351f2e2a6d3296b7.php b/storage/framework/views/221c098775cbfebd351f2e2a6d3296b7.php new file mode 100644 index 0000000..54da4d4 --- /dev/null +++ b/storage/framework/views/221c098775cbfebd351f2e2a6d3296b7.php @@ -0,0 +1,4 @@ +> + + + \ No newline at end of file diff --git a/storage/framework/views/22f9648788961eca094fb941d3e52537.php b/storage/framework/views/22f9648788961eca094fb941d3e52537.php new file mode 100644 index 0000000..9e14ed5 --- /dev/null +++ b/storage/framework/views/22f9648788961eca094fb941d3e52537.php @@ -0,0 +1,418 @@ + + + 'laravel-exceptions-renderer::components.layout','data' => []] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::layout'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes([]); ?> + + + 'laravel-exceptions-renderer::components.section-container','data' => ['class' => 'px-6 py-0 sm:py-0']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::section-container'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['class' => 'px-6 py-0 sm:py-0']); ?> + + + 'laravel-exceptions-renderer::components.topbar','data' => ['title' => $exception->title(),'markdown' => $exceptionAsMarkdown]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::topbar'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['title' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($exception->title()),'markdown' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($exceptionAsMarkdown)]); ?> +renderComponent(); ?> + + + + + + + + + + renderComponent(); ?> + + + + + + + + + + + + + 'laravel-exceptions-renderer::components.separator','data' => []] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::separator'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes([]); ?> +renderComponent(); ?> + + + + + + + + + + + + + 'laravel-exceptions-renderer::components.section-container','data' => ['class' => 'flex flex-col gap-8 py-0 sm:py-0']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::section-container'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['class' => 'flex flex-col gap-8 py-0 sm:py-0']); ?> + + + 'laravel-exceptions-renderer::components.header','data' => ['exception' => $exception]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::header'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['exception' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($exception)]); ?> +renderComponent(); ?> + + + + + + + + + + renderComponent(); ?> + + + + + + + + + + + + + 'laravel-exceptions-renderer::components.separator','data' => ['class' => '-mt-5 -z-10']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::separator'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['class' => '-mt-5 -z-10']); ?> +renderComponent(); ?> + + + + + + + + + + + + + 'laravel-exceptions-renderer::components.section-container','data' => ['class' => 'flex flex-col gap-8 pt-14']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::section-container'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['class' => 'flex flex-col gap-8 pt-14']); ?> + + + 'laravel-exceptions-renderer::components.trace','data' => ['exception' => $exception]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::trace'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['exception' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($exception)]); ?> +renderComponent(); ?> + + + + + + + + + + + previousExceptions()->isNotEmpty()): ?> + + + 'laravel-exceptions-renderer::components.previous-exceptions','data' => ['exception' => $exception]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::previous-exceptions'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['exception' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($exception)]); ?> +renderComponent(); ?> + + + + + + + + + + + + + + 'laravel-exceptions-renderer::components.query','data' => ['queries' => $exception->applicationQueries()]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::query'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['queries' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($exception->applicationQueries())]); ?> +renderComponent(); ?> + + + + + + + + + + renderComponent(); ?> + + + + + + + + + + + + + 'laravel-exceptions-renderer::components.separator','data' => []] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::separator'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes([]); ?> +renderComponent(); ?> + + + + + + + + + + + + + 'laravel-exceptions-renderer::components.section-container','data' => ['class' => 'flex flex-col gap-12']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::section-container'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['class' => 'flex flex-col gap-12']); ?> + + + 'laravel-exceptions-renderer::components.request-header','data' => ['headers' => $exception->requestHeaders()]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::request-header'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['headers' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($exception->requestHeaders())]); ?> +renderComponent(); ?> + + + + + + + + + + + + + 'laravel-exceptions-renderer::components.request-body','data' => ['body' => $exception->requestBody()]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::request-body'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['body' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($exception->requestBody())]); ?> +renderComponent(); ?> + + + + + + + + + + + + + 'laravel-exceptions-renderer::components.routing','data' => ['routing' => $exception->applicationRouteContext()]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::routing'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['routing' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($exception->applicationRouteContext())]); ?> +renderComponent(); ?> + + + + + + + + + + + + + 'laravel-exceptions-renderer::components.routing-parameter','data' => ['routeParameters' => $exception->applicationRouteParametersContext()]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::routing-parameter'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['routeParameters' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($exception->applicationRouteParametersContext())]); ?> +renderComponent(); ?> + + + + + + + + + + renderComponent(); ?> + + + + + + + + + + + + + 'laravel-exceptions-renderer::components.separator','data' => []] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::separator'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes([]); ?> +renderComponent(); ?> + + + + + + + + + + + runningUnitTests() && ! app()->runningInConsole()): ?> + + + 'laravel-exceptions-renderer::components.section-container','data' => ['class' => 'pb-0 sm:pb-0']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::section-container'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['class' => 'pb-0 sm:pb-0']); ?> + + + 'laravel-exceptions-renderer::components.laravel-ascii-spotlight','data' => []] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::laravel-ascii-spotlight'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes([]); ?> +renderComponent(); ?> + + + + + + + + + + renderComponent(); ?> + + + + + + + + + + + renderComponent(); ?> + + + + + + + + + + \ No newline at end of file diff --git a/storage/framework/views/2386bb7d11fdc0e1c8ad72a5327f086f.php b/storage/framework/views/2386bb7d11fdc0e1c8ad72a5327f086f.php new file mode 100644 index 0000000..0c71b63 --- /dev/null +++ b/storage/framework/views/2386bb7d11fdc0e1c8ad72a5327f086f.php @@ -0,0 +1,5 @@ +startSection('title', __('Unauthorized')); ?> +startSection('code', '401'); ?> +startSection('message', __('Unauthorized')); ?> + +make('errors::minimal', array_diff_key(get_defined_vars(), ['__data' => 1, '__path' => 1]))->render(); ?> \ No newline at end of file diff --git a/storage/framework/views/2aeadaffef58af408e2ca5def85c2b45.php b/storage/framework/views/2aeadaffef58af408e2ca5def85c2b45.php new file mode 100644 index 0000000..699b35d --- /dev/null +++ b/storage/framework/views/2aeadaffef58af408e2ca5def85c2b45.php @@ -0,0 +1,215 @@ +all() as $__key => $__value) { + if (in_array($__key, $__propNames)) { + $$__key = $$__key ?? $__value; + } else { + $__newAttributes[$__key] = $__value; + } +} + +$attributes = new \Illuminate\View\ComponentAttributeBag($__newAttributes); + +unset($__propNames); +unset($__newAttributes); + +foreach (array_filter((['exception']), 'is_string', ARRAY_FILTER_USE_KEY) as $__key => $__value) { + $$__key = $$__key ?? $__value; +} + +$__defined_vars = get_defined_vars(); + +foreach ($attributes->all() as $__key => $__value) { + if (array_key_exists($__key, $__defined_vars)) unset($$__key); +} + +unset($__defined_vars, $__key, $__value); ?> + +
+
+
+ + + 'laravel-exceptions-renderer::components.icons.alert','data' => ['class' => 'w-2.5 h-2.5 text-blue-500 dark:text-emerald-500']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::icons.alert'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['class' => 'w-2.5 h-2.5 text-blue-500 dark:text-emerald-500']); ?> +renderComponent(); ?> + + + + + + + + + +
+

Previous previousExceptions()->count())); ?>

+
+ +
+ previousExceptions(); $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $index => $previous): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?> +
+ + previousExceptions()->count() > 1): ?> +
+ 0): ?> +
+ +
+ + +
+ + previousExceptions()->count() - 1): ?> +
+ +
+ +
+ + + +
+ +
+
+

class()); ?>

+

message()); ?>

+
+ +
+ + +
+ frameGroups(); $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $group): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?> + + + + 'laravel-exceptions-renderer::components.vendor-frames','data' => ['frames' => $group['frames']]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::vendor-frames'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['frames' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($group['frames'])]); ?> +renderComponent(); ?> + + + + + + + + + + + addLoop($__currentLoopData); foreach($__currentLoopData as $frame): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?> + + + 'laravel-exceptions-renderer::components.frame','data' => ['frame' => $frame]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::frame'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['frame' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($frame)]); ?> +renderComponent(); ?> + + + + + + + + + + popLoop(); $loop = $__env->getLastLoop(); ?> + + popLoop(); $loop = $__env->getLastLoop(); ?> +
+
+
+ popLoop(); $loop = $__env->getLastLoop(); ?> +
+
+ \ No newline at end of file diff --git a/storage/framework/views/2e5053a7b7dda28652224d60a9e0eddd.php b/storage/framework/views/2e5053a7b7dda28652224d60a9e0eddd.php new file mode 100644 index 0000000..de73070 --- /dev/null +++ b/storage/framework/views/2e5053a7b7dda28652224d60a9e0eddd.php @@ -0,0 +1,626 @@ + + + + + + Tambah Staff/Teknisi - Dashboard JTI + + + +
+
+

🔧 Tambah Staff/Teknisi

+

Lengkapi data staff atau teknisi dengan informasi yang akurat.

+
+ +
+ any()): ?> +
+ ❌ Terjadi kesalahan validasi: +
    + all(); $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $error): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?> +
  • + popLoop(); $loop = $__env->getLastLoop(); ?> +
+
+ + +
+ + + +
+
+ 🔧 + +
+ + +
Format: URL gambar (https://...)
+
+ + +
+ +
+
+ + + getBag($__errorArgs[1] ?? 'default'); +if ($__bag->has($__errorArgs[0])) : +if (isset($message)) { $__messageOriginal = $message; } +$message = $__bag->first($__errorArgs[0]); ?> +
+ +
+
+ + +
+
+ + + getBag($__errorArgs[1] ?? 'default'); +if ($__bag->has($__errorArgs[0])) : +if (isset($message)) { $__messageOriginal = $message; } +$message = $__bag->first($__errorArgs[0]); ?> +
+ +
Nomor Induk Pegawai (opsional)
+
+ +
+ + + getBag($__errorArgs[1] ?? 'default'); +if ($__bag->has($__errorArgs[0])) : +if (isset($message)) { $__messageOriginal = $message; } +$message = $__bag->first($__errorArgs[0]); ?> +
+ +
Identitas tambahan (opsional)
+
+
+ + +
+
+ + + getBag($__errorArgs[1] ?? 'default'); +if ($__bag->has($__errorArgs[0])) : +if (isset($message)) { $__messageOriginal = $message; } +$message = $__bag->first($__errorArgs[0]); ?> +
+ +
Pilih bagian/divisi staff
+
+
+ + +
+ +
+
+ required> + +
+
+ required> + +
+
+
+
+ + +
+ + ❌ Batal +
+
+
+
+ + + + + \ No newline at end of file diff --git a/storage/framework/views/2ecb2fb67ebf19b2b61b18368a59c9f9.php b/storage/framework/views/2ecb2fb67ebf19b2b61b18368a59c9f9.php new file mode 100644 index 0000000..1a91f6e --- /dev/null +++ b/storage/framework/views/2ecb2fb67ebf19b2b61b18368a59c9f9.php @@ -0,0 +1,78 @@ +# class()); ?> - title(); ?> + + +message(); ?> + + +PHP + +Laravel version()); ?> + +request()->httpHost()); ?> + + +## Stack Trace + +frames(); $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $index => $frame): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?> + - file()); ?>:line()); ?> + +popLoop(); $loop = $__env->getLastLoop(); ?> + +previousExceptions()->isNotEmpty()): ?> +## Previous previousExceptions()->count())); ?> + +previousExceptions(); $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $index => $previous): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?> + +### . class()); ?> + + +message(); ?> + + +frames(); $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $index => $frame): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?> + - file()); ?>:line()); ?> + +popLoop(); $loop = $__env->getLastLoop(); ?> +popLoop(); $loop = $__env->getLastLoop(); ?> + + +## Request + +request()->method()); ?> request()->path(), '/')); ?> + + +## Headers + +requestHeaders(); $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $key => $value): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); $__empty_1 = false; ?> +* ****: + +popLoop(); $loop = $__env->getLastLoop(); if ($__empty_1): ?> +No header data available. + + +## Route Context + +applicationRouteContext(); $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $name => $value): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); $__empty_1 = false; ?> +: + +popLoop(); $loop = $__env->getLastLoop(); if ($__empty_1): ?> +No routing data available. + + +## Route Parameters + +applicationRouteParametersContext()): ?> + + + +No route parameter data available. + + +## Database Queries + +applicationQueries(); $__env->addLoop($__currentLoopData); foreach($__currentLoopData as ['connectionName' => $connectionName, 'sql' => $sql, 'time' => $time]): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); $__empty_1 = false; ?> +* - ( ms) +popLoop(); $loop = $__env->getLastLoop(); if ($__empty_1): ?> +No database queries detected. + + \ No newline at end of file diff --git a/storage/framework/views/2efdd5267f624f456142e463c8f1ded0.php b/storage/framework/views/2efdd5267f624f456142e463c8f1ded0.php new file mode 100644 index 0000000..6b5a8f9 --- /dev/null +++ b/storage/framework/views/2efdd5267f624f456142e463c8f1ded0.php @@ -0,0 +1,4 @@ +
merge(['class' => "h-0 w-full relative"])); ?>> +
+
+ \ No newline at end of file diff --git a/storage/framework/views/3539661b88f75d165ef6b2f5f1687b8f.php b/storage/framework/views/3539661b88f75d165ef6b2f5f1687b8f.php new file mode 100644 index 0000000..f2e08a6 --- /dev/null +++ b/storage/framework/views/3539661b88f75d165ef6b2f5f1687b8f.php @@ -0,0 +1,115 @@ +all() as $__key => $__value) { + if (in_array($__key, $__propNames)) { + $$__key = $$__key ?? $__value; + } else { + $__newAttributes[$__key] = $__value; + } +} + +$attributes = new \Illuminate\View\ComponentAttributeBag($__newAttributes); + +unset($__propNames); +unset($__newAttributes); + +foreach (array_filter((['title', 'markdown']), 'is_string', ARRAY_FILTER_USE_KEY) as $__key => $__value) { + $$__key = $$__key ?? $__value; +} + +$__defined_vars = get_defined_vars(); + +foreach ($attributes->all() as $__key => $__value) { + if (array_key_exists($__key, $__defined_vars)) unset($$__key); +} + +unset($__defined_vars, $__key, $__value); ?> + + + +
+
+
+ + + + +
+
+ + +
+
+ + +
+ \ No newline at end of file diff --git a/storage/framework/views/3e080c4b2dc6ef6eebf6a5660e4f61f9.php b/storage/framework/views/3e080c4b2dc6ef6eebf6a5660e4f61f9.php new file mode 100644 index 0000000..888dd8a --- /dev/null +++ b/storage/framework/views/3e080c4b2dc6ef6eebf6a5660e4f61f9.php @@ -0,0 +1,5 @@ +> + + + + \ No newline at end of file diff --git a/storage/framework/views/474726fc3dca98dbafd1b5d934bc6f03.php b/storage/framework/views/474726fc3dca98dbafd1b5d934bc6f03.php new file mode 100644 index 0000000..c7e3d85 --- /dev/null +++ b/storage/framework/views/474726fc3dca98dbafd1b5d934bc6f03.php @@ -0,0 +1,623 @@ + + + + + + CRUD Dosen - Dashboard JTI + + + + = 2) break; + } + return $initials !== '' ? $initials : 'NA'; + }; + + $resolveFoto = static function (?string $foto): ?string { + $foto = trim((string) $foto); + if ($foto === '') return null; + if (preg_match('~^(https?://|data:|//)~i', $foto)) return $foto; + if (str_starts_with($foto, '/')) return $foto; + return asset($foto); + }; + ?> + + + + + + + \ No newline at end of file diff --git a/storage/framework/views/4814223a6e305bd662b45940242eabc0.php b/storage/framework/views/4814223a6e305bd662b45940242eabc0.php new file mode 100644 index 0000000..0554231 --- /dev/null +++ b/storage/framework/views/4814223a6e305bd662b45940242eabc0.php @@ -0,0 +1,263 @@ + + + + + + Edit Dosen - JTI + + + + = 2) break; + } + return $initials !== '' ? $initials : '👨‍🏫'; + }; + ?> +
+
+

✏️ Edit Dosen

+ Kembali +
+
+ any()): ?> +
+ ❌ Validasi gagal: +
    + all(); $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $error): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?> +
  • + popLoop(); $loop = $__env->getLastLoop(); ?> +
+
+ +
+ + +
+
+ nama)); ?> + +
+ + + +
URL gambar untuk profil
+
+
+
+
+ + + getBag($__errorArgs[1] ?? 'default'); +if ($__bag->has($__errorArgs[0])) : +if (isset($message)) { $__messageOriginal = $message; } +$message = $__bag->first($__errorArgs[0]); ?>
+
Nama lengkap dosen
+
+
+
+
+ + + getBag($__errorArgs[1] ?? 'default'); +if ($__bag->has($__errorArgs[0])) : +if (isset($message)) { $__messageOriginal = $message; } +$message = $__bag->first($__errorArgs[0]); ?>
+
Nomor Induk Pegawai
+
+
+ + + getBag($__errorArgs[1] ?? 'default'); +if ($__bag->has($__errorArgs[0])) : +if (isset($message)) { $__messageOriginal = $message; } +$message = $__bag->first($__errorArgs[0]); ?>
+
Nomor Induk Dosen Nasional
+
+
+
+
+ + + getBag($__errorArgs[1] ?? 'default'); +if ($__bag->has($__errorArgs[0])) : +if (isset($message)) { $__messageOriginal = $message; } +$message = $__bag->first($__errorArgs[0]); ?>
+
Program studi dosen
+
+
+ +
+ + ❌ Batal +
+
+
+
+
+ + + \ No newline at end of file diff --git a/storage/framework/views/49c203f5dab7c8af85cf75b558b48023.php b/storage/framework/views/49c203f5dab7c8af85cf75b558b48023.php new file mode 100644 index 0000000..3660324 --- /dev/null +++ b/storage/framework/views/49c203f5dab7c8af85cf75b558b48023.php @@ -0,0 +1,11 @@ +> + + + + + + + + + + \ No newline at end of file diff --git a/storage/framework/views/49f5171f42a138e955e02ded7174f94f.php b/storage/framework/views/49f5171f42a138e955e02ded7174f94f.php new file mode 100644 index 0000000..30ac11a --- /dev/null +++ b/storage/framework/views/49f5171f42a138e955e02ded7174f94f.php @@ -0,0 +1,865 @@ + + + + + + Kelola Users - Dashboard JTI + + + + = 2) break; + } + return $initials !== '' ? $initials : 'NA'; + }; + + $resolveFoto = static function (?string $foto): ?string { + $foto = trim((string) $foto); + if ($foto === '') return null; + if (preg_match('~^(https?://|data:|//)~i', $foto)) return $foto; + if (str_starts_with($foto, '/')) return $foto; + return asset($foto); + }; + ?> + + + + + + + \ No newline at end of file diff --git a/storage/framework/views/4ad96eb64995bb12f2208ff3191dcd9d.php b/storage/framework/views/4ad96eb64995bb12f2208ff3191dcd9d.php new file mode 100644 index 0000000..27218f3 --- /dev/null +++ b/storage/framework/views/4ad96eb64995bb12f2208ff3191dcd9d.php @@ -0,0 +1,6 @@ +> + + + + + \ No newline at end of file diff --git a/storage/framework/views/4bdc3f4eda416314fd0da2cd6b88f2c7.php b/storage/framework/views/4bdc3f4eda416314fd0da2cd6b88f2c7.php new file mode 100644 index 0000000..68b71db --- /dev/null +++ b/storage/framework/views/4bdc3f4eda416314fd0da2cd6b88f2c7.php @@ -0,0 +1,167 @@ +all() as $__key => $__value) { + if (in_array($__key, $__propNames)) { + $$__key = $$__key ?? $__value; + } else { + $__newAttributes[$__key] = $__value; + } +} + +$attributes = new \Illuminate\View\ComponentAttributeBag($__newAttributes); + +unset($__propNames); +unset($__newAttributes); + +foreach (array_filter((['exception', 'request']), 'is_string', ARRAY_FILTER_USE_KEY) as $__key => $__value) { + $$__key = $$__key ?? $__value; +} + +$__defined_vars = get_defined_vars(); + +foreach ($attributes->all() as $__key => $__value) { + if (array_key_exists($__key, $__defined_vars)) unset($$__key); +} + +unset($__defined_vars, $__key, $__value); ?> + +
merge(['class' => "bg-white dark:bg-[#1a1a1a] border border-neutral-200 dark:border-white/10 rounded-lg flex items-center justify-between h-10 px-2 shadow-xs"])); ?> + +> +
+ + + 'laravel-exceptions-renderer::components.badge','data' => ['type' => 'error','variant' => 'solid']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::badge'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['type' => 'error','variant' => 'solid']); ?> + + + 'laravel-exceptions-renderer::components.icons.alert','data' => ['class' => 'w-2.5 h-2.5']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::icons.alert'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['class' => 'w-2.5 h-2.5']); ?> +renderComponent(); ?> + + + + + + + + + + httpStatusCode()); ?> + + renderComponent(); ?> + + + + + + + + + + + + 'laravel-exceptions-renderer::components.http-method','data' => ['method' => ''.e($request->method()).'']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::http-method'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['method' => ''.e($request->method()).'']); ?> +renderComponent(); ?> + + + + + + + + + +
+ + fullUrl()); ?> + + +
+ +
+
+ \ No newline at end of file diff --git a/storage/framework/views/4c4d35a5fc86d01ec50b11494c0a79ca.php b/storage/framework/views/4c4d35a5fc86d01ec50b11494c0a79ca.php new file mode 100644 index 0000000..8e68e18 --- /dev/null +++ b/storage/framework/views/4c4d35a5fc86d01ec50b11494c0a79ca.php @@ -0,0 +1,694 @@ + + + + + + JTI Monitoring - Politeknik Negeri Jember + + + +
+
+ +
JTI
+
+

Politeknik Negeri Jember

+

Dashboard data dosen dan teknisi

+
+
+ +
+ + +
+
+ +
+
+
Jurusan Teknologi Informasi
+

Dosen JTI

+
+
+ +
+
+
+

Program Studi Dosen

+ Daftar dosen aktif berdasarkan program studi. +
+
+ + = 2) { + break; + } + } + + return $initials !== '' ? $initials : 'NA'; + }; + + $resolveFoto = static function (?string $foto): ?string { + $foto = trim((string) $foto); + if ($foto === '') return null; + if (preg_match('~^(https?://|data:|//)~i', $foto)) return $foto; + if (str_starts_with($foto, '/')) return $foto; + return asset($foto); + }; + ?> + +
+ sortBy([['prodi', 'asc'], ['nama', 'asc']]) + ->groupBy(function ($item) { + $prodi = trim((string) ($item->prodi ?? '')); + return $prodi !== '' ? $prodi : 'Prodi Belum Ditentukan'; + }); + ?> + + isEmpty()): ?> +
Belum ada data dosen di database.
+ +
+ addLoop($__currentLoopData); foreach($__currentLoopData as $prodiName => $prodiItems): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?> +
+
+

+ count()); ?> Dosen +
+ +
+ addLoop($__currentLoopData); foreach($__currentLoopData as $item): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?> +
+ foto); + ?> +
style="background-image: url('')" > + +
nama)); ?>
+ +
+
+
nama); ?>
+
Dosen
+
+
NIP
nip ?? '-'); ?>
+
NIDN
nidn ?? '-'); ?>
+
Lokasi
Gedung JTI Lt. 1
+
+
+
+ popLoop(); $loop = $__env->getLastLoop(); ?> +
+
+ popLoop(); $loop = $__env->getLastLoop(); ?> +
+ +
+ +
+ sortBy([['bagian', 'asc'], ['nama', 'asc']]) + ->groupBy(function ($item) { + $bagian = trim((string) ($item->bagian ?? '')); + return $bagian !== '' ? $bagian : 'Bagian Belum Ditentukan'; + }); + ?> + + isEmpty()): ?> +
Belum ada data teknisi/staff di database.
+ +
+ addLoop($__currentLoopData); foreach($__currentLoopData as $bagianName => $bagianItems): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?> +
+
+

+ count()); ?> Orang +
+ +
+ addLoop($__currentLoopData); foreach($__currentLoopData as $item): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?> +
+ foto); + ?> +
style="background-image: url('')" > + +
nama)); ?>
+ +
+
+
nama); ?>
+
role ?? 'staff')); ?>
+
+
NIP
nip ?? '-'); ?>
+
NIDN
nidn ?? '-'); ?>
+
Lokasi
Gedung JTI Lt. 1
+
+
+
+ popLoop(); $loop = $__env->getLastLoop(); ?> +
+
+ popLoop(); $loop = $__env->getLastLoop(); ?> +
+ +
+ + +
+
+ + + + + + \ No newline at end of file diff --git a/storage/framework/views/4cf9070f70510f580fd579c38c487fbc.php b/storage/framework/views/4cf9070f70510f580fd579c38c487fbc.php new file mode 100644 index 0000000..0840272 --- /dev/null +++ b/storage/framework/views/4cf9070f70510f580fd579c38c487fbc.php @@ -0,0 +1,5 @@ +startSection('title', __('Not Found')); ?> +startSection('code', '404'); ?> +startSection('message', __('Not Found')); ?> + +make('errors::minimal', array_diff_key(get_defined_vars(), ['__data' => 1, '__path' => 1]))->render(); ?> \ No newline at end of file diff --git a/storage/framework/views/4d4e76fbc8a0701f7a3acf24a76ea5c5.php b/storage/framework/views/4d4e76fbc8a0701f7a3acf24a76ea5c5.php new file mode 100644 index 0000000..76b8393 --- /dev/null +++ b/storage/framework/views/4d4e76fbc8a0701f7a3acf24a76ea5c5.php @@ -0,0 +1,673 @@ + + + + + + Tambah Dosen Baru - Dashboard JTI + + + +
+
+ +
JTI
+
+

Tambah Dosen

+

Data dosen baru

+
+
+
+ Kembali +
+
+ +
+
+

👨‍🏫 Form Tambah Dosen Baru

+

Lengkapi informasi dosen dengan data yang akurat dan benar.

+
+ + any()): ?> +
+
+ ❌ Validasi gagal, periksa kembali data Anda: +
    + all(); $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $error): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?> +
  • + popLoop(); $loop = $__env->getLastLoop(); ?> +
+
+
+ + +
+ + + +
+
+
👨‍🏫
+ +
+ + + +
📝 Gunakan file atau URL gambar untuk foto profil
+
+ + +
+ +
+
+ + + getBag($__errorArgs[1] ?? 'default'); +if ($__bag->has($__errorArgs[0])) : +if (isset($message)) { $__messageOriginal = $message; } +$message = $__bag->first($__errorArgs[0]); ?> +
+ +
Masukkan nama lengkap dosen
+
+
+ + +
+
+ + + getBag($__errorArgs[1] ?? 'default'); +if ($__bag->has($__errorArgs[0])) : +if (isset($message)) { $__messageOriginal = $message; } +$message = $__bag->first($__errorArgs[0]); ?> +
+ +
Nomor Induk Pegawai (opsional)
+
+ +
+ + + getBag($__errorArgs[1] ?? 'default'); +if ($__bag->has($__errorArgs[0])) : +if (isset($message)) { $__messageOriginal = $message; } +$message = $__bag->first($__errorArgs[0]); ?> +
+ +
Nomor Induk Dosen Nasional (opsional)
+
+
+ + +
+
+ + + getBag($__errorArgs[1] ?? 'default'); +if ($__bag->has($__errorArgs[0])) : +if (isset($message)) { $__messageOriginal = $message; } +$message = $__bag->first($__errorArgs[0]); ?> +
+ +
Pilih program studi untuk dosen
+
+
+ + + + + +
+ + ❌ Batal +
+
+
+
+
+ + + + + + \ No newline at end of file diff --git a/storage/framework/views/506d6fb51ab4c44ea49467ff4721c8f9.php b/storage/framework/views/506d6fb51ab4c44ea49467ff4721c8f9.php new file mode 100644 index 0000000..daf64e1 --- /dev/null +++ b/storage/framework/views/506d6fb51ab4c44ea49467ff4721c8f9.php @@ -0,0 +1,6 @@ +> + + + + + \ No newline at end of file diff --git a/storage/framework/views/52680f1297c976cb07bbc25be42e1ec4.php b/storage/framework/views/52680f1297c976cb07bbc25be42e1ec4.php new file mode 100644 index 0000000..9d622e9 --- /dev/null +++ b/storage/framework/views/52680f1297c976cb07bbc25be42e1ec4.php @@ -0,0 +1,626 @@ + + + + + + Tambah Staff/Teknisi - Dashboard JTI + + + +
+
+

🔧 Tambah Staff/Teknisi

+

Lengkapi data staff atau teknisi dengan informasi yang akurat.

+
+ +
+ any()): ?> +
+ ❌ Terjadi kesalahan validasi: +
    + all(); $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $error): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?> +
  • + popLoop(); $loop = $__env->getLastLoop(); ?> +
+
+ + +
+ + + +
+
+ 🔧 + +
+ + +
Format: URL gambar (https://...)
+
+ + +
+ +
+
+ + + getBag($__errorArgs[1] ?? 'default'); +if ($__bag->has($__errorArgs[0])) : +if (isset($message)) { $__messageOriginal = $message; } +$message = $__bag->first($__errorArgs[0]); ?> +
+ +
+
+ + +
+
+ + + getBag($__errorArgs[1] ?? 'default'); +if ($__bag->has($__errorArgs[0])) : +if (isset($message)) { $__messageOriginal = $message; } +$message = $__bag->first($__errorArgs[0]); ?> +
+ +
Nomor Induk Pegawai (opsional)
+
+ +
+ + + getBag($__errorArgs[1] ?? 'default'); +if ($__bag->has($__errorArgs[0])) : +if (isset($message)) { $__messageOriginal = $message; } +$message = $__bag->first($__errorArgs[0]); ?> +
+ +
Identitas tambahan (opsional)
+
+
+ + +
+
+ + + getBag($__errorArgs[1] ?? 'default'); +if ($__bag->has($__errorArgs[0])) : +if (isset($message)) { $__messageOriginal = $message; } +$message = $__bag->first($__errorArgs[0]); ?> +
+ +
Pilih bagian/divisi staff
+
+
+ + +
+ +
+
+ required> + +
+
+ required> + +
+
+
+
+ + +
+ + ❌ Batal +
+
+
+
+ + + + + \ No newline at end of file diff --git a/storage/framework/views/52c3cfb0daef045dff1aedbc3636d368.php b/storage/framework/views/52c3cfb0daef045dff1aedbc3636d368.php new file mode 100644 index 0000000..8964ca0 --- /dev/null +++ b/storage/framework/views/52c3cfb0daef045dff1aedbc3636d368.php @@ -0,0 +1,51 @@ + 'ltr'])); + +foreach ($attributes->all() as $__key => $__value) { + if (in_array($__key, $__propNames)) { + $$__key = $$__key ?? $__value; + } else { + $__newAttributes[$__key] = $__value; + } +} + +$attributes = new \Illuminate\View\ComponentAttributeBag($__newAttributes); + +unset($__propNames); +unset($__newAttributes); + +foreach (array_filter((['frame', 'direction' => 'ltr']), 'is_string', ARRAY_FILTER_USE_KEY) as $__key => $__value) { + $$__key = $$__key ?? $__value; +} + +$__defined_vars = get_defined_vars(); + +foreach ($attributes->all() as $__key => $__value) { + if (array_key_exists($__key, $__defined_vars)) unset($$__key); +} + +unset($__defined_vars, $__key, $__value); ?> + +file(); + $line = $frame->line(); +?> + +
merge(['class' => 'truncate font-mono text-xs text-neutral-500 dark:text-neutral-400'])); ?> + + dir="" +> + + + + : + + + : + + +
+ \ No newline at end of file diff --git a/storage/framework/views/53e7200c0f71297af5e9d0d970ea5a91.php b/storage/framework/views/53e7200c0f71297af5e9d0d970ea5a91.php new file mode 100644 index 0000000..266ab21 --- /dev/null +++ b/storage/framework/views/53e7200c0f71297af5e9d0d970ea5a91.php @@ -0,0 +1,5 @@ +startSection('title', __('Payment Required')); ?> +startSection('code', '402'); ?> +startSection('message', __('Payment Required')); ?> + +make('errors::minimal', array_diff_key(get_defined_vars(), ['__data' => 1, '__path' => 1]))->render(); ?> \ No newline at end of file diff --git a/storage/framework/views/555fa3ef3ac8d731736b742cdee72f6e.php b/storage/framework/views/555fa3ef3ac8d731736b742cdee72f6e.php new file mode 100644 index 0000000..c544f29 --- /dev/null +++ b/storage/framework/views/555fa3ef3ac8d731736b742cdee72f6e.php @@ -0,0 +1,5 @@ +startSection('title', __('Service Unavailable')); ?> +startSection('code', '503'); ?> +startSection('message', __('Service Unavailable')); ?> + +make('errors::minimal', array_diff_key(get_defined_vars(), ['__data' => 1, '__path' => 1]))->render(); ?> \ No newline at end of file diff --git a/storage/framework/views/57a95aa426ebc1439a211cfa60c318cf.php b/storage/framework/views/57a95aa426ebc1439a211cfa60c318cf.php new file mode 100644 index 0000000..4ec2a16 --- /dev/null +++ b/storage/framework/views/57a95aa426ebc1439a211cfa60c318cf.php @@ -0,0 +1,79 @@ +all() as $__key => $__value) { + if (in_array($__key, $__propNames)) { + $$__key = $$__key ?? $__value; + } else { + $__newAttributes[$__key] = $__value; + } +} + +$attributes = new \Illuminate\View\ComponentAttributeBag($__newAttributes); + +unset($__propNames); +unset($__newAttributes); + +foreach (array_filter((['body']), 'is_string', ARRAY_FILTER_USE_KEY) as $__key => $__value) { + $$__key = $$__key ?? $__value; +} + +$__defined_vars = get_defined_vars(); + +foreach ($attributes->all() as $__key => $__value) { + if (array_key_exists($__key, $__defined_vars)) unset($$__key); +} + +unset($__defined_vars, $__key, $__value); ?> + +
+

Body

+ +
+ + + 'laravel-exceptions-renderer::components.syntax-highlight','data' => ['code' => $body,'language' => 'json']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::syntax-highlight'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['code' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($body),'language' => 'json']); ?> +renderComponent(); ?> + + + + + + + + + +
+ + + + 'laravel-exceptions-renderer::components.empty-state','data' => ['message' => 'No request body']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::empty-state'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['message' => 'No request body']); ?> +renderComponent(); ?> + + + + + + + + + + +
+ \ No newline at end of file diff --git a/storage/framework/views/5ab5a638bf68300385f2a8ec048e254e.php b/storage/framework/views/5ab5a638bf68300385f2a8ec048e254e.php new file mode 100644 index 0000000..d8293f2 --- /dev/null +++ b/storage/framework/views/5ab5a638bf68300385f2a8ec048e254e.php @@ -0,0 +1,157 @@ +all() as $__key => $__value) { + if (in_array($__key, $__propNames)) { + $$__key = $$__key ?? $__value; + } else { + $__newAttributes[$__key] = $__value; + } +} + +$attributes = new \Illuminate\View\ComponentAttributeBag($__newAttributes); + +unset($__propNames); +unset($__newAttributes); + +foreach (array_filter((['exception']), 'is_string', ARRAY_FILTER_USE_KEY) as $__key => $__value) { + $$__key = $$__key ?? $__value; +} + +$__defined_vars = get_defined_vars(); + +foreach ($attributes->all() as $__key => $__value) { + if (array_key_exists($__key, $__defined_vars)) unset($$__key); +} + +unset($__defined_vars, $__key, $__value); ?> + +
+
+

class()); ?>

+ + + 'laravel-exceptions-renderer::components.file-with-line','data' => ['frame' => $exception->frames()->first(),'class' => '-mt-3 text-xs']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::file-with-line'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['frame' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($exception->frames()->first()),'class' => '-mt-3 text-xs']); ?> +renderComponent(); ?> + + + + + + + + + +

+ message()); ?> + +

+
+ +
+
+
+ LARAVEL + version()); ?> +
+
+ PHP + +
+
+ + + 'laravel-exceptions-renderer::components.badge','data' => ['type' => 'error']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::badge'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['type' => 'error']); ?> + + + 'laravel-exceptions-renderer::components.icons.alert','data' => ['class' => 'w-2.5 h-2.5']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::icons.alert'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['class' => 'w-2.5 h-2.5']); ?> +renderComponent(); ?> + + + + + + + + + + UNHANDLED + renderComponent(); ?> + + + + + + + + + + + + 'laravel-exceptions-renderer::components.badge','data' => ['type' => 'error','variant' => 'solid']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::badge'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['type' => 'error','variant' => 'solid']); ?> + CODE code()); ?> + + renderComponent(); ?> + + + + + + + + + +
+ + + + 'laravel-exceptions-renderer::components.request-url','data' => ['exception' => $exception,'request' => $exception->request(),'class' => 'relative z-50']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::request-url'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['exception' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($exception),'request' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($exception->request()),'class' => 'relative z-50']); ?> +renderComponent(); ?> + + + + + + + + + +
+ \ No newline at end of file diff --git a/storage/framework/views/5f072e58da42fbfdc28333c5c0102575.php b/storage/framework/views/5f072e58da42fbfdc28333c5c0102575.php new file mode 100644 index 0000000..09e6af5 --- /dev/null +++ b/storage/framework/views/5f072e58da42fbfdc28333c5c0102575.php @@ -0,0 +1,98 @@ + false, + 'startingLine' => 1, + 'highlightedLine' => null, + 'truncate' => false, +])); + +foreach ($attributes->all() as $__key => $__value) { + if (in_array($__key, $__propNames)) { + $$__key = $$__key ?? $__value; + } else { + $__newAttributes[$__key] = $__value; + } +} + +$attributes = new \Illuminate\View\ComponentAttributeBag($__newAttributes); + +unset($__propNames); +unset($__newAttributes); + +foreach (array_filter(([ + 'code', + 'language', + 'editor' => false, + 'startingLine' => 1, + 'highlightedLine' => null, + 'truncate' => false, +]), 'is_string', ARRAY_FILTER_USE_KEY) as $__key => $__value) { + $$__key = $$__key ?? $__value; +} + +$__defined_vars = get_defined_vars(); + +foreach ($attributes->all() as $__key => $__value) { + if (array_key_exists($__key, $__defined_vars)) unset($$__key); +} + +unset($__defined_vars, $__key, $__value); ?> + +' : '
';
+
+    if ($editor) {
+        $lines = explode("\n", $code);
+
+        foreach ($lines as $index => $line) {
+            $lineNumber = $startingLine + $index;
+            $highlight = $highlightedLine === $index;
+            $lineClass = implode(' ', [
+                'block px-4 py-1 h-7 even:bg-white odd:bg-white/2 even:dark:bg-white/2 odd:dark:bg-white/4',
+                $highlight ? 'bg-rose-200! dark:bg-rose-900!' : '',
+            ]);
+            $lineNumberClass = implode(' ', [
+                'mr-6 text-neutral-500! dark:text-neutral-600!',
+                $highlight ? 'dark:text-white!' : '',
+            ]);
+
+            $fallback .= '';
+            $fallback .= '' . $lineNumber . '';
+            $fallback .= htmlspecialchars($line);
+            $fallback .= '';
+        }
+
+    } else {
+        $fallback .= htmlspecialchars($code);
+    }
+
+    $fallback .= '
'; +?> + +
+ +> +
+
+
+ \ No newline at end of file diff --git a/storage/framework/views/5f5f39558838293aa9286cd13d725487.php b/storage/framework/views/5f5f39558838293aa9286cd13d725487.php new file mode 100644 index 0000000..c9bab04 --- /dev/null +++ b/storage/framework/views/5f5f39558838293aa9286cd13d725487.php @@ -0,0 +1,77 @@ + 'default', 'variant' => 'soft'])); + +foreach ($attributes->all() as $__key => $__value) { + if (in_array($__key, $__propNames)) { + $$__key = $$__key ?? $__value; + } else { + $__newAttributes[$__key] = $__value; + } +} + +$attributes = new \Illuminate\View\ComponentAttributeBag($__newAttributes); + +unset($__propNames); +unset($__newAttributes); + +foreach (array_filter((['type' => 'default', 'variant' => 'soft']), 'is_string', ARRAY_FILTER_USE_KEY) as $__key => $__value) { + $$__key = $$__key ?? $__value; +} + +$__defined_vars = get_defined_vars(); + +foreach ($attributes->all() as $__key => $__value) { + if (array_key_exists($__key, $__defined_vars)) unset($$__key); +} + +unset($__defined_vars, $__key, $__value); ?> + + [ + 'soft' => 'bg-black/8 text-neutral-900 dark:border-neutral-700 dark:bg-white/10 dark:text-neutral-100', + 'solid' => 'bg-neutral-600 text-neutral-100 dark:border-neutral-500 dark:bg-neutral-600', + ], + 'success' => [ + 'soft' => 'bg-emerald-200 text-emerald-900 dark:border-emerald-600 dark:bg-emerald-900/70 dark:text-emerald-400', + 'solid' => 'bg-emerald-600 dark:border-emerald-500 dark:bg-emerald-600', + ], + 'primary' => [ + 'soft' => 'bg-blue-100 text-blue-900 dark:border-blue-800 dark:bg-blue-950 dark:text-blue-300', + 'solid' => 'bg-blue-700 dark:border-blue-600 dark:bg-blue-700', + ], + 'error' => [ + 'soft' => 'bg-rose-200 text-rose-900 dark:border-rose-900 dark:bg-rose-950 dark:text-rose-100 dark:[&_svg]:!text-white', + 'solid' => 'bg-rose-600 dark:border-rose-500 dark:bg-rose-600', + ], + 'alert' => [ + 'soft' => 'bg-amber-200 text-amber-900 dark:border-amber-800 dark:bg-amber-950 dark:text-amber-300', + 'solid' => 'bg-amber-600 dark:border-amber-500 dark:bg-amber-600', + ], + 'white' => [ + 'soft' => 'bg-white text-neutral-900 dark:border-neutral-700 dark:bg-neutral-800 dark:text-neutral-100', + 'solid' => 'bg-black/10 text-neutral-900 dark:text-neutral-900 dark:bg-white', + ], +]; + +$variants = [ + 'soft' => '', + 'solid' => 'text-white dark:text-white [&_svg]:!text-white', +]; + +$typeClasses = $types[$type][$variant] ?? $types['default']['soft']; +$variantClasses = $variants[$variant] ?? $variants['soft']; + +$classes = implode(' ', [$baseClasses, $typeClasses, $variantClasses]); + +?> + +
merge(['class' => $classes])); ?>> + + +
+ \ No newline at end of file diff --git a/storage/framework/views/61f48979cf84332c499cb816e8cb37b0.php b/storage/framework/views/61f48979cf84332c499cb816e8cb37b0.php new file mode 100644 index 0000000..e442893 --- /dev/null +++ b/storage/framework/views/61f48979cf84332c499cb816e8cb37b0.php @@ -0,0 +1,35 @@ + + + + + + + <?php echo $__env->yieldContent('title'); ?> + + + + + + +
+
+
+

+ yieldContent('code'); ?> +

+ +
+ yieldContent('message'); ?> +
+
+
+
+ + + \ No newline at end of file diff --git a/storage/framework/views/635681b9a22db999f17cd7a3d0c15b67.php b/storage/framework/views/635681b9a22db999f17cd7a3d0c15b67.php new file mode 100644 index 0000000..aea2c66 --- /dev/null +++ b/storage/framework/views/635681b9a22db999f17cd7a3d0c15b67.php @@ -0,0 +1,6 @@ +> + + + + + \ No newline at end of file diff --git a/storage/framework/views/63def277f0c2e86277d24860e4ef0cf4.php b/storage/framework/views/63def277f0c2e86277d24860e4ef0cf4.php new file mode 100644 index 0000000..983b92f --- /dev/null +++ b/storage/framework/views/63def277f0c2e86277d24860e4ef0cf4.php @@ -0,0 +1,12 @@ +> + + + + + + + + + + + \ No newline at end of file diff --git a/storage/framework/views/66126db5a384cd0222b6b6ac92edc5af.php b/storage/framework/views/66126db5a384cd0222b6b6ac92edc5af.php new file mode 100644 index 0000000..d977a74 --- /dev/null +++ b/storage/framework/views/66126db5a384cd0222b6b6ac92edc5af.php @@ -0,0 +1,4 @@ +> + + + \ No newline at end of file diff --git a/storage/framework/views/675e01ce383c55c2faebefbcb4b93bb8.php b/storage/framework/views/675e01ce383c55c2faebefbcb4b93bb8.php new file mode 100644 index 0000000..e46bdb7 --- /dev/null +++ b/storage/framework/views/675e01ce383c55c2faebefbcb4b93bb8.php @@ -0,0 +1,83 @@ +all() as $__key => $__value) { + if (in_array($__key, $__propNames)) { + $$__key = $$__key ?? $__value; + } else { + $__newAttributes[$__key] = $__value; + } +} + +$attributes = new \Illuminate\View\ComponentAttributeBag($__newAttributes); + +unset($__propNames); +unset($__newAttributes); + +foreach (array_filter((['method']), 'is_string', ARRAY_FILTER_USE_KEY) as $__key => $__value) { + $$__key = $$__key ?? $__value; +} + +$__defined_vars = get_defined_vars(); + +foreach ($attributes->all() as $__key => $__value) { + if (array_key_exists($__key, $__defined_vars)) unset($$__key); +} + +unset($__defined_vars, $__key, $__value); ?> + + 'default', + 'POST' => 'success', + 'PUT', 'PATCH' => 'primary', + 'DELETE' => 'error', + default => 'default', +}; +?> + + + + 'laravel-exceptions-renderer::components.badge','data' => ['type' => ''.e($type).'']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::badge'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['type' => ''.e($type).'']); ?> + + + 'laravel-exceptions-renderer::components.icons.globe','data' => ['class' => 'w-2.5 h-2.5']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::icons.globe'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['class' => 'w-2.5 h-2.5']); ?> +renderComponent(); ?> + + + + + + + + + + + + renderComponent(); ?> + + + + + + + + + + \ No newline at end of file diff --git a/storage/framework/views/6fc7a485a57c6222d80f208ed06c16fd.php b/storage/framework/views/6fc7a485a57c6222d80f208ed06c16fd.php new file mode 100644 index 0000000..ca927de --- /dev/null +++ b/storage/framework/views/6fc7a485a57c6222d80f208ed06c16fd.php @@ -0,0 +1,180 @@ +all() as $__key => $__value) { + if (in_array($__key, $__propNames)) { + $$__key = $$__key ?? $__value; + } else { + $__newAttributes[$__key] = $__value; + } +} + +$attributes = new \Illuminate\View\ComponentAttributeBag($__newAttributes); + +unset($__propNames); +unset($__newAttributes); + +foreach (array_filter((['frame']), 'is_string', ARRAY_FILTER_USE_KEY) as $__key => $__value) { + $$__key = $$__key ?? $__value; +} + +$__defined_vars = get_defined_vars(); + +foreach ($attributes->all() as $__key => $__value) { + if (array_key_exists($__key, $__defined_vars)) unset($$__key); +} + +unset($__defined_vars, $__key, $__value); ?> + +
+
+ +
+
+
+ +
+ + + 'laravel-exceptions-renderer::components.formatted-source','data' => ['frame' => $frame]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::formatted-source'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['frame' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($frame)]); ?> +renderComponent(); ?> + + + + + + + + + + + + 'laravel-exceptions-renderer::components.file-with-line','data' => ['frame' => $frame,'direction' => 'rtl']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::file-with-line'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['frame' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($frame),'direction' => 'rtl']); ?> +renderComponent(); ?> + + + + + + + + + +
+ +
+ +
+
+ + snippet()): ?> + + + 'laravel-exceptions-renderer::components.frame-code','data' => ['code' => $snippet,'highlightedLine' => $frame->line(),'xShow' => 'expanded','xCloak' => !$frame->isMain()]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::frame-code'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['code' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($snippet),'highlightedLine' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($frame->line()),'x-show' => 'expanded','x-cloak' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute(!$frame->isMain())]); ?> +renderComponent(); ?> + + + + + + + + + + +
+ \ No newline at end of file diff --git a/storage/framework/views/74bec295d7645a04575b567af055189e.php b/storage/framework/views/74bec295d7645a04575b567af055189e.php new file mode 100644 index 0000000..5c346b5 --- /dev/null +++ b/storage/framework/views/74bec295d7645a04575b567af055189e.php @@ -0,0 +1,537 @@ + + + + + + Management Portal - Dosen & Staff/Teknisi + + + + 7.5, + 'Selasa' => 6.8, + 'Rabu' => 8.2, + 'Kamis' => 7.1, + 'Jumat' => 5.4, + ]; + $maksJam = max($durasiMingguan); + ?> + +
+ + +
+
+
+

Selamat datang,

+

Semoga aktivitas akademik dan operasional hari ini berjalan lancar.

+
+ +
+ + +
+ + +
+
+
+ +
+
+

Grafik Durasi Kehadiran Dosen di Kampus

+

Rekap otomatis dari Senin sampai Jumat, reset pada awal minggu berikutnya.

+ +
+
+ Durasi mingguan (jam) + Reset Mingguan Otomatis +
+ +
+ addLoop($__currentLoopData); foreach($__currentLoopData as $hari => $jam): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?> + 0 ? ($jam / $maksJam) * 100 : 0; + ?> +
+
+ +
j
+
+ popLoop(); $loop = $__env->getLastLoop(); ?> +
+
+
+ + +
+
+
+ + + + + \ No newline at end of file diff --git a/storage/framework/views/74e666e1afe1b6e71f618645f57b2d2b.php b/storage/framework/views/74e666e1afe1b6e71f618645f57b2d2b.php new file mode 100644 index 0000000..274a289 --- /dev/null +++ b/storage/framework/views/74e666e1afe1b6e71f618645f57b2d2b.php @@ -0,0 +1,83 @@ +all() as $__key => $__value) { + if (in_array($__key, $__propNames)) { + $$__key = $$__key ?? $__value; + } else { + $__newAttributes[$__key] = $__value; + } +} + +$attributes = new \Illuminate\View\ComponentAttributeBag($__newAttributes); + +unset($__propNames); +unset($__newAttributes); + +foreach (array_filter((['method']), 'is_string', ARRAY_FILTER_USE_KEY) as $__key => $__value) { + $$__key = $$__key ?? $__value; +} + +$__defined_vars = get_defined_vars(); + +foreach ($attributes->all() as $__key => $__value) { + if (array_key_exists($__key, $__defined_vars)) unset($$__key); +} + +unset($__defined_vars, $__key, $__value); ?> + + 'default', + 'POST' => 'success', + 'PUT', 'PATCH' => 'primary', + 'DELETE' => 'error', + default => 'default', +}; +?> + + + + 'laravel-exceptions-renderer::components.badge','data' => ['type' => ''.e($type).'']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::badge'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['type' => ''.e($type).'']); ?> + + + 'laravel-exceptions-renderer::components.icons.globe','data' => ['class' => 'w-2.5 h-2.5']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::icons.globe'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['class' => 'w-2.5 h-2.5']); ?> +renderComponent(); ?> + + + + + + + + + + + + renderComponent(); ?> + + + + + + + + + + \ No newline at end of file diff --git a/storage/framework/views/77a1c9ce910420dd0a2503f9a08a1423.php b/storage/framework/views/77a1c9ce910420dd0a2503f9a08a1423.php new file mode 100644 index 0000000..0424da8 --- /dev/null +++ b/storage/framework/views/77a1c9ce910420dd0a2503f9a08a1423.php @@ -0,0 +1,98 @@ + false, + 'startingLine' => 1, + 'highlightedLine' => null, + 'truncate' => false, +])); + +foreach ($attributes->all() as $__key => $__value) { + if (in_array($__key, $__propNames)) { + $$__key = $$__key ?? $__value; + } else { + $__newAttributes[$__key] = $__value; + } +} + +$attributes = new \Illuminate\View\ComponentAttributeBag($__newAttributes); + +unset($__propNames); +unset($__newAttributes); + +foreach (array_filter(([ + 'code', + 'language', + 'editor' => false, + 'startingLine' => 1, + 'highlightedLine' => null, + 'truncate' => false, +]), 'is_string', ARRAY_FILTER_USE_KEY) as $__key => $__value) { + $$__key = $$__key ?? $__value; +} + +$__defined_vars = get_defined_vars(); + +foreach ($attributes->all() as $__key => $__value) { + if (array_key_exists($__key, $__defined_vars)) unset($$__key); +} + +unset($__defined_vars, $__key, $__value); ?> + +' : '
';
+
+    if ($editor) {
+        $lines = explode("\n", $code);
+
+        foreach ($lines as $index => $line) {
+            $lineNumber = $startingLine + $index;
+            $highlight = $highlightedLine === $index;
+            $lineClass = implode(' ', [
+                'block px-4 py-1 h-7 even:bg-white odd:bg-white/2 even:dark:bg-white/2 odd:dark:bg-white/4',
+                $highlight ? 'bg-rose-200! dark:bg-rose-900!' : '',
+            ]);
+            $lineNumberClass = implode(' ', [
+                'mr-6 text-neutral-500! dark:text-neutral-600!',
+                $highlight ? 'dark:text-white!' : '',
+            ]);
+
+            $fallback .= '';
+            $fallback .= '' . $lineNumber . '';
+            $fallback .= htmlspecialchars($line);
+            $fallback .= '';
+        }
+
+    } else {
+        $fallback .= htmlspecialchars($code);
+    }
+
+    $fallback .= '
'; +?> + +
+ +> +
+
+
+ \ No newline at end of file diff --git a/storage/framework/views/77c5237fa512c2c76e5e1323f050a748.php b/storage/framework/views/77c5237fa512c2c76e5e1323f050a748.php new file mode 100644 index 0000000..53b6e79 --- /dev/null +++ b/storage/framework/views/77c5237fa512c2c76e5e1323f050a748.php @@ -0,0 +1,69 @@ +all() as $__key => $__value) { + if (in_array($__key, $__propNames)) { + $$__key = $$__key ?? $__value; + } else { + $__newAttributes[$__key] = $__value; + } +} + +$attributes = new \Illuminate\View\ComponentAttributeBag($__newAttributes); + +unset($__propNames); +unset($__newAttributes); + +foreach (array_filter((['routing']), 'is_string', ARRAY_FILTER_USE_KEY) as $__key => $__value) { + $$__key = $$__key ?? $__value; +} + +$__defined_vars = get_defined_vars(); + +foreach ($attributes->all() as $__key => $__value) { + if (array_key_exists($__key, $__defined_vars)) unset($$__key); +} + +unset($__defined_vars, $__key, $__value); ?> + +
+

Routing

+
+ addLoop($__currentLoopData); foreach($__currentLoopData as $key => $value): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); $__empty_1 = false; ?> +
+
+
+
+ + + + +
+
+ popLoop(); $loop = $__env->getLastLoop(); if ($__empty_1): ?> + + + 'laravel-exceptions-renderer::components.empty-state','data' => ['message' => 'No routing context']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::empty-state'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['message' => 'No routing context']); ?> +renderComponent(); ?> + + + + + + + + + + +
+
+ \ No newline at end of file diff --git a/storage/framework/views/78f3d14aa4ab769f09a443f115990105.php b/storage/framework/views/78f3d14aa4ab769f09a443f115990105.php new file mode 100644 index 0000000..f4fd10c --- /dev/null +++ b/storage/framework/views/78f3d14aa4ab769f09a443f115990105.php @@ -0,0 +1,77 @@ + 'default', 'variant' => 'soft'])); + +foreach ($attributes->all() as $__key => $__value) { + if (in_array($__key, $__propNames)) { + $$__key = $$__key ?? $__value; + } else { + $__newAttributes[$__key] = $__value; + } +} + +$attributes = new \Illuminate\View\ComponentAttributeBag($__newAttributes); + +unset($__propNames); +unset($__newAttributes); + +foreach (array_filter((['type' => 'default', 'variant' => 'soft']), 'is_string', ARRAY_FILTER_USE_KEY) as $__key => $__value) { + $$__key = $$__key ?? $__value; +} + +$__defined_vars = get_defined_vars(); + +foreach ($attributes->all() as $__key => $__value) { + if (array_key_exists($__key, $__defined_vars)) unset($$__key); +} + +unset($__defined_vars, $__key, $__value); ?> + + [ + 'soft' => 'bg-black/8 text-neutral-900 dark:border-neutral-700 dark:bg-white/10 dark:text-neutral-100', + 'solid' => 'bg-neutral-600 text-neutral-100 dark:border-neutral-500 dark:bg-neutral-600', + ], + 'success' => [ + 'soft' => 'bg-emerald-200 text-emerald-900 dark:border-emerald-600 dark:bg-emerald-900/70 dark:text-emerald-400', + 'solid' => 'bg-emerald-600 dark:border-emerald-500 dark:bg-emerald-600', + ], + 'primary' => [ + 'soft' => 'bg-blue-100 text-blue-900 dark:border-blue-800 dark:bg-blue-950 dark:text-blue-300', + 'solid' => 'bg-blue-700 dark:border-blue-600 dark:bg-blue-700', + ], + 'error' => [ + 'soft' => 'bg-rose-200 text-rose-900 dark:border-rose-900 dark:bg-rose-950 dark:text-rose-100 dark:[&_svg]:!text-white', + 'solid' => 'bg-rose-600 dark:border-rose-500 dark:bg-rose-600', + ], + 'alert' => [ + 'soft' => 'bg-amber-200 text-amber-900 dark:border-amber-800 dark:bg-amber-950 dark:text-amber-300', + 'solid' => 'bg-amber-600 dark:border-amber-500 dark:bg-amber-600', + ], + 'white' => [ + 'soft' => 'bg-white text-neutral-900 dark:border-neutral-700 dark:bg-neutral-800 dark:text-neutral-100', + 'solid' => 'bg-black/10 text-neutral-900 dark:text-neutral-900 dark:bg-white', + ], +]; + +$variants = [ + 'soft' => '', + 'solid' => 'text-white dark:text-white [&_svg]:!text-white', +]; + +$typeClasses = $types[$type][$variant] ?? $types['default']['soft']; +$variantClasses = $variants[$variant] ?? $variants['soft']; + +$classes = implode(' ', [$baseClasses, $typeClasses, $variantClasses]); + +?> + +
merge(['class' => $classes])); ?>> + + +
+ \ No newline at end of file diff --git a/storage/framework/views/7a6a768f813708dfed8c14685b0662db.php b/storage/framework/views/7a6a768f813708dfed8c14685b0662db.php new file mode 100644 index 0000000..171c1b0 --- /dev/null +++ b/storage/framework/views/7a6a768f813708dfed8c14685b0662db.php @@ -0,0 +1,115 @@ +all() as $__key => $__value) { + if (in_array($__key, $__propNames)) { + $$__key = $$__key ?? $__value; + } else { + $__newAttributes[$__key] = $__value; + } +} + +$attributes = new \Illuminate\View\ComponentAttributeBag($__newAttributes); + +unset($__propNames); +unset($__newAttributes); + +foreach (array_filter((['title', 'markdown']), 'is_string', ARRAY_FILTER_USE_KEY) as $__key => $__value) { + $$__key = $$__key ?? $__value; +} + +$__defined_vars = get_defined_vars(); + +foreach ($attributes->all() as $__key => $__value) { + if (array_key_exists($__key, $__defined_vars)) unset($$__key); +} + +unset($__defined_vars, $__key, $__value); ?> + + + +
+
+
+ + + + +
+
+ + +
+
+ + +
+ \ No newline at end of file diff --git a/storage/framework/views/7b56bc7e0233e72fa502eba89393c5f1.php b/storage/framework/views/7b56bc7e0233e72fa502eba89393c5f1.php new file mode 100644 index 0000000..af6d288 --- /dev/null +++ b/storage/framework/views/7b56bc7e0233e72fa502eba89393c5f1.php @@ -0,0 +1,12 @@ +> + + + + + + + + + + + \ No newline at end of file diff --git a/storage/framework/views/7d2b87c6851a2c659090ebcb4ca2b4ca.php b/storage/framework/views/7d2b87c6851a2c659090ebcb4ca2b4ca.php new file mode 100644 index 0000000..d1c18c4 --- /dev/null +++ b/storage/framework/views/7d2b87c6851a2c659090ebcb4ca2b4ca.php @@ -0,0 +1,4 @@ +> + + + \ No newline at end of file diff --git a/storage/framework/views/7d5568fbba7949a84273fd309ba8eff8.php b/storage/framework/views/7d5568fbba7949a84273fd309ba8eff8.php new file mode 100644 index 0000000..469ed9b --- /dev/null +++ b/storage/framework/views/7d5568fbba7949a84273fd309ba8eff8.php @@ -0,0 +1,4 @@ +> + + + \ No newline at end of file diff --git a/storage/framework/views/7ea12a0844fe4989bd56aa0ca9659226.php b/storage/framework/views/7ea12a0844fe4989bd56aa0ca9659226.php new file mode 100644 index 0000000..b079842 --- /dev/null +++ b/storage/framework/views/7ea12a0844fe4989bd56aa0ca9659226.php @@ -0,0 +1,6 @@ +> + + + + + \ No newline at end of file diff --git a/storage/framework/views/7ef76c0b4cc96927a9cc8b8a9057db62.php b/storage/framework/views/7ef76c0b4cc96927a9cc8b8a9057db62.php new file mode 100644 index 0000000..83996df --- /dev/null +++ b/storage/framework/views/7ef76c0b4cc96927a9cc8b8a9057db62.php @@ -0,0 +1,20 @@ +hasPages()): ?> + + + \ No newline at end of file diff --git a/storage/framework/views/7fff72a58cce4db671477cd2877ed63e.php b/storage/framework/views/7fff72a58cce4db671477cd2877ed63e.php new file mode 100644 index 0000000..ffeff11 --- /dev/null +++ b/storage/framework/views/7fff72a58cce4db671477cd2877ed63e.php @@ -0,0 +1,51 @@ + 'ltr'])); + +foreach ($attributes->all() as $__key => $__value) { + if (in_array($__key, $__propNames)) { + $$__key = $$__key ?? $__value; + } else { + $__newAttributes[$__key] = $__value; + } +} + +$attributes = new \Illuminate\View\ComponentAttributeBag($__newAttributes); + +unset($__propNames); +unset($__newAttributes); + +foreach (array_filter((['frame', 'direction' => 'ltr']), 'is_string', ARRAY_FILTER_USE_KEY) as $__key => $__value) { + $$__key = $$__key ?? $__value; +} + +$__defined_vars = get_defined_vars(); + +foreach ($attributes->all() as $__key => $__value) { + if (array_key_exists($__key, $__defined_vars)) unset($$__key); +} + +unset($__defined_vars, $__key, $__value); ?> + +file(); + $line = $frame->line(); +?> + +
merge(['class' => 'truncate font-mono text-xs text-neutral-500 dark:text-neutral-400'])); ?> + + dir="" +> + + + + : + + + : + + +
+ \ No newline at end of file diff --git a/storage/framework/views/863b48c0a6fad051f36444f96315ff7a.php b/storage/framework/views/863b48c0a6fad051f36444f96315ff7a.php new file mode 100644 index 0000000..05c1bac --- /dev/null +++ b/storage/framework/views/863b48c0a6fad051f36444f96315ff7a.php @@ -0,0 +1,57 @@ +all() as $__key => $__value) { + if (in_array($__key, $__propNames)) { + $$__key = $$__key ?? $__value; + } else { + $__newAttributes[$__key] = $__value; + } +} + +$attributes = new \Illuminate\View\ComponentAttributeBag($__newAttributes); + +unset($__propNames); +unset($__newAttributes); + +foreach (array_filter((['code', 'highlightedLine']), 'is_string', ARRAY_FILTER_USE_KEY) as $__key => $__value) { + $$__key = $$__key ?? $__value; +} + +$__defined_vars = get_defined_vars(); + +foreach ($attributes->all() as $__key => $__value) { + if (array_key_exists($__key, $__defined_vars)) unset($$__key); +} + +unset($__defined_vars, $__key, $__value); ?> + +
+ +> + + + 'laravel-exceptions-renderer::components.syntax-highlight','data' => ['code' => $code,'language' => 'php','editor' => true,'startingLine' => max(1, $highlightedLine - 5),'highlightedLine' => min(5, $highlightedLine - 1),'class' => 'overflow-x-auto']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::syntax-highlight'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['code' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($code),'language' => 'php','editor' => true,'starting-line' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute(max(1, $highlightedLine - 5)),'highlighted-line' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute(min(5, $highlightedLine - 1)),'class' => 'overflow-x-auto']); ?> +renderComponent(); ?> + + + + + + + + + +
+ \ No newline at end of file diff --git a/storage/framework/views/875ae74966137e37e34c48450e51cbeb.php b/storage/framework/views/875ae74966137e37e34c48450e51cbeb.php new file mode 100644 index 0000000..e529475 --- /dev/null +++ b/storage/framework/views/875ae74966137e37e34c48450e51cbeb.php @@ -0,0 +1,167 @@ +all() as $__key => $__value) { + if (in_array($__key, $__propNames)) { + $$__key = $$__key ?? $__value; + } else { + $__newAttributes[$__key] = $__value; + } +} + +$attributes = new \Illuminate\View\ComponentAttributeBag($__newAttributes); + +unset($__propNames); +unset($__newAttributes); + +foreach (array_filter((['exception', 'request']), 'is_string', ARRAY_FILTER_USE_KEY) as $__key => $__value) { + $$__key = $$__key ?? $__value; +} + +$__defined_vars = get_defined_vars(); + +foreach ($attributes->all() as $__key => $__value) { + if (array_key_exists($__key, $__defined_vars)) unset($$__key); +} + +unset($__defined_vars, $__key, $__value); ?> + +
merge(['class' => "bg-white dark:bg-[#1a1a1a] border border-neutral-200 dark:border-white/10 rounded-lg flex items-center justify-between h-10 px-2 shadow-xs"])); ?> + +> +
+ + + 'laravel-exceptions-renderer::components.badge','data' => ['type' => 'error','variant' => 'solid']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::badge'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['type' => 'error','variant' => 'solid']); ?> + + + 'laravel-exceptions-renderer::components.icons.alert','data' => ['class' => 'w-2.5 h-2.5']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::icons.alert'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['class' => 'w-2.5 h-2.5']); ?> +renderComponent(); ?> + + + + + + + + + + httpStatusCode()); ?> + + renderComponent(); ?> + + + + + + + + + + + + 'laravel-exceptions-renderer::components.http-method','data' => ['method' => ''.e($request->method()).'']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::http-method'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['method' => ''.e($request->method()).'']); ?> +renderComponent(); ?> + + + + + + + + + +
+ + fullUrl()); ?> + + +
+ +
+
+ \ No newline at end of file diff --git a/storage/framework/views/88a7a968bd947fc9b1707227aef35ec0.php b/storage/framework/views/88a7a968bd947fc9b1707227aef35ec0.php new file mode 100644 index 0000000..bc0bdb5 --- /dev/null +++ b/storage/framework/views/88a7a968bd947fc9b1707227aef35ec0.php @@ -0,0 +1,4 @@ +> + + + \ No newline at end of file diff --git a/storage/framework/views/8a2b960101143072fd2c808c7a6a5897.php b/storage/framework/views/8a2b960101143072fd2c808c7a6a5897.php new file mode 100644 index 0000000..9fbca47 --- /dev/null +++ b/storage/framework/views/8a2b960101143072fd2c808c7a6a5897.php @@ -0,0 +1,28 @@ + + + + + + + + <?php echo e(config('app.name', 'Laravel')); ?> + + + + + + + +
+ + +
+ + + + + + \ No newline at end of file diff --git a/storage/framework/views/8bbe5c4e5decdce78e3652ec083ecd67.php b/storage/framework/views/8bbe5c4e5decdce78e3652ec083ecd67.php new file mode 100644 index 0000000..a75953b --- /dev/null +++ b/storage/framework/views/8bbe5c4e5decdce78e3652ec083ecd67.php @@ -0,0 +1,865 @@ + + + + + + Kelola Users - Dashboard JTI + + + + = 2) break; + } + return $initials !== '' ? $initials : 'NA'; + }; + + $resolveFoto = static function (?string $foto): ?string { + $foto = trim((string) $foto); + if ($foto === '') return null; + if (preg_match('~^(https?://|data:|//)~i', $foto)) return $foto; + if (str_starts_with($foto, '/')) return $foto; + return asset($foto); + }; + ?> + + + + + + + \ No newline at end of file diff --git a/storage/framework/views/8e66f3f31e4424c33ae8d8d10bc031c0.php b/storage/framework/views/8e66f3f31e4424c33ae8d8d10bc031c0.php new file mode 100644 index 0000000..b6a77fe --- /dev/null +++ b/storage/framework/views/8e66f3f31e4424c33ae8d8d10bc031c0.php @@ -0,0 +1,5 @@ +> + + + + \ No newline at end of file diff --git a/storage/framework/views/90f6f423c96210e7a0002e3457a2fe89.php b/storage/framework/views/90f6f423c96210e7a0002e3457a2fe89.php new file mode 100644 index 0000000..2530676 --- /dev/null +++ b/storage/framework/views/90f6f423c96210e7a0002e3457a2fe89.php @@ -0,0 +1,157 @@ +all() as $__key => $__value) { + if (in_array($__key, $__propNames)) { + $$__key = $$__key ?? $__value; + } else { + $__newAttributes[$__key] = $__value; + } +} + +$attributes = new \Illuminate\View\ComponentAttributeBag($__newAttributes); + +unset($__propNames); +unset($__newAttributes); + +foreach (array_filter((['exception']), 'is_string', ARRAY_FILTER_USE_KEY) as $__key => $__value) { + $$__key = $$__key ?? $__value; +} + +$__defined_vars = get_defined_vars(); + +foreach ($attributes->all() as $__key => $__value) { + if (array_key_exists($__key, $__defined_vars)) unset($$__key); +} + +unset($__defined_vars, $__key, $__value); ?> + +
+
+

class()); ?>

+ + + 'laravel-exceptions-renderer::components.file-with-line','data' => ['frame' => $exception->frames()->first(),'class' => '-mt-3 text-xs']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::file-with-line'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['frame' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($exception->frames()->first()),'class' => '-mt-3 text-xs']); ?> +renderComponent(); ?> + + + + + + + + + +

+ message()); ?> + +

+
+ +
+
+
+ LARAVEL + version()); ?> +
+
+ PHP + +
+
+ + + 'laravel-exceptions-renderer::components.badge','data' => ['type' => 'error']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::badge'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['type' => 'error']); ?> + + + 'laravel-exceptions-renderer::components.icons.alert','data' => ['class' => 'w-2.5 h-2.5']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::icons.alert'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['class' => 'w-2.5 h-2.5']); ?> +renderComponent(); ?> + + + + + + + + + + UNHANDLED + renderComponent(); ?> + + + + + + + + + + + + 'laravel-exceptions-renderer::components.badge','data' => ['type' => 'error','variant' => 'solid']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::badge'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['type' => 'error','variant' => 'solid']); ?> + CODE code()); ?> + + renderComponent(); ?> + + + + + + + + + +
+ + + + 'laravel-exceptions-renderer::components.request-url','data' => ['exception' => $exception,'request' => $exception->request(),'class' => 'relative z-50']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::request-url'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['exception' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($exception),'request' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($exception->request()),'class' => 'relative z-50']); ?> +renderComponent(); ?> + + + + + + + + + +
+ \ No newline at end of file diff --git a/storage/framework/views/92b39079c123311dec844e1e250a2c6f.php b/storage/framework/views/92b39079c123311dec844e1e250a2c6f.php new file mode 100644 index 0000000..cc7492a --- /dev/null +++ b/storage/framework/views/92b39079c123311dec844e1e250a2c6f.php @@ -0,0 +1,4 @@ +
merge(['class' => "h-0 w-full relative"])); ?>> +
+
+ \ No newline at end of file diff --git a/storage/framework/views/9381e27cfff54c20466139ae4a9bd643.php b/storage/framework/views/9381e27cfff54c20466139ae4a9bd643.php new file mode 100644 index 0000000..dc08f1f --- /dev/null +++ b/storage/framework/views/9381e27cfff54c20466139ae4a9bd643.php @@ -0,0 +1,35 @@ +all() as $__key => $__value) { + if (in_array($__key, $__propNames)) { + $$__key = $$__key ?? $__value; + } else { + $__newAttributes[$__key] = $__value; + } +} + +$attributes = new \Illuminate\View\ComponentAttributeBag($__newAttributes); + +unset($__propNames); +unset($__newAttributes); + +foreach (array_filter((['message']), 'is_string', ARRAY_FILTER_USE_KEY) as $__key => $__value) { + $$__key = $$__key ?? $__value; +} + +$__defined_vars = get_defined_vars(); + +foreach ($attributes->all() as $__key => $__value) { + if (array_key_exists($__key, $__defined_vars)) unset($$__key); +} + +unset($__defined_vars, $__key, $__value); ?> + +
+ // + +
+ \ No newline at end of file diff --git a/storage/framework/views/93bab0188f0c61f9c3578451d3a4e08c.php b/storage/framework/views/93bab0188f0c61f9c3578451d3a4e08c.php new file mode 100644 index 0000000..0431e42 --- /dev/null +++ b/storage/framework/views/93bab0188f0c61f9c3578451d3a4e08c.php @@ -0,0 +1,6 @@ +> + + + + + \ No newline at end of file diff --git a/storage/framework/views/9710af2950af5ba39ec3979382fd1f44.php b/storage/framework/views/9710af2950af5ba39ec3979382fd1f44.php new file mode 100644 index 0000000..52f622e --- /dev/null +++ b/storage/framework/views/9710af2950af5ba39ec3979382fd1f44.php @@ -0,0 +1,673 @@ + + + + + + Tambah Dosen Baru - Dashboard JTI + + + +
+
+ +
JTI
+
+

Tambah Dosen

+

Data dosen baru

+
+
+
+ Kembali +
+
+ +
+
+

👨‍🏫 Form Tambah Dosen Baru

+

Lengkapi informasi dosen dengan data yang akurat dan benar.

+
+ + any()): ?> +
+
+ ❌ Validasi gagal, periksa kembali data Anda: +
    + all(); $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $error): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?> +
  • + popLoop(); $loop = $__env->getLastLoop(); ?> +
+
+
+ + +
+ + + +
+
+
👨‍🏫
+ +
+ + + +
📝 Gunakan file atau URL gambar untuk foto profil
+
+ + +
+ +
+
+ + + getBag($__errorArgs[1] ?? 'default'); +if ($__bag->has($__errorArgs[0])) : +if (isset($message)) { $__messageOriginal = $message; } +$message = $__bag->first($__errorArgs[0]); ?> +
+ +
Masukkan nama lengkap dosen
+
+
+ + +
+
+ + + getBag($__errorArgs[1] ?? 'default'); +if ($__bag->has($__errorArgs[0])) : +if (isset($message)) { $__messageOriginal = $message; } +$message = $__bag->first($__errorArgs[0]); ?> +
+ +
Nomor Induk Pegawai (opsional)
+
+ +
+ + + getBag($__errorArgs[1] ?? 'default'); +if ($__bag->has($__errorArgs[0])) : +if (isset($message)) { $__messageOriginal = $message; } +$message = $__bag->first($__errorArgs[0]); ?> +
+ +
Nomor Induk Dosen Nasional (opsional)
+
+
+ + +
+
+ + + getBag($__errorArgs[1] ?? 'default'); +if ($__bag->has($__errorArgs[0])) : +if (isset($message)) { $__messageOriginal = $message; } +$message = $__bag->first($__errorArgs[0]); ?> +
+ +
Pilih program studi untuk dosen
+
+
+ + + + + +
+ + ❌ Batal +
+
+
+
+
+ + + + + + \ No newline at end of file diff --git a/storage/framework/views/99150232bd889014fd56c9365a03e0eb.php b/storage/framework/views/99150232bd889014fd56c9365a03e0eb.php new file mode 100644 index 0000000..921ffcd --- /dev/null +++ b/storage/framework/views/99150232bd889014fd56c9365a03e0eb.php @@ -0,0 +1,12 @@ +> + + + + + + + + + + + \ No newline at end of file diff --git a/storage/framework/views/9a1b768956e585cf3c8aafe48c1c1e87.php b/storage/framework/views/9a1b768956e585cf3c8aafe48c1c1e87.php new file mode 100644 index 0000000..d4fec72 --- /dev/null +++ b/storage/framework/views/9a1b768956e585cf3c8aafe48c1c1e87.php @@ -0,0 +1,65 @@ +all() as $__key => $__value) { + if (in_array($__key, $__propNames)) { + $$__key = $$__key ?? $__value; + } else { + $__newAttributes[$__key] = $__value; + } +} + +$attributes = new \Illuminate\View\ComponentAttributeBag($__newAttributes); + +unset($__propNames); +unset($__newAttributes); + +foreach (array_filter((['frame']), 'is_string', ARRAY_FILTER_USE_KEY) as $__key => $__value) { + $$__key = $$__key ?? $__value; +} + +$__defined_vars = get_defined_vars(); + +foreach ($attributes->all() as $__key => $__value) { + if (array_key_exists($__key, $__defined_vars)) unset($$__key); +} + +unset($__defined_vars, $__key, $__value); ?> + +class(); + $operator = $frame->operator(); + $callable = $frame->callable(); + + if ($class && $operator) { + $source = $class.$operator.$callable.'('.implode(', ', $frame->args()).')'; + } elseif ($callable !== 'throw') { + $source = $callable.'('.implode(', ', $frame->args()).')'; + } else { + $source = $frame->source(); + } +?> + + + + 'laravel-exceptions-renderer::components.syntax-highlight','data' => ['code' => $source,'language' => 'php','truncate' => true,'class' => 'text-xs min-w-0','dataTippyContent' => ''.e($source).'']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::syntax-highlight'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['code' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($source),'language' => 'php','truncate' => true,'class' => 'text-xs min-w-0','data-tippy-content' => ''.e($source).'']); ?> +renderComponent(); ?> + + + + + + + + + + \ No newline at end of file diff --git a/storage/framework/views/9ac1918b3f0c565e848288e14b87ee0a.php b/storage/framework/views/9ac1918b3f0c565e848288e14b87ee0a.php new file mode 100644 index 0000000..0ccd501 --- /dev/null +++ b/storage/framework/views/9ac1918b3f0c565e848288e14b87ee0a.php @@ -0,0 +1,35 @@ + + + + + + + <?php echo $__env->yieldContent('title'); ?> + + + + + + +
+
+
+

+ yieldContent('code'); ?> +

+ +
+ yieldContent('message'); ?> +
+
+
+
+ + + \ No newline at end of file diff --git a/storage/framework/views/a053ffea8993c0839fc6af2a022255b0.php b/storage/framework/views/a053ffea8993c0839fc6af2a022255b0.php new file mode 100644 index 0000000..5dfc07a --- /dev/null +++ b/storage/framework/views/a053ffea8993c0839fc6af2a022255b0.php @@ -0,0 +1,11 @@ +> + + + + + + + + + + \ No newline at end of file diff --git a/storage/framework/views/ad545c4092fd0a3f28af61a3d180cf41.php b/storage/framework/views/ad545c4092fd0a3f28af61a3d180cf41.php new file mode 100644 index 0000000..846b971 --- /dev/null +++ b/storage/framework/views/ad545c4092fd0a3f28af61a3d180cf41.php @@ -0,0 +1,47 @@ +hasPages()): ?> + + + \ No newline at end of file diff --git a/storage/framework/views/b04bbaccf577d008c89648492cbae95c.php b/storage/framework/views/b04bbaccf577d008c89648492cbae95c.php new file mode 100644 index 0000000..52a29ab --- /dev/null +++ b/storage/framework/views/b04bbaccf577d008c89648492cbae95c.php @@ -0,0 +1,79 @@ +all() as $__key => $__value) { + if (in_array($__key, $__propNames)) { + $$__key = $$__key ?? $__value; + } else { + $__newAttributes[$__key] = $__value; + } +} + +$attributes = new \Illuminate\View\ComponentAttributeBag($__newAttributes); + +unset($__propNames); +unset($__newAttributes); + +foreach (array_filter((['routeParameters']), 'is_string', ARRAY_FILTER_USE_KEY) as $__key => $__value) { + $$__key = $$__key ?? $__value; +} + +$__defined_vars = get_defined_vars(); + +foreach ($attributes->all() as $__key => $__value) { + if (array_key_exists($__key, $__defined_vars)) unset($$__key); +} + +unset($__defined_vars, $__key, $__value); ?> + +
+

Routing parameters

+ +
+ + + 'laravel-exceptions-renderer::components.syntax-highlight','data' => ['code' => $routeParameters,'language' => 'json']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::syntax-highlight'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['code' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($routeParameters),'language' => 'json']); ?> +renderComponent(); ?> + + + + + + + + + +
+ + + + 'laravel-exceptions-renderer::components.empty-state','data' => ['message' => 'No routing parameters']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::empty-state'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['message' => 'No routing parameters']); ?> +renderComponent(); ?> + + + + + + + + + + +
+ \ No newline at end of file diff --git a/storage/framework/views/b76098802cc37a4d545b4a8a46205099.php b/storage/framework/views/b76098802cc37a4d545b4a8a46205099.php new file mode 100644 index 0000000..e29cf94 --- /dev/null +++ b/storage/framework/views/b76098802cc37a4d545b4a8a46205099.php @@ -0,0 +1,48 @@ +all() as $__key => $__value) { + if (in_array($__key, $__propNames)) { + $$__key = $$__key ?? $__value; + } else { + $__newAttributes[$__key] = $__value; + } +} + +$attributes = new \Illuminate\View\ComponentAttributeBag($__newAttributes); + +unset($__propNames); +unset($__newAttributes); + +foreach (array_filter((['headers']), 'is_string', ARRAY_FILTER_USE_KEY) as $__key => $__value) { + $$__key = $$__key ?? $__value; +} + +$__defined_vars = get_defined_vars(); + +foreach ($attributes->all() as $__key => $__value) { + if (array_key_exists($__key, $__defined_vars)) unset($$__key); +} + +unset($__defined_vars, $__key, $__value); ?> + +
+

Headers

+
+ addLoop($__currentLoopData); foreach($__currentLoopData as $key => $value): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?> +
+
+
+
+ + + + +
+
+ popLoop(); $loop = $__env->getLastLoop(); ?> +
+
+ \ No newline at end of file diff --git a/storage/framework/views/b90da0bdaa9944c443f52f76565ee120.php b/storage/framework/views/b90da0bdaa9944c443f52f76565ee120.php new file mode 100644 index 0000000..6f43060 --- /dev/null +++ b/storage/framework/views/b90da0bdaa9944c443f52f76565ee120.php @@ -0,0 +1,69 @@ +all() as $__key => $__value) { + if (in_array($__key, $__propNames)) { + $$__key = $$__key ?? $__value; + } else { + $__newAttributes[$__key] = $__value; + } +} + +$attributes = new \Illuminate\View\ComponentAttributeBag($__newAttributes); + +unset($__propNames); +unset($__newAttributes); + +foreach (array_filter((['routing']), 'is_string', ARRAY_FILTER_USE_KEY) as $__key => $__value) { + $$__key = $$__key ?? $__value; +} + +$__defined_vars = get_defined_vars(); + +foreach ($attributes->all() as $__key => $__value) { + if (array_key_exists($__key, $__defined_vars)) unset($$__key); +} + +unset($__defined_vars, $__key, $__value); ?> + +
+

Routing

+
+ addLoop($__currentLoopData); foreach($__currentLoopData as $key => $value): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); $__empty_1 = false; ?> +
+
+
+
+ + + + +
+
+ popLoop(); $loop = $__env->getLastLoop(); if ($__empty_1): ?> + + + 'laravel-exceptions-renderer::components.empty-state','data' => ['message' => 'No routing context']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::empty-state'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['message' => 'No routing context']); ?> +renderComponent(); ?> + + + + + + + + + + +
+
+ \ No newline at end of file diff --git a/storage/framework/views/bbe15e3d9c14180aff3d6f21ed92085e.php b/storage/framework/views/bbe15e3d9c14180aff3d6f21ed92085e.php new file mode 100644 index 0000000..69158a7 --- /dev/null +++ b/storage/framework/views/bbe15e3d9c14180aff3d6f21ed92085e.php @@ -0,0 +1,638 @@ + + + + + + CRUD Staff/Teknisi - Dashboard JTI + + + + = 2) break; + } + return $initials !== '' ? $initials : 'NA'; + }; + + $resolveFoto = static function (?string $foto): ?string { + $foto = trim((string) $foto); + if ($foto === '') return null; + if (preg_match('~^(https?://|data:|//)~i', $foto)) return $foto; + if (str_starts_with($foto, '/')) return $foto; + return asset($foto); + }; + ?> + + + + + + + \ No newline at end of file diff --git a/storage/framework/views/bd4018cf9187732bde31be515dcc7c4a.php b/storage/framework/views/bd4018cf9187732bde31be515dcc7c4a.php new file mode 100644 index 0000000..7fa7c5a --- /dev/null +++ b/storage/framework/views/bd4018cf9187732bde31be515dcc7c4a.php @@ -0,0 +1,114 @@ +all() as $__key => $__value) { + if (in_array($__key, $__propNames)) { + $$__key = $$__key ?? $__value; + } else { + $__newAttributes[$__key] = $__value; + } +} + +$attributes = new \Illuminate\View\ComponentAttributeBag($__newAttributes); + +unset($__propNames); +unset($__newAttributes); + +foreach (array_filter((['exception']), 'is_string', ARRAY_FILTER_USE_KEY) as $__key => $__value) { + $$__key = $$__key ?? $__value; +} + +$__defined_vars = get_defined_vars(); + +foreach ($attributes->all() as $__key => $__value) { + if (array_key_exists($__key, $__defined_vars)) unset($$__key); +} + +unset($__defined_vars, $__key, $__value); ?> + +
+
+
+ + + 'laravel-exceptions-renderer::components.icons.alert','data' => ['class' => 'w-2.5 h-2.5 text-blue-500 dark:text-emerald-500']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::icons.alert'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['class' => 'w-2.5 h-2.5 text-blue-500 dark:text-emerald-500']); ?> +renderComponent(); ?> + + + + + + + + + +
+

Exception trace

+ previousExceptions()->isNotEmpty()): ?> + + previousExceptions()->count()); ?> previous previousExceptions()->count())); ?> + + + +
+ +
+ frameGroups(); $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $group): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?> + + + + 'laravel-exceptions-renderer::components.vendor-frames','data' => ['frames' => $group['frames']]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::vendor-frames'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['frames' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($group['frames'])]); ?> +renderComponent(); ?> + + + + + + + + + + + addLoop($__currentLoopData); foreach($__currentLoopData as $frame): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?> + + + 'laravel-exceptions-renderer::components.frame','data' => ['frame' => $frame]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::frame'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['frame' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($frame)]); ?> +renderComponent(); ?> + + + + + + + + + + popLoop(); $loop = $__env->getLastLoop(); ?> + + popLoop(); $loop = $__env->getLastLoop(); ?> +
+
+ \ No newline at end of file diff --git a/storage/framework/views/bd7a68e720d6ec20026c7005e826874e.php b/storage/framework/views/bd7a68e720d6ec20026c7005e826874e.php new file mode 100644 index 0000000..2f82a7a --- /dev/null +++ b/storage/framework/views/bd7a68e720d6ec20026c7005e826874e.php @@ -0,0 +1,4 @@ +> + + + \ No newline at end of file diff --git a/storage/framework/views/be14fb2db872662f99253c3d22fe3c1e.php b/storage/framework/views/be14fb2db872662f99253c3d22fe3c1e.php new file mode 100644 index 0000000..a3dcc48 --- /dev/null +++ b/storage/framework/views/be14fb2db872662f99253c3d22fe3c1e.php @@ -0,0 +1,5 @@ +startSection('title', __('Forbidden')); ?> +startSection('code', '403'); ?> +startSection('message', __($exception->getMessage() ?: 'Forbidden')); ?> + +make('errors::minimal', array_diff_key(get_defined_vars(), ['__data' => 1, '__path' => 1]))->render(); ?> \ No newline at end of file diff --git a/storage/framework/views/bee5364e7682b13dfac87e5c645fe6ed.php b/storage/framework/views/bee5364e7682b13dfac87e5c645fe6ed.php new file mode 100644 index 0000000..85c71f6 --- /dev/null +++ b/storage/framework/views/bee5364e7682b13dfac87e5c645fe6ed.php @@ -0,0 +1,101 @@ + + + $__env->getContainer()->make(Illuminate\View\Factory::class)->make('mail::message'),'data' => []] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('mail::message'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes([]); ?> + + +# + + + +# get('Whoops!'); ?> + +# get('Hello!'); ?> + + + + +addLoop($__currentLoopData); foreach($__currentLoopData as $line): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?> + + + +popLoop(); $loop = $__env->getLastLoop(); ?> + + + + $level, + default => 'primary', + }; +?> + + + $__env->getContainer()->make(Illuminate\View\Factory::class)->make('mail::button'),'data' => ['url' => $actionUrl,'color' => $color]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('mail::button'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['url' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($actionUrl),'color' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($color)]); ?> + + + renderComponent(); ?> + + + + + + + + + + + + +addLoop($__currentLoopData); foreach($__currentLoopData as $line): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?> + + + +popLoop(); $loop = $__env->getLastLoop(); ?> + + + + + + +get('Regards,'); ?>
+ + + + + + + slot('subcopy', null, []); ?> +get( + "If you're having trouble clicking the \":actionText\" button, copy and paste the URL below\n". + 'into your web browser:', + [ + 'actionText' => $actionText, + ] +); ?> []() + endSlot(); ?> + + renderComponent(); ?> + + + + + + + + + + \ No newline at end of file diff --git a/storage/framework/views/bf7f2c080283c944518d6f1a1113a00b.php b/storage/framework/views/bf7f2c080283c944518d6f1a1113a00b.php new file mode 100644 index 0000000..711d02a --- /dev/null +++ b/storage/framework/views/bf7f2c080283c944518d6f1a1113a00b.php @@ -0,0 +1,15 @@ + + + + + + + \ No newline at end of file diff --git a/storage/framework/views/bfe2ea291299e4a108a42b1621ced0ea.php b/storage/framework/views/bfe2ea291299e4a108a42b1621ced0ea.php new file mode 100644 index 0000000..5f3e855 --- /dev/null +++ b/storage/framework/views/bfe2ea291299e4a108a42b1621ced0ea.php @@ -0,0 +1,37 @@ +hasPages()): ?> + + + \ No newline at end of file diff --git a/storage/framework/views/bfe2ff64bc6822a2b42816cf89464a9c.php b/storage/framework/views/bfe2ff64bc6822a2b42816cf89464a9c.php new file mode 100644 index 0000000..f256f03 --- /dev/null +++ b/storage/framework/views/bfe2ff64bc6822a2b42816cf89464a9c.php @@ -0,0 +1,28 @@ +hasPages()): ?> + + + \ No newline at end of file diff --git a/storage/framework/views/c3c048c6d9ea3da50af814a76691a48b.php b/storage/framework/views/c3c048c6d9ea3da50af814a76691a48b.php new file mode 100644 index 0000000..dc1243a --- /dev/null +++ b/storage/framework/views/c3c048c6d9ea3da50af814a76691a48b.php @@ -0,0 +1,31 @@ +hasPages()): ?> + + + \ No newline at end of file diff --git a/storage/framework/views/c4fecf7f98b0bb76f55eb4b769f07aae.php b/storage/framework/views/c4fecf7f98b0bb76f55eb4b769f07aae.php new file mode 100644 index 0000000..50e14c6 --- /dev/null +++ b/storage/framework/views/c4fecf7f98b0bb76f55eb4b769f07aae.php @@ -0,0 +1,122 @@ +hasPages()): ?> + + + \ No newline at end of file diff --git a/storage/framework/views/cbf6f2166a455a3188cecc4d632281ba.php b/storage/framework/views/cbf6f2166a455a3188cecc4d632281ba.php new file mode 100644 index 0000000..c05f9da --- /dev/null +++ b/storage/framework/views/cbf6f2166a455a3188cecc4d632281ba.php @@ -0,0 +1,5 @@ +startSection('title', __('Server Error')); ?> +startSection('code', '500'); ?> +startSection('message', __('Server Error')); ?> + +make('errors::minimal', array_diff_key(get_defined_vars(), ['__data' => 1, '__path' => 1]))->render(); ?> \ No newline at end of file diff --git a/storage/framework/views/cc14ae8ee618dd669b03ae817f4c0bbd.php b/storage/framework/views/cc14ae8ee618dd669b03ae817f4c0bbd.php new file mode 100644 index 0000000..ec0aadd --- /dev/null +++ b/storage/framework/views/cc14ae8ee618dd669b03ae817f4c0bbd.php @@ -0,0 +1,61 @@ +
+
+ + + 'laravel-exceptions-renderer::components.icons.laravel-ascii','data' => []] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::icons.laravel-ascii'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes([]); ?> +renderComponent(); ?> + + + + + + + + + +
+ + + 'laravel-exceptions-renderer::components.icons.laravel-ascii','data' => []] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::icons.laravel-ascii'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes([]); ?> +renderComponent(); ?> + + + + + + + + + +
+ \ No newline at end of file diff --git a/storage/framework/views/cd63379c39c0b75110a780264e7ec0ab.php b/storage/framework/views/cd63379c39c0b75110a780264e7ec0ab.php new file mode 100644 index 0000000..be51d9a --- /dev/null +++ b/storage/framework/views/cd63379c39c0b75110a780264e7ec0ab.php @@ -0,0 +1,374 @@ +all() as $__key => $__value) { + if (in_array($__key, $__propNames)) { + $$__key = $$__key ?? $__value; + } else { + $__newAttributes[$__key] = $__value; + } +} + +$attributes = new \Illuminate\View\ComponentAttributeBag($__newAttributes); + +unset($__propNames); +unset($__newAttributes); + +foreach (array_filter((['queries']), 'is_string', ARRAY_FILTER_USE_KEY) as $__key => $__value) { + $$__key = $$__key ?? $__value; +} + +$__defined_vars = get_defined_vars(); + +foreach ($attributes->all() as $__key => $__value) { + if (array_key_exists($__key, $__defined_vars)) unset($$__key); +} + +unset($__defined_vars, $__key, $__value); ?> + +
merge(['class' => "flex flex-col gap-2.5 bg-neutral-50 dark:bg-white/1 border border-neutral-200 dark:border-neutral-800 rounded-xl p-2.5 shadow-xs"])); ?> + + x-data="{ + totalQueries: , + currentPage: 1, + perPage: 10, + get totalPages() { + return Math.ceil(this.totalQueries / this.perPage); + }, + get hasPrevious() { + return this.currentPage > 1; + }, + get hasNext() { + return this.currentPage < this.totalPages; + }, + goToPage(page) { + if (page >= 1 && page <= this.totalPages) { + this.currentPage = page; + } + }, + first() { + this.currentPage = 1; + }, + last() { + this.currentPage = this.totalPages; + }, + previous() { + if (this.hasPrevious) { + this.currentPage--; + } + }, + next() { + if (this.hasNext) { + this.currentPage++; + } + }, + get visiblePages() { + const total = this.totalPages; + const current = this.currentPage; + const pages = []; + + if (total <= 7) { + for (let i = 1; i <= total; i++) { + pages.push({ type: 'page', value: i }); + } + } else { + if (current <= 4) { + for (let i = 1; i <= 5; i++) { + pages.push({ type: 'page', value: i }); + } + if (total > 6) { + pages.push({ type: 'ellipsis', value: '...', id: 'end' }); + pages.push({ type: 'page', value: total }); + } + } else if (current > total - 4) { + pages.push({ type: 'page', value: 1 }); + if (total > 6) { + pages.push({ type: 'ellipsis', value: '...', id: 'start' }); + } + for (let i = Math.max(total - 4, 2); i <= total; i++) { + pages.push({ type: 'page', value: i }); + } + } else { + pages.push({ type: 'page', value: 1 }); + pages.push({ type: 'ellipsis', value: '...', id: 'start' }); + for (let i = current - 1; i <= current + 1; i++) { + pages.push({ type: 'page', value: i }); + } + pages.push({ type: 'ellipsis', value: '...', id: 'end' }); + pages.push({ type: 'page', value: total }); + } + } + return pages; + } + }" +> +
+
+
+ + + 'laravel-exceptions-renderer::components.icons.database','data' => ['class' => 'w-2.5 h-2.5 text-blue-500 dark:text-emerald-500']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::icons.database'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['class' => 'w-2.5 h-2.5 text-blue-500 dark:text-emerald-500']); ?> +renderComponent(); ?> + + + + + + + + + +
+

Queries

+
+
+ + 100): ?> + + + 'laravel-exceptions-renderer::components.icons.info','data' => ['class' => 'w-3 h-3 text-blue-500 dark:text-emerald-500','dataTippyContent' => 'Only the first 100 queries are shown']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::icons.info'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['class' => 'w-3 h-3 text-blue-500 dark:text-emerald-500','data-tippy-content' => 'Only the first 100 queries are shown']); ?> +renderComponent(); ?> + + + + + + + + + + +
+
+ +
+ addLoop($__currentLoopData); foreach($__currentLoopData as $index => ['connectionName' => $connectionName, 'sql' => $sql, 'time' => $time]): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); $__empty_1 = false; ?> +
+
+
+ + + 'laravel-exceptions-renderer::components.icons.database','data' => ['class' => 'w-3 h-3 text-neutral-500 dark:text-neutral-400']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::icons.database'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['class' => 'w-3 h-3 text-neutral-500 dark:text-neutral-400']); ?> +renderComponent(); ?> + + + + + + + + + + +
+ + + 'laravel-exceptions-renderer::components.syntax-highlight','data' => ['code' => $sql,'language' => 'sql','truncate' => true,'class' => 'min-w-0','dataTippyContent' => ''.e(nl2br($sql)).'']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::syntax-highlight'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['code' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($sql),'language' => 'sql','truncate' => true,'class' => 'min-w-0','data-tippy-content' => ''.e(nl2br($sql)).'']); ?> +renderComponent(); ?> + + + + + + + + + +
+
ms
+
+ popLoop(); $loop = $__env->getLastLoop(); if ($__empty_1): ?> + + + 'laravel-exceptions-renderer::components.empty-state','data' => ['message' => 'No queries executed']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::empty-state'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['message' => 'No queries executed']); ?> +renderComponent(); ?> + + + + + + + + + + +
+ + +
+ + + + + + + + + + + + + + +
+
+ \ No newline at end of file diff --git a/storage/framework/views/ce3c068dbf146cb4204e07c585a1c8ed.php b/storage/framework/views/ce3c068dbf146cb4204e07c585a1c8ed.php new file mode 100644 index 0000000..3fb4c90 --- /dev/null +++ b/storage/framework/views/ce3c068dbf146cb4204e07c585a1c8ed.php @@ -0,0 +1,11 @@ +> + + + + + + + + + + \ No newline at end of file diff --git a/storage/framework/views/cf34f63e9cbbe080612cc75a756475fc.php b/storage/framework/views/cf34f63e9cbbe080612cc75a756475fc.php new file mode 100644 index 0000000..63a1375 --- /dev/null +++ b/storage/framework/views/cf34f63e9cbbe080612cc75a756475fc.php @@ -0,0 +1,170 @@ +all() as $__key => $__value) { + if (in_array($__key, $__propNames)) { + $$__key = $$__key ?? $__value; + } else { + $__newAttributes[$__key] = $__value; + } +} + +$attributes = new \Illuminate\View\ComponentAttributeBag($__newAttributes); + +unset($__propNames); +unset($__newAttributes); + +foreach (array_filter((['frames']), 'is_string', ARRAY_FILTER_USE_KEY) as $__key => $__value) { + $$__key = $$__key ?? $__value; +} + +$__defined_vars = get_defined_vars(); + +foreach ($attributes->all() as $__key => $__value) { + if (array_key_exists($__key, $__defined_vars)) unset($$__key); +} + +unset($__defined_vars, $__key, $__value); ?> + + + +
+
+ + + 'laravel-exceptions-renderer::components.icons.folder','data' => ['class' => 'w-3 h-3 text-neutral-400','xShow' => '!expanded','xCloak' => true]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::icons.folder'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['class' => 'w-3 h-3 text-neutral-400','x-show' => '!expanded','x-cloak' => true]); ?> +renderComponent(); ?> + + + + + + + + + + + + 'laravel-exceptions-renderer::components.icons.folder-open','data' => ['class' => 'w-3 h-3 text-blue-500 dark:text-emerald-500','xShow' => 'expanded']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::icons.folder-open'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['class' => 'w-3 h-3 text-blue-500 dark:text-emerald-500','x-show' => 'expanded']); ?> +renderComponent(); ?> + + + + + + + + + + +
+ vendor + +
+ + +
+ +
+ addLoop($__currentLoopData); foreach($__currentLoopData as $frame): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?> +
+ + + 'laravel-exceptions-renderer::components.vendor-frame','data' => ['frame' => $frame]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::vendor-frame'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['frame' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($frame)]); ?> +renderComponent(); ?> + + + + + + + + + +
+ popLoop(); $loop = $__env->getLastLoop(); ?> +
+
+ \ No newline at end of file diff --git a/storage/framework/views/d4f6b94df15749e3a3c080b79c07ff65.php b/storage/framework/views/d4f6b94df15749e3a3c080b79c07ff65.php new file mode 100644 index 0000000..1ea87c7 --- /dev/null +++ b/storage/framework/views/d4f6b94df15749e3a3c080b79c07ff65.php @@ -0,0 +1,647 @@ + + + + + + Edit Staff/Teknisi - Dashboard JTI + + + + = 2) break; + } + return $initials !== '' ? $initials : 'NA'; + }; + + $resolveFoto = static function (?string $foto): ?string { + $foto = trim((string) $foto); + if ($foto === '') return null; + if (preg_match('~^(https?://|data:|//)~i', $foto)) return $foto; + if (str_starts_with($foto, '/')) return $foto; + return asset($foto); + }; + ?> + +
+
+

✏️ Edit Staff/Teknisi

+

Perbarui informasi staff/teknisi (ID: id); ?>)

+
+ +
+ any()): ?> +
+ ❌ Terjadi kesalahan validasi: +
    + all(); $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $error): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?> +
  • + popLoop(); $loop = $__env->getLastLoop(); ?> +
+
+ + +
+ + + + +
+
+ nama)); ?> + +
+ + +
Format: URL gambar (https://...)
+
+ + +
+ +
+
+ + + getBag($__errorArgs[1] ?? 'default'); +if ($__bag->has($__errorArgs[0])) : +if (isset($message)) { $__messageOriginal = $message; } +$message = $__bag->first($__errorArgs[0]); ?> +
+ +
+
+ + +
+
+ + + getBag($__errorArgs[1] ?? 'default'); +if ($__bag->has($__errorArgs[0])) : +if (isset($message)) { $__messageOriginal = $message; } +$message = $__bag->first($__errorArgs[0]); ?> +
+ +
Nomor Induk Pegawai (opsional)
+
+ +
+ + + getBag($__errorArgs[1] ?? 'default'); +if ($__bag->has($__errorArgs[0])) : +if (isset($message)) { $__messageOriginal = $message; } +$message = $__bag->first($__errorArgs[0]); ?> +
+ +
Identitas tambahan (opsional)
+
+
+ + +
+
+ + + getBag($__errorArgs[1] ?? 'default'); +if ($__bag->has($__errorArgs[0])) : +if (isset($message)) { $__messageOriginal = $message; } +$message = $__bag->first($__errorArgs[0]); ?> +
+ +
Pilih bagian/divisi staff
+
+
+ + +
+ +
+
+ role) === 'staff'): echo 'checked'; endif; ?> required> + +
+
+ role) === 'teknisi'): echo 'checked'; endif; ?> required> + +
+
+
+
+ + +
+ + ❌ Batal +
+
+
+
+ + + + + \ No newline at end of file diff --git a/storage/framework/views/d832895318534cd1384bba88650d5ea5.php b/storage/framework/views/d832895318534cd1384bba88650d5ea5.php new file mode 100644 index 0000000..6e99b50 --- /dev/null +++ b/storage/framework/views/d832895318534cd1384bba88650d5ea5.php @@ -0,0 +1,15 @@ + + + + + + + \ No newline at end of file diff --git a/storage/framework/views/d9bb5d17d972c3dcbae9298b55472822.php b/storage/framework/views/d9bb5d17d972c3dcbae9298b55472822.php new file mode 100644 index 0000000..2f13cdb --- /dev/null +++ b/storage/framework/views/d9bb5d17d972c3dcbae9298b55472822.php @@ -0,0 +1,12 @@ +> + + + + + + + + + + + \ No newline at end of file diff --git a/storage/framework/views/db98b01054818752cf751ac0be73f910.php b/storage/framework/views/db98b01054818752cf751ac0be73f910.php new file mode 100644 index 0000000..9028f94 --- /dev/null +++ b/storage/framework/views/db98b01054818752cf751ac0be73f910.php @@ -0,0 +1,638 @@ + + + + + + CRUD Staff/Teknisi - Dashboard JTI + + + + = 2) break; + } + return $initials !== '' ? $initials : 'NA'; + }; + + $resolveFoto = static function (?string $foto): ?string { + $foto = trim((string) $foto); + if ($foto === '') return null; + if (preg_match('~^(https?://|data:|//)~i', $foto)) return $foto; + if (str_starts_with($foto, '/')) return $foto; + return asset($foto); + }; + ?> + + + + + + + \ No newline at end of file diff --git a/storage/framework/views/dc93fbab4f0b1f40255b1f189cc4cfd3.php b/storage/framework/views/dc93fbab4f0b1f40255b1f189cc4cfd3.php new file mode 100644 index 0000000..49d92a1 --- /dev/null +++ b/storage/framework/views/dc93fbab4f0b1f40255b1f189cc4cfd3.php @@ -0,0 +1,5 @@ +> + + + + \ No newline at end of file diff --git a/storage/framework/views/ddfebbde5dabaed4c52f40e35454d14c.php b/storage/framework/views/ddfebbde5dabaed4c52f40e35454d14c.php new file mode 100644 index 0000000..1c7458e --- /dev/null +++ b/storage/framework/views/ddfebbde5dabaed4c52f40e35454d14c.php @@ -0,0 +1,374 @@ +all() as $__key => $__value) { + if (in_array($__key, $__propNames)) { + $$__key = $$__key ?? $__value; + } else { + $__newAttributes[$__key] = $__value; + } +} + +$attributes = new \Illuminate\View\ComponentAttributeBag($__newAttributes); + +unset($__propNames); +unset($__newAttributes); + +foreach (array_filter((['queries']), 'is_string', ARRAY_FILTER_USE_KEY) as $__key => $__value) { + $$__key = $$__key ?? $__value; +} + +$__defined_vars = get_defined_vars(); + +foreach ($attributes->all() as $__key => $__value) { + if (array_key_exists($__key, $__defined_vars)) unset($$__key); +} + +unset($__defined_vars, $__key, $__value); ?> + +
merge(['class' => "flex flex-col gap-2.5 bg-neutral-50 dark:bg-white/1 border border-neutral-200 dark:border-neutral-800 rounded-xl p-2.5 shadow-xs"])); ?> + + x-data="{ + totalQueries: , + currentPage: 1, + perPage: 10, + get totalPages() { + return Math.ceil(this.totalQueries / this.perPage); + }, + get hasPrevious() { + return this.currentPage > 1; + }, + get hasNext() { + return this.currentPage < this.totalPages; + }, + goToPage(page) { + if (page >= 1 && page <= this.totalPages) { + this.currentPage = page; + } + }, + first() { + this.currentPage = 1; + }, + last() { + this.currentPage = this.totalPages; + }, + previous() { + if (this.hasPrevious) { + this.currentPage--; + } + }, + next() { + if (this.hasNext) { + this.currentPage++; + } + }, + get visiblePages() { + const total = this.totalPages; + const current = this.currentPage; + const pages = []; + + if (total <= 7) { + for (let i = 1; i <= total; i++) { + pages.push({ type: 'page', value: i }); + } + } else { + if (current <= 4) { + for (let i = 1; i <= 5; i++) { + pages.push({ type: 'page', value: i }); + } + if (total > 6) { + pages.push({ type: 'ellipsis', value: '...', id: 'end' }); + pages.push({ type: 'page', value: total }); + } + } else if (current > total - 4) { + pages.push({ type: 'page', value: 1 }); + if (total > 6) { + pages.push({ type: 'ellipsis', value: '...', id: 'start' }); + } + for (let i = Math.max(total - 4, 2); i <= total; i++) { + pages.push({ type: 'page', value: i }); + } + } else { + pages.push({ type: 'page', value: 1 }); + pages.push({ type: 'ellipsis', value: '...', id: 'start' }); + for (let i = current - 1; i <= current + 1; i++) { + pages.push({ type: 'page', value: i }); + } + pages.push({ type: 'ellipsis', value: '...', id: 'end' }); + pages.push({ type: 'page', value: total }); + } + } + return pages; + } + }" +> +
+
+
+ + + 'laravel-exceptions-renderer::components.icons.database','data' => ['class' => 'w-2.5 h-2.5 text-blue-500 dark:text-emerald-500']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::icons.database'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['class' => 'w-2.5 h-2.5 text-blue-500 dark:text-emerald-500']); ?> +renderComponent(); ?> + + + + + + + + + +
+

Queries

+
+
+ + 100): ?> + + + 'laravel-exceptions-renderer::components.icons.info','data' => ['class' => 'w-3 h-3 text-blue-500 dark:text-emerald-500','dataTippyContent' => 'Only the first 100 queries are shown']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::icons.info'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['class' => 'w-3 h-3 text-blue-500 dark:text-emerald-500','data-tippy-content' => 'Only the first 100 queries are shown']); ?> +renderComponent(); ?> + + + + + + + + + + +
+
+ +
+ addLoop($__currentLoopData); foreach($__currentLoopData as $index => ['connectionName' => $connectionName, 'sql' => $sql, 'time' => $time]): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); $__empty_1 = false; ?> +
+
+
+ + + 'laravel-exceptions-renderer::components.icons.database','data' => ['class' => 'w-3 h-3 text-neutral-500 dark:text-neutral-400']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::icons.database'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['class' => 'w-3 h-3 text-neutral-500 dark:text-neutral-400']); ?> +renderComponent(); ?> + + + + + + + + + + +
+ + + 'laravel-exceptions-renderer::components.syntax-highlight','data' => ['code' => $sql,'language' => 'sql','truncate' => true,'class' => 'min-w-0','dataTippyContent' => ''.e(nl2br($sql)).'']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::syntax-highlight'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['code' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($sql),'language' => 'sql','truncate' => true,'class' => 'min-w-0','data-tippy-content' => ''.e(nl2br($sql)).'']); ?> +renderComponent(); ?> + + + + + + + + + +
+
ms
+
+ popLoop(); $loop = $__env->getLastLoop(); if ($__empty_1): ?> + + + 'laravel-exceptions-renderer::components.empty-state','data' => ['message' => 'No queries executed']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::empty-state'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['message' => 'No queries executed']); ?> +renderComponent(); ?> + + + + + + + + + + +
+ + +
+ + + + + + + + + + + + + + +
+
+ \ No newline at end of file diff --git a/storage/framework/views/e0f3e91970077d2ae840e8665d7caad0.php b/storage/framework/views/e0f3e91970077d2ae840e8665d7caad0.php new file mode 100644 index 0000000..50e31b7 --- /dev/null +++ b/storage/framework/views/e0f3e91970077d2ae840e8665d7caad0.php @@ -0,0 +1,623 @@ + + + + + + CRUD Dosen - Dashboard JTI + + + + = 2) break; + } + return $initials !== '' ? $initials : 'NA'; + }; + + $resolveFoto = static function (?string $foto): ?string { + $foto = trim((string) $foto); + if ($foto === '') return null; + if (preg_match('~^(https?://|data:|//)~i', $foto)) return $foto; + if (str_starts_with($foto, '/')) return $foto; + return asset($foto); + }; + ?> + + + + + + + \ No newline at end of file diff --git a/storage/framework/views/e5c4873196e2fdcaf2761090eaedded6.php b/storage/framework/views/e5c4873196e2fdcaf2761090eaedded6.php new file mode 100644 index 0000000..46c59c9 --- /dev/null +++ b/storage/framework/views/e5c4873196e2fdcaf2761090eaedded6.php @@ -0,0 +1,61 @@ +
+
+ + + 'laravel-exceptions-renderer::components.icons.laravel-ascii','data' => []] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::icons.laravel-ascii'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes([]); ?> +renderComponent(); ?> + + + + + + + + + +
+ + + 'laravel-exceptions-renderer::components.icons.laravel-ascii','data' => []] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::icons.laravel-ascii'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes([]); ?> +renderComponent(); ?> + + + + + + + + + +
+ \ No newline at end of file diff --git a/storage/framework/views/e5f717c1924e248710181c94ce5989de.php b/storage/framework/views/e5f717c1924e248710181c94ce5989de.php new file mode 100644 index 0000000..24612c2 --- /dev/null +++ b/storage/framework/views/e5f717c1924e248710181c94ce5989de.php @@ -0,0 +1,65 @@ +all() as $__key => $__value) { + if (in_array($__key, $__propNames)) { + $$__key = $$__key ?? $__value; + } else { + $__newAttributes[$__key] = $__value; + } +} + +$attributes = new \Illuminate\View\ComponentAttributeBag($__newAttributes); + +unset($__propNames); +unset($__newAttributes); + +foreach (array_filter((['frame']), 'is_string', ARRAY_FILTER_USE_KEY) as $__key => $__value) { + $$__key = $$__key ?? $__value; +} + +$__defined_vars = get_defined_vars(); + +foreach ($attributes->all() as $__key => $__value) { + if (array_key_exists($__key, $__defined_vars)) unset($$__key); +} + +unset($__defined_vars, $__key, $__value); ?> + +class(); + $operator = $frame->operator(); + $callable = $frame->callable(); + + if ($class && $operator) { + $source = $class.$operator.$callable.'('.implode(', ', $frame->args()).')'; + } elseif ($callable !== 'throw') { + $source = $callable.'('.implode(', ', $frame->args()).')'; + } else { + $source = $frame->source(); + } +?> + + + + 'laravel-exceptions-renderer::components.syntax-highlight','data' => ['code' => $source,'language' => 'php','truncate' => true,'class' => 'text-xs min-w-0','dataTippyContent' => ''.e($source).'']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::syntax-highlight'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['code' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($source),'language' => 'php','truncate' => true,'class' => 'text-xs min-w-0','data-tippy-content' => ''.e($source).'']); ?> +renderComponent(); ?> + + + + + + + + + + \ No newline at end of file diff --git a/storage/framework/views/ecde8252abf7ca1fd4fade7c42294155.php b/storage/framework/views/ecde8252abf7ca1fd4fade7c42294155.php new file mode 100644 index 0000000..8bb89f6 --- /dev/null +++ b/storage/framework/views/ecde8252abf7ca1fd4fade7c42294155.php @@ -0,0 +1,5 @@ +startSection('title', __('Page Expired')); ?> +startSection('code', '419'); ?> +startSection('message', __('Page Expired')); ?> + +make('errors::minimal', array_diff_key(get_defined_vars(), ['__data' => 1, '__path' => 1]))->render(); ?> \ No newline at end of file diff --git a/storage/framework/views/f06c442637016d608b002ea80ba0e9a6.php b/storage/framework/views/f06c442637016d608b002ea80ba0e9a6.php new file mode 100644 index 0000000..db91be2 --- /dev/null +++ b/storage/framework/views/f06c442637016d608b002ea80ba0e9a6.php @@ -0,0 +1,170 @@ +all() as $__key => $__value) { + if (in_array($__key, $__propNames)) { + $$__key = $$__key ?? $__value; + } else { + $__newAttributes[$__key] = $__value; + } +} + +$attributes = new \Illuminate\View\ComponentAttributeBag($__newAttributes); + +unset($__propNames); +unset($__newAttributes); + +foreach (array_filter((['frames']), 'is_string', ARRAY_FILTER_USE_KEY) as $__key => $__value) { + $$__key = $$__key ?? $__value; +} + +$__defined_vars = get_defined_vars(); + +foreach ($attributes->all() as $__key => $__value) { + if (array_key_exists($__key, $__defined_vars)) unset($$__key); +} + +unset($__defined_vars, $__key, $__value); ?> + + + +
+
+ + + 'laravel-exceptions-renderer::components.icons.folder','data' => ['class' => 'w-3 h-3 text-neutral-400','xShow' => '!expanded','xCloak' => true]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::icons.folder'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['class' => 'w-3 h-3 text-neutral-400','x-show' => '!expanded','x-cloak' => true]); ?> +renderComponent(); ?> + + + + + + + + + + + + 'laravel-exceptions-renderer::components.icons.folder-open','data' => ['class' => 'w-3 h-3 text-blue-500 dark:text-emerald-500','xShow' => 'expanded']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::icons.folder-open'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['class' => 'w-3 h-3 text-blue-500 dark:text-emerald-500','x-show' => 'expanded']); ?> +renderComponent(); ?> + + + + + + + + + + +
+ vendor + +
+ + +
+ +
+ addLoop($__currentLoopData); foreach($__currentLoopData as $frame): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?> +
+ + + 'laravel-exceptions-renderer::components.vendor-frame','data' => ['frame' => $frame]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::vendor-frame'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['frame' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($frame)]); ?> +renderComponent(); ?> + + + + + + + + + +
+ popLoop(); $loop = $__env->getLastLoop(); ?> +
+
+ \ No newline at end of file diff --git a/storage/framework/views/f0b1816e022095b1cff44339c6f72091.php b/storage/framework/views/f0b1816e022095b1cff44339c6f72091.php new file mode 100644 index 0000000..84643e6 --- /dev/null +++ b/storage/framework/views/f0b1816e022095b1cff44339c6f72091.php @@ -0,0 +1,79 @@ +all() as $__key => $__value) { + if (in_array($__key, $__propNames)) { + $$__key = $$__key ?? $__value; + } else { + $__newAttributes[$__key] = $__value; + } +} + +$attributes = new \Illuminate\View\ComponentAttributeBag($__newAttributes); + +unset($__propNames); +unset($__newAttributes); + +foreach (array_filter((['routeParameters']), 'is_string', ARRAY_FILTER_USE_KEY) as $__key => $__value) { + $$__key = $$__key ?? $__value; +} + +$__defined_vars = get_defined_vars(); + +foreach ($attributes->all() as $__key => $__value) { + if (array_key_exists($__key, $__defined_vars)) unset($$__key); +} + +unset($__defined_vars, $__key, $__value); ?> + +
+

Routing parameters

+ +
+ + + 'laravel-exceptions-renderer::components.syntax-highlight','data' => ['code' => $routeParameters,'language' => 'json']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::syntax-highlight'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['code' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($routeParameters),'language' => 'json']); ?> +renderComponent(); ?> + + + + + + + + + +
+ + + + 'laravel-exceptions-renderer::components.empty-state','data' => ['message' => 'No routing parameters']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::empty-state'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['message' => 'No routing parameters']); ?> +renderComponent(); ?> + + + + + + + + + + +
+ \ No newline at end of file diff --git a/storage/framework/views/f1ca41b87c757b359069ce83f9823a68.php b/storage/framework/views/f1ca41b87c757b359069ce83f9823a68.php new file mode 100644 index 0000000..7e88f31 --- /dev/null +++ b/storage/framework/views/f1ca41b87c757b359069ce83f9823a68.php @@ -0,0 +1,180 @@ +all() as $__key => $__value) { + if (in_array($__key, $__propNames)) { + $$__key = $$__key ?? $__value; + } else { + $__newAttributes[$__key] = $__value; + } +} + +$attributes = new \Illuminate\View\ComponentAttributeBag($__newAttributes); + +unset($__propNames); +unset($__newAttributes); + +foreach (array_filter((['frame']), 'is_string', ARRAY_FILTER_USE_KEY) as $__key => $__value) { + $$__key = $$__key ?? $__value; +} + +$__defined_vars = get_defined_vars(); + +foreach ($attributes->all() as $__key => $__value) { + if (array_key_exists($__key, $__defined_vars)) unset($$__key); +} + +unset($__defined_vars, $__key, $__value); ?> + +
+
+ +
+
+
+ +
+ + + 'laravel-exceptions-renderer::components.formatted-source','data' => ['frame' => $frame]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::formatted-source'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['frame' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($frame)]); ?> +renderComponent(); ?> + + + + + + + + + + + + 'laravel-exceptions-renderer::components.file-with-line','data' => ['frame' => $frame,'direction' => 'rtl']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::file-with-line'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['frame' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($frame),'direction' => 'rtl']); ?> +renderComponent(); ?> + + + + + + + + + +
+ +
+ +
+
+ + snippet()): ?> + + + 'laravel-exceptions-renderer::components.frame-code','data' => ['code' => $snippet,'highlightedLine' => $frame->line(),'xShow' => 'expanded','xCloak' => !$frame->isMain()]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::frame-code'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['code' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($snippet),'highlightedLine' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($frame->line()),'x-show' => 'expanded','x-cloak' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute(!$frame->isMain())]); ?> +renderComponent(); ?> + + + + + + + + + + +
+ \ No newline at end of file diff --git a/storage/framework/views/f2b27ee92457aa248c4a9c79fc0913bf.php b/storage/framework/views/f2b27ee92457aa248c4a9c79fc0913bf.php new file mode 100644 index 0000000..2d8b234 --- /dev/null +++ b/storage/framework/views/f2b27ee92457aa248c4a9c79fc0913bf.php @@ -0,0 +1,12 @@ +> + + + + + + + + + + + \ No newline at end of file diff --git a/storage/framework/views/f5489f5155113f2fcda5193210c95786.php b/storage/framework/views/f5489f5155113f2fcda5193210c95786.php new file mode 100644 index 0000000..2bddd65 --- /dev/null +++ b/storage/framework/views/f5489f5155113f2fcda5193210c95786.php @@ -0,0 +1,5 @@ +startSection('title', __('Too Many Requests')); ?> +startSection('code', '429'); ?> +startSection('message', __('Too Many Requests')); ?> + +make('errors::minimal', array_diff_key(get_defined_vars(), ['__data' => 1, '__path' => 1]))->render(); ?> \ No newline at end of file diff --git a/storage/framework/views/f80aa4df1a21d4b1b947bd41b6f43440.php b/storage/framework/views/f80aa4df1a21d4b1b947bd41b6f43440.php new file mode 100644 index 0000000..73f907f --- /dev/null +++ b/storage/framework/views/f80aa4df1a21d4b1b947bd41b6f43440.php @@ -0,0 +1,80 @@ +all() as $__key => $__value) { + if (in_array($__key, $__propNames)) { + $$__key = $$__key ?? $__value; + } else { + $__newAttributes[$__key] = $__value; + } +} + +$attributes = new \Illuminate\View\ComponentAttributeBag($__newAttributes); + +unset($__propNames); +unset($__newAttributes); + +foreach (array_filter((['frame']), 'is_string', ARRAY_FILTER_USE_KEY) as $__key => $__value) { + $$__key = $$__key ?? $__value; +} + +$__defined_vars = get_defined_vars(); + +foreach ($attributes->all() as $__key => $__value) { + if (array_key_exists($__key, $__defined_vars)) unset($$__key); +} + +unset($__defined_vars, $__key, $__value); ?> + +
+ previous()): ?> +
+ + + 'laravel-exceptions-renderer::components.formatted-source','data' => ['frame' => $frame,'className' => 'text-xs']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::formatted-source'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['frame' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($frame),'className' => 'text-xs']); ?> +renderComponent(); ?> + + + + + + + + + +
+ + Entrypoint + + + + + 'laravel-exceptions-renderer::components.file-with-line','data' => ['frame' => $frame,'class' => 'text-xs']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::file-with-line'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['frame' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($frame),'class' => 'text-xs']); ?> +renderComponent(); ?> + + + + + + + + + +
+ \ No newline at end of file diff --git a/storage/framework/views/f83478ba6fcb1df151da39b8cf8579d0.php b/storage/framework/views/f83478ba6fcb1df151da39b8cf8579d0.php new file mode 100644 index 0000000..cc602a8 --- /dev/null +++ b/storage/framework/views/f83478ba6fcb1df151da39b8cf8579d0.php @@ -0,0 +1,80 @@ +all() as $__key => $__value) { + if (in_array($__key, $__propNames)) { + $$__key = $$__key ?? $__value; + } else { + $__newAttributes[$__key] = $__value; + } +} + +$attributes = new \Illuminate\View\ComponentAttributeBag($__newAttributes); + +unset($__propNames); +unset($__newAttributes); + +foreach (array_filter((['frame']), 'is_string', ARRAY_FILTER_USE_KEY) as $__key => $__value) { + $$__key = $$__key ?? $__value; +} + +$__defined_vars = get_defined_vars(); + +foreach ($attributes->all() as $__key => $__value) { + if (array_key_exists($__key, $__defined_vars)) unset($$__key); +} + +unset($__defined_vars, $__key, $__value); ?> + +
+ previous()): ?> +
+ + + 'laravel-exceptions-renderer::components.formatted-source','data' => ['frame' => $frame,'className' => 'text-xs']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::formatted-source'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['frame' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($frame),'className' => 'text-xs']); ?> +renderComponent(); ?> + + + + + + + + + +
+ + Entrypoint + + + + + 'laravel-exceptions-renderer::components.file-with-line','data' => ['frame' => $frame,'class' => 'text-xs']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::file-with-line'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['frame' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($frame),'class' => 'text-xs']); ?> +renderComponent(); ?> + + + + + + + + + +
+ \ No newline at end of file diff --git a/storage/framework/views/fb894fa874bc2c4ffea32bb9040ec93c.php b/storage/framework/views/fb894fa874bc2c4ffea32bb9040ec93c.php new file mode 100644 index 0000000..f229480 --- /dev/null +++ b/storage/framework/views/fb894fa874bc2c4ffea32bb9040ec93c.php @@ -0,0 +1,5 @@ +> + + + + \ No newline at end of file diff --git a/storage/framework/views/fc502407f6de605231cf3bf14784261b.php b/storage/framework/views/fc502407f6de605231cf3bf14784261b.php new file mode 100644 index 0000000..28d02ab --- /dev/null +++ b/storage/framework/views/fc502407f6de605231cf3bf14784261b.php @@ -0,0 +1,418 @@ + + + 'laravel-exceptions-renderer::components.layout','data' => []] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::layout'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes([]); ?> + + + 'laravel-exceptions-renderer::components.section-container','data' => ['class' => 'px-6 py-0 sm:py-0']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::section-container'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['class' => 'px-6 py-0 sm:py-0']); ?> + + + 'laravel-exceptions-renderer::components.topbar','data' => ['title' => $exception->title(),'markdown' => $exceptionAsMarkdown]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::topbar'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['title' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($exception->title()),'markdown' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($exceptionAsMarkdown)]); ?> +renderComponent(); ?> + + + + + + + + + + renderComponent(); ?> + + + + + + + + + + + + + 'laravel-exceptions-renderer::components.separator','data' => []] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::separator'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes([]); ?> +renderComponent(); ?> + + + + + + + + + + + + + 'laravel-exceptions-renderer::components.section-container','data' => ['class' => 'flex flex-col gap-8 py-0 sm:py-0']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::section-container'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['class' => 'flex flex-col gap-8 py-0 sm:py-0']); ?> + + + 'laravel-exceptions-renderer::components.header','data' => ['exception' => $exception]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::header'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['exception' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($exception)]); ?> +renderComponent(); ?> + + + + + + + + + + renderComponent(); ?> + + + + + + + + + + + + + 'laravel-exceptions-renderer::components.separator','data' => ['class' => '-mt-5 -z-10']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::separator'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['class' => '-mt-5 -z-10']); ?> +renderComponent(); ?> + + + + + + + + + + + + + 'laravel-exceptions-renderer::components.section-container','data' => ['class' => 'flex flex-col gap-8 pt-14']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::section-container'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['class' => 'flex flex-col gap-8 pt-14']); ?> + + + 'laravel-exceptions-renderer::components.trace','data' => ['exception' => $exception]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::trace'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['exception' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($exception)]); ?> +renderComponent(); ?> + + + + + + + + + + + previousExceptions()->isNotEmpty()): ?> + + + 'laravel-exceptions-renderer::components.previous-exceptions','data' => ['exception' => $exception]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::previous-exceptions'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['exception' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($exception)]); ?> +renderComponent(); ?> + + + + + + + + + + + + + + 'laravel-exceptions-renderer::components.query','data' => ['queries' => $exception->applicationQueries()]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::query'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['queries' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($exception->applicationQueries())]); ?> +renderComponent(); ?> + + + + + + + + + + renderComponent(); ?> + + + + + + + + + + + + + 'laravel-exceptions-renderer::components.separator','data' => []] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::separator'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes([]); ?> +renderComponent(); ?> + + + + + + + + + + + + + 'laravel-exceptions-renderer::components.section-container','data' => ['class' => 'flex flex-col gap-12']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::section-container'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['class' => 'flex flex-col gap-12']); ?> + + + 'laravel-exceptions-renderer::components.request-header','data' => ['headers' => $exception->requestHeaders()]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::request-header'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['headers' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($exception->requestHeaders())]); ?> +renderComponent(); ?> + + + + + + + + + + + + + 'laravel-exceptions-renderer::components.request-body','data' => ['body' => $exception->requestBody()]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::request-body'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['body' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($exception->requestBody())]); ?> +renderComponent(); ?> + + + + + + + + + + + + + 'laravel-exceptions-renderer::components.routing','data' => ['routing' => $exception->applicationRouteContext()]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::routing'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['routing' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($exception->applicationRouteContext())]); ?> +renderComponent(); ?> + + + + + + + + + + + + + 'laravel-exceptions-renderer::components.routing-parameter','data' => ['routeParameters' => $exception->applicationRouteParametersContext()]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::routing-parameter'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['routeParameters' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($exception->applicationRouteParametersContext())]); ?> +renderComponent(); ?> + + + + + + + + + + renderComponent(); ?> + + + + + + + + + + + + + 'laravel-exceptions-renderer::components.separator','data' => []] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::separator'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes([]); ?> +renderComponent(); ?> + + + + + + + + + + + runningUnitTests() && ! app()->runningInConsole()): ?> + + + 'laravel-exceptions-renderer::components.section-container','data' => ['class' => 'pb-0 sm:pb-0']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::section-container'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['class' => 'pb-0 sm:pb-0']); ?> + + + 'laravel-exceptions-renderer::components.laravel-ascii-spotlight','data' => []] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('laravel-exceptions-renderer::laravel-ascii-spotlight'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes([]); ?> +renderComponent(); ?> + + + + + + + + + + renderComponent(); ?> + + + + + + + + + + + renderComponent(); ?> + + + + + + + + + + \ No newline at end of file diff --git a/storage/framework/views/ff1d26b604a2db193c2786e9f27a114d.php b/storage/framework/views/ff1d26b604a2db193c2786e9f27a114d.php new file mode 100644 index 0000000..4d41986 --- /dev/null +++ b/storage/framework/views/ff1d26b604a2db193c2786e9f27a114d.php @@ -0,0 +1,11 @@ +> + + + + + + + + + + \ No newline at end of file