This commit is contained in:
Saufi
2026-06-02 17:35:45 +08:00
commit 4ef99b1f81
148 changed files with 21134 additions and 0 deletions

View File

@@ -0,0 +1,128 @@
<!DOCTYPE html>
<html lang="ms">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="csrf-token" content="{{ csrf_token() }}">
<title>Admin @yield('title', 'Pentadbir') MBIP</title>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css">
<style>
body { background-color: #f1f3f5; }
.navbar-brand { font-weight: 700; }
.sidebar { min-height: calc(100vh - 56px); background: #212529; }
.sidebar .nav-link { color: #adb5bd; border-radius: 4px; padding: 8px 12px; margin-bottom: 2px; }
.sidebar .nav-link:hover { background: #343a40; color: #fff; }
.sidebar .nav-link.active { background: #0d6efd; color: #fff; }
.sidebar .nav-link i { width: 20px; }
.sidebar .sidebar-heading { color: #6c757d; font-size: 0.7rem; text-transform: uppercase; letter-spacing: 1px; padding: 8px 12px; margin-top: 12px; }
.main-content { min-height: calc(100vh - 56px); }
.stat-card { border: none; border-radius: 8px; }
</style>
@stack('styles')
</head>
<body>
{{-- Navbar --}}
<nav class="navbar navbar-expand-md navbar-dark bg-dark">
<div class="container-fluid">
<a class="navbar-brand" href="{{ route('admin.dashboard') }}">
<i class="bi bi-shield-lock-fill me-2 text-warning"></i>Speech2Text Pentadbir
</a>
<div class="ms-auto d-flex align-items-center">
<span class="text-muted small me-3">{{ auth()->user()->name }}</span>
<form method="POST" action="{{ route('logout') }}">
@csrf
<button class="btn btn-sm btn-outline-light" type="submit">
<i class="bi bi-box-arrow-right me-1"></i>Log Keluar
</button>
</form>
</div>
</div>
</nav>
<div class="container-fluid">
<div class="row">
{{-- Sidebar --}}
<div class="col-md-2 sidebar p-3">
<nav class="nav flex-column">
<a class="nav-link {{ request()->routeIs('admin.dashboard') ? 'active' : '' }}"
href="{{ route('admin.dashboard') }}">
<i class="bi bi-speedometer2 me-2"></i>Dashboard
</a>
<div class="sidebar-heading mt-2">Projek</div>
<a class="nav-link {{ request()->routeIs('admin.projects.*') ? 'active' : '' }}"
href="{{ route('admin.projects.index') }}">
<i class="bi bi-folder2 me-2"></i>Senarai Projek
</a>
<div class="sidebar-heading mt-2">Pengurusan Pengguna</div>
<a class="nav-link {{ request()->routeIs('admin.users.*') ? 'active' : '' }}"
href="{{ route('admin.users.index') }}">
<i class="bi bi-people me-2"></i>Senarai Pengguna
</a>
<a class="nav-link {{ request()->routeIs('admin.users.create') ? 'active' : '' }}"
href="{{ route('admin.users.create') }}">
<i class="bi bi-person-plus me-2"></i>Daftar Pengguna
</a>
<div class="sidebar-heading mt-2">Log & Laporan</div>
<a class="nav-link {{ request()->routeIs('admin.audit-logs.*') ? 'active' : '' }}"
href="{{ route('admin.audit-logs.index') }}">
<i class="bi bi-journal-text me-2"></i>Log Audit
</a>
<div class="sidebar-heading mt-2">Portal</div>
<a class="nav-link" href="{{ route('user.dashboard') }}">
<i class="bi bi-box-arrow-right me-2"></i>Portal Pengguna
</a>
</nav>
</div>
{{-- Main Content --}}
<div class="col-md-10 main-content p-4">
@if(session('success'))
<div class="alert alert-success alert-dismissible fade show" role="alert">
<i class="bi bi-check-circle me-2"></i>{{ session('success') }}
<button type="button" class="btn-close" data-bs-dismiss="alert"></button>
</div>
@endif
@if(session('error'))
<div class="alert alert-danger alert-dismissible fade show" role="alert">
<i class="bi bi-exclamation-triangle me-2"></i>{{ session('error') }}
<button type="button" class="btn-close" data-bs-dismiss="alert"></button>
</div>
@endif
@if($errors->any())
<div class="alert alert-danger alert-dismissible fade show" role="alert">
<i class="bi bi-exclamation-triangle me-2"></i>
<ul class="mb-0">
@foreach($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
<button type="button" class="btn-close" data-bs-dismiss="alert"></button>
</div>
@endif
@yield('content')
</div>
</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/jquery@3.7.1/dist/jquery.min.js"></script>
@stack('scripts')
</body>
</html>