50 lines
4.0 KiB
PHP
50 lines
4.0 KiB
PHP
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<script>try{document.documentElement.dataset.theme=localStorage.getItem('uniformflow-theme')||(matchMedia('(prefers-color-scheme: dark)').matches?'dark':'light')}catch(e){}</script>
|
|
<title>@yield('title', 'UniformFlow')</title>
|
|
<link rel="icon" type="image/jpeg" href="{{ asset('images/glitzpark_logo.jpg') }}">
|
|
<link rel="apple-touch-icon" href="{{ asset('images/glitzpark_logo.jpg') }}">
|
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
<link href="https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@700;800&display=swap" rel="stylesheet">
|
|
<link rel="stylesheet" href="{{ asset('css/app.css') }}">
|
|
<link rel="stylesheet" href="{{ asset('css/inventory.css') }}">
|
|
<link rel="stylesheet" href="{{ asset('css/dashboard.css') }}">
|
|
<link rel="stylesheet" href="{{ asset('css/search-select.css') }}">
|
|
<link rel="stylesheet" href="{{ asset('css/returns.css') }}">
|
|
<link rel="stylesheet" href="{{ asset('css/theme.css') }}">
|
|
<link rel="stylesheet" href="{{ asset('css/stock-details.css') }}">
|
|
<link rel="stylesheet" href="{{ asset('css/stock-search.css') }}">
|
|
<link rel="stylesheet" href="{{ asset('css/handover.css') }}">
|
|
<script src="{{ asset('js/theme.js') }}" defer></script>
|
|
</head>
|
|
<body>
|
|
<div class="app-shell">
|
|
<aside class="sidebar">
|
|
<a class="brand" href="{{ route('dashboard') }}"><img class="brand-logo" src="{{ asset('images/glitzpark_logo.jpg') }}" alt="Glitz Park logo"><span>UniformFlow<small>Asset management</small></span></a>
|
|
<nav>
|
|
<a class="{{ request()->routeIs('dashboard') ? 'active' : '' }}" href="{{ route('dashboard') }}">▦ <span>Admin dashboard</span></a>
|
|
<a class="{{ request()->routeIs('inventory.*') ? 'active' : '' }}" href="{{ route('inventory.index') }}">◇ <span>Inventory</span></a>
|
|
<a class="{{ request()->routeIs('stock-details.*') ? 'active' : '' }}" href="{{ route('stock-details.index') }}">▤ <span>Stock details</span></a>
|
|
<a class="{{ request()->routeIs('employees.*') ? 'active' : '' }}" href="{{ route('employees.index') }}">♙ <span>Employees</span></a>
|
|
<a class="{{ request()->routeIs('issues.*') ? 'active' : '' }}" href="{{ route('issues.index') }}">↗ <span>Issue uniforms</span></a>
|
|
<a class="{{ request()->routeIs('returns.*') ? 'active' : '' }}" href="{{ route('returns.index') }}">↩ <span>Return uniforms</span></a>
|
|
<a class="{{ request()->routeIs('handovers.*') ? 'active' : '' }}" href="{{ route('handovers.index') }}">↙ <span>Exit handovers</span></a>
|
|
</nav>
|
|
<div class="sidebar-foot admin-account"><div class="admin-identity"><span class="status-dot"></span><div><strong>{{ auth()->user()->name }}</strong><small>{{ auth()->user()->email }}</small></div></div><form method="POST" action="{{ route('logout') }}">@csrf<button type="submit">Sign out</button></form></div>
|
|
</aside>
|
|
<main>
|
|
<header class="topbar"><button class="menu-button" onclick="document.body.classList.toggle('menu-open')">☰</button><div><span class="eyebrow">Operations portal</span><strong>@yield('page-heading', 'Overview')</strong></div><button class="theme-toggle" type="button" data-theme-toggle aria-label="Toggle theme"><span class="theme-icon-light">☾</span><span class="theme-icon-dark">☀</span></button><div class="avatar">{{ strtoupper(substr(auth()->user()->name, 0, 2)) }}</div></header>
|
|
<div class="content">
|
|
@if(session('success'))<div class="alert success">✓ {{ session('success') }}</div>@endif
|
|
@if($errors->any())<div class="alert error"><strong>Please check the following:</strong><ul>@foreach($errors->all() as $error)<li>{{ $error }}</li>@endforeach</ul></div>@endif
|
|
@yield('content')
|
|
</div>
|
|
</main>
|
|
</div>
|
|
</body>
|
|
</html>
|