sackey 6b878bb0a0
Some checks failed
linter / quality (push) Has been cancelled
tests / ci (push) Has been cancelled
Initial commit
2025-09-12 16:19:56 +00:00

112 lines
8.6 KiB
PHP

<!DOCTYPE html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}" class="dark">
<head>
@include('partials.head')
</head>
<body class="min-h-screen bg-white dark:bg-zinc-800">
<div class="flex h-screen">
<!-- Sidebar -->
<div class="w-64 bg-zinc-50 dark:bg-zinc-900 border-r border-zinc-200 dark:border-zinc-700">
<div class="p-6">
<a href="{{ route('dashboard') }}" class="flex items-center space-x-2" wire:navigate>
<x-app-logo />
</a>
</div>
<nav class="mt-6 px-6">
<div class="space-y-1">
<div class="text-xs font-semibold text-zinc-500 uppercase tracking-wider mb-3">Platform</div>
<a href="{{ route('dashboard') }}" class="flex items-center px-3 py-2 text-sm font-medium rounded-lg {{ request()->routeIs('dashboard') ? 'bg-zinc-200 dark:bg-zinc-800 text-zinc-900 dark:text-white' : 'text-zinc-700 dark:text-zinc-300 hover:bg-zinc-100 dark:hover:bg-zinc-800' }}" wire:navigate>
{{ __('Dashboard') }}
</a>
</div>
<div class="space-y-1 mt-6">
<div class="text-xs font-semibold text-zinc-500 uppercase tracking-wider mb-3">GPS Tracking</div>
<a href="{{ route('devices.index') }}" class="flex items-center px-3 py-2 text-sm font-medium rounded-lg {{ request()->routeIs('devices.*') ? 'bg-zinc-200 dark:bg-zinc-800 text-zinc-900 dark:text-white' : 'text-zinc-700 dark:text-zinc-300 hover:bg-zinc-100 dark:hover:bg-zinc-800' }}" wire:navigate>
{{ __('Devices') }}
</a>
<a href="{{ route('live-tracking') }}" class="flex items-center px-3 py-2 text-sm font-medium rounded-lg {{ request()->routeIs('live-tracking') ? 'bg-zinc-200 dark:bg-zinc-800 text-zinc-900 dark:text-white' : 'text-zinc-700 dark:text-zinc-300 hover:bg-zinc-100 dark:hover:bg-zinc-800' }}" wire:navigate>
{{ __('Live Tracking') }}
</a>
<a href="{{ route('geofences.index') }}" class="flex items-center px-3 py-2 text-sm font-medium rounded-lg {{ request()->routeIs('geofences.*') ? 'bg-zinc-200 dark:bg-zinc-800 text-zinc-900 dark:text-white' : 'text-zinc-700 dark:text-zinc-300 hover:bg-zinc-100 dark:hover:bg-zinc-800' }}" wire:navigate>
{{ __('Geofences') }}
</a>
<a href="{{ route('events.index') }}" class="flex items-center px-3 py-2 text-sm font-medium rounded-lg {{ request()->routeIs('events.*') ? 'bg-zinc-200 dark:bg-zinc-800 text-zinc-900 dark:text-white' : 'text-zinc-700 dark:text-zinc-300 hover:bg-zinc-100 dark:hover:bg-zinc-800' }}" wire:navigate>
{{ __('Events & Alerts') }}
</a>
<a href="{{ route('reports.index') }}" class="flex items-center px-3 py-2 text-sm font-medium rounded-lg {{ request()->routeIs('reports.*') ? 'bg-zinc-200 dark:bg-zinc-800 text-zinc-900 dark:text-white' : 'text-zinc-700 dark:text-zinc-300 hover:bg-zinc-100 dark:hover:bg-zinc-800' }}" wire:navigate>
{{ __('Reports') }}
</a>
<a href="{{ route('map-settings') }}" class="flex items-center px-3 py-2 text-sm font-medium rounded-lg {{ request()->routeIs('map-settings') ? 'bg-zinc-200 dark:bg-zinc-800 text-zinc-900 dark:text-white' : 'text-zinc-700 dark:text-zinc-300 hover:bg-zinc-100 dark:hover:bg-zinc-800' }}" wire:navigate>
{{ __('Map Settings') }}
</a>
</div>
@can('admin panel')
<div class="space-y-1 mt-6">
<div class="text-xs font-semibold text-zinc-500 uppercase tracking-wider mb-3">Administration</div>
<a href="{{ route('admin.dashboard') }}" class="flex items-center px-3 py-2 text-sm font-medium rounded-lg {{ request()->routeIs('admin.dashboard') ? 'bg-zinc-200 dark:bg-zinc-800 text-zinc-900 dark:text-white' : 'text-zinc-700 dark:text-zinc-300 hover:bg-zinc-100 dark:hover:bg-zinc-800' }}" wire:navigate>
{{ __('Admin Dashboard') }}
</a>
<a href="{{ route('admin.users') }}" class="flex items-center px-3 py-2 text-sm font-medium rounded-lg {{ request()->routeIs('admin.users') ? 'bg-zinc-200 dark:bg-zinc-800 text-zinc-900 dark:text-white' : 'text-zinc-700 dark:text-zinc-300 hover:bg-zinc-100 dark:hover:bg-zinc-800' }}" wire:navigate>
{{ __('User Management') }}
</a>
<a href="{{ route('admin.drivers') }}" class="flex items-center px-3 py-2 text-sm font-medium rounded-lg {{ request()->routeIs('admin.drivers') ? 'bg-zinc-200 dark:bg-zinc-800 text-zinc-900 dark:text-white' : 'text-zinc-700 dark:text-zinc-300 hover:bg-zinc-100 dark:hover:bg-zinc-800' }}" wire:navigate>
{{ __('Driver Management') }}
</a>
<a href="{{ route('admin.commands') }}" class="flex items-center px-3 py-2 text-sm font-medium rounded-lg {{ request()->routeIs('admin.commands') ? 'bg-zinc-200 dark:bg-zinc-800 text-zinc-900 dark:text-white' : 'text-zinc-700 dark:text-zinc-300 hover:bg-zinc-100 dark:hover:bg-zinc-800' }}" wire:navigate>
{{ __('Command Center') }}
</a>
<a href="{{ route('admin.notifications') }}" class="flex items-center px-3 py-2 text-sm font-medium rounded-lg {{ request()->routeIs('admin.notifications') ? 'bg-zinc-200 dark:bg-zinc-800 text-zinc-900 dark:text-white' : 'text-zinc-700 dark:text-zinc-300 hover:bg-zinc-100 dark:hover:bg-zinc-800' }}" wire:navigate>
{{ __('Notification Center') }}
</a>
<a href="{{ route('admin.subscriptions') }}" class="flex items-center px-3 py-2 text-sm font-medium rounded-lg {{ request()->routeIs('admin.subscriptions') ? 'bg-zinc-200 dark:bg-zinc-800 text-zinc-900 dark:text-white' : 'text-zinc-700 dark:text-zinc-300 hover:bg-zinc-100 dark:hover:bg-zinc-800' }}" wire:navigate>
{{ __('Subscriptions') }}
</a>
</div>
@endcan
</nav>
<!-- User Menu -->
<div class="absolute bottom-0 left-0 w-64 p-6 border-t border-zinc-200 dark:border-zinc-700">
<div class="flex items-center space-x-3">
<div class="flex-shrink-0">
<div class="w-8 h-8 bg-zinc-300 dark:bg-zinc-600 rounded-full flex items-center justify-center">
<span class="text-sm font-medium text-zinc-700 dark:text-zinc-300">
{{ auth()->user()->initials() }}
</span>
</div>
</div>
<div class="flex-1 min-w-0">
<p class="text-sm font-medium text-zinc-900 dark:text-white truncate">
{{ auth()->user()->name }}
</p>
<p class="text-xs text-zinc-500 dark:text-zinc-400 truncate">
{{ auth()->user()->email }}
</p>
</div>
<form method="POST" action="{{ route('logout') }}">
@csrf
<button type="submit" class="text-zinc-500 hover:text-zinc-700 dark:text-zinc-400 dark:hover:text-zinc-200">
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17 16l4-4m0 0l-4-4m4 4H7m6 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a3 3 0 013-3h4a3 3 0 013 3v1" />
</svg>
</button>
</form>
</div>
</div>
</div>
<!-- Main content -->
<div class="flex-1 overflow-hidden">
<main class="p-6 h-full overflow-y-auto">
{{ $slot }}
</main>
</div>
</div>
@livewireScripts
</body>
</html>