first commit
This commit is contained in:
75
resources/views/layouts/app.blade.php
Normal file
75
resources/views/layouts/app.blade.php
Normal file
@@ -0,0 +1,75 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="ms">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="csrf-token" content="{{ csrf_token() }}">
|
||||
<title>@yield('title', 'Pemantauan Kemampanan Pusat Data') — MBIP</title>
|
||||
@vite(['resources/sass/app.scss', 'resources/js/app.js'])
|
||||
</head>
|
||||
<body>
|
||||
<div class="d-flex">
|
||||
{{-- Sidebar --}}
|
||||
<nav class="sidebar text-white p-3 d-none d-lg-block" style="width: 270px;">
|
||||
@include('layouts.sidebar')
|
||||
</nav>
|
||||
|
||||
{{-- Offcanvas sidebar untuk mobil --}}
|
||||
<div class="offcanvas offcanvas-start sidebar text-white" tabindex="-1" id="sidebarMobile">
|
||||
<div class="offcanvas-header">
|
||||
<h6 class="offcanvas-title">Menu</h6>
|
||||
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="offcanvas"></button>
|
||||
</div>
|
||||
<div class="offcanvas-body p-3">
|
||||
@include('layouts.sidebar')
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex-grow-1 min-vw-0">
|
||||
{{-- Bar atas --}}
|
||||
<header class="bg-white border-bottom px-3 py-2 d-flex align-items-center justify-content-between sticky-top">
|
||||
<div class="d-flex align-items-center gap-2">
|
||||
<button class="btn btn-outline-secondary btn-sm d-lg-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#sidebarMobile">
|
||||
<i class="bi bi-list"></i>
|
||||
</button>
|
||||
<span class="fw-semibold text-truncate">@yield('heading', 'Papan Pemuka')</span>
|
||||
</div>
|
||||
<div class="dropdown">
|
||||
<a href="#" class="d-flex align-items-center text-decoration-none dropdown-toggle text-dark" data-bs-toggle="dropdown">
|
||||
<i class="bi bi-person-circle fs-5 me-2"></i>
|
||||
<span class="d-none d-sm-inline">{{ auth()->user()->name }}</span>
|
||||
</a>
|
||||
<ul class="dropdown-menu dropdown-menu-end">
|
||||
<li class="dropdown-header">
|
||||
{{ auth()->user()->email }}<br>
|
||||
<small class="text-muted">{{ auth()->user()->getRoleNames()->join(', ') }}</small>
|
||||
</li>
|
||||
<li><hr class="dropdown-divider"></li>
|
||||
<li>
|
||||
<form method="POST" action="{{ route('logout') }}">
|
||||
@csrf
|
||||
<button class="dropdown-item text-danger" type="submit"><i class="bi bi-box-arrow-right me-2"></i>Log Keluar</button>
|
||||
</form>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<main class="p-3 p-md-4">
|
||||
@include('layouts.flash')
|
||||
|
||||
<div class="d-flex flex-wrap justify-content-between align-items-center mb-3 gap-2">
|
||||
<div>
|
||||
<h4 class="mb-0">@yield('page-title', View::yieldContent('heading'))</h4>
|
||||
@hasSection('subtitle')<small class="text-muted">@yield('subtitle')</small>@endif
|
||||
</div>
|
||||
<div>@yield('actions')</div>
|
||||
</div>
|
||||
|
||||
@yield('content')
|
||||
</main>
|
||||
</div>
|
||||
</div>
|
||||
@stack('scripts')
|
||||
</body>
|
||||
</html>
|
||||
25
resources/views/layouts/flash.blade.php
Normal file
25
resources/views/layouts/flash.blade.php
Normal file
@@ -0,0 +1,25 @@
|
||||
@if (session('success'))
|
||||
<div class="alert alert-success alert-dismissible alert-auto-dismiss fade show" role="alert">
|
||||
<i class="bi bi-check-circle me-1"></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-1"></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">
|
||||
<strong><i class="bi bi-exclamation-circle me-1"></i> Sila betulkan ralat berikut:</strong>
|
||||
<ul class="mb-0 mt-1">
|
||||
@foreach ($errors->all() as $error)
|
||||
<li>{{ $error }}</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="alert"></button>
|
||||
</div>
|
||||
@endif
|
||||
98
resources/views/layouts/sidebar.blade.php
Normal file
98
resources/views/layouts/sidebar.blade.php
Normal file
@@ -0,0 +1,98 @@
|
||||
@php($u = auth()->user())
|
||||
<a href="{{ route('dashboard') }}" class="sidebar-brand text-decoration-none d-block mb-4">
|
||||
<i class="bi bi-buildings me-1"></i> MBIP
|
||||
<div class="small fw-normal opacity-75" style="font-size:.72rem">Pemantauan Kemampanan Pusat Data</div>
|
||||
</a>
|
||||
|
||||
<ul class="nav nav-pills flex-column">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link {{ request()->routeIs('dashboard') ? 'active' : '' }}" href="{{ route('dashboard') }}">
|
||||
<i class="bi bi-speedometer2"></i> Papan Pemuka
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li class="nav-item">
|
||||
<a class="nav-link {{ request()->routeIs('submissions.*') ? 'active' : '' }}" href="{{ route('submissions.index') }}">
|
||||
<i class="bi bi-file-earmark-text"></i> Serahan
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@can('pusat_data.urus')
|
||||
<li class="nav-item">
|
||||
<a class="nav-link {{ request()->routeIs('data-centres.*') ? 'active' : '' }}" href="{{ route('data-centres.index') }}">
|
||||
<i class="bi bi-hdd-rack"></i> Pusat Data
|
||||
</a>
|
||||
</li>
|
||||
@elsecan('serahan.urus_sendiri')
|
||||
<li class="nav-item">
|
||||
<a class="nav-link {{ request()->routeIs('data-centres.*') ? 'active' : '' }}" href="{{ route('data-centres.index') }}">
|
||||
<i class="bi bi-hdd-rack"></i> Pusat Data Saya
|
||||
</a>
|
||||
</li>
|
||||
@endcan
|
||||
|
||||
@can('perunding.urus')
|
||||
<li class="nav-item">
|
||||
<a class="nav-link {{ request()->routeIs('consultants.*') ? 'active' : '' }}" href="{{ route('consultants.index') }}">
|
||||
<i class="bi bi-people"></i> Perunding
|
||||
</a>
|
||||
</li>
|
||||
@endcan
|
||||
|
||||
@can('kitaran.urus')
|
||||
<li class="nav-item">
|
||||
<a class="nav-link {{ request()->routeIs('reporting-cycles.*') ? 'active' : '' }}" href="{{ route('reporting-cycles.index') }}">
|
||||
<i class="bi bi-arrow-repeat"></i> Kitaran Pelaporan
|
||||
</a>
|
||||
</li>
|
||||
@endcan
|
||||
|
||||
@can('templat.urus')
|
||||
<li class="nav-item">
|
||||
<a class="nav-link {{ request()->routeIs('checklist-templates.*') ? 'active' : '' }}" href="{{ route('checklist-templates.index') }}">
|
||||
<i class="bi bi-ui-checks"></i> Templat Senarai Semak
|
||||
</a>
|
||||
</li>
|
||||
@endcan
|
||||
|
||||
@can('peringatan.lihat')
|
||||
<li class="nav-item">
|
||||
<a class="nav-link {{ request()->routeIs('reminders.*') ? 'active' : '' }}" href="{{ route('reminders.index') }}">
|
||||
<i class="bi bi-bell"></i> Peringatan / Belum Serah
|
||||
</a>
|
||||
</li>
|
||||
@endcan
|
||||
|
||||
@can('laporan.lihat')
|
||||
<li class="nav-item">
|
||||
<a class="nav-link {{ request()->routeIs('reports.*') ? 'active' : '' }}" href="{{ route('reports.index') }}">
|
||||
<i class="bi bi-bar-chart"></i> Laporan & Statistik
|
||||
</a>
|
||||
</li>
|
||||
@endcan
|
||||
|
||||
@canany(['pengguna.urus', 'tetapan.urus'])
|
||||
<li class="nav-item mt-3"><span class="text-uppercase small opacity-50 px-3">Pentadbiran</span></li>
|
||||
@endcanany
|
||||
|
||||
@can('pengguna.urus')
|
||||
<li class="nav-item">
|
||||
<a class="nav-link {{ request()->routeIs('users.*') ? 'active' : '' }}" href="{{ route('users.index') }}">
|
||||
<i class="bi bi-person-gear"></i> Pengguna
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link {{ request()->routeIs('audit.*') ? 'active' : '' }}" href="{{ route('audit.index') }}">
|
||||
<i class="bi bi-clock-history"></i> Log Audit
|
||||
</a>
|
||||
</li>
|
||||
@endcan
|
||||
|
||||
@can('tetapan.urus')
|
||||
<li class="nav-item">
|
||||
<a class="nav-link {{ request()->routeIs('settings.*') ? 'active' : '' }}" href="{{ route('settings.edit') }}">
|
||||
<i class="bi bi-gear"></i> Tetapan
|
||||
</a>
|
||||
</li>
|
||||
@endcan
|
||||
</ul>
|
||||
Reference in New Issue
Block a user