85 lines
3.5 KiB
PHP
85 lines
3.5 KiB
PHP
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>@yield('title') - TailorHub Admin</title>
|
|
<meta name="csrf-token" content="{{ csrf_token() }}">
|
|
<link href="https://cdn.jsdelivr.net/npm/tailwindcss@2.2.19/dist/tailwind.min.css" rel="stylesheet">
|
|
<script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
|
|
<script src="https://cdn.jsdelivr.net/npm/alpinejs@3.13.0/dist/cdn.min.js" defer></script>
|
|
|
|
<!-- Base URL Configuration -->
|
|
<script>
|
|
window.BASE_URL = '{{ rtrim(config('api.url'), '/') }}';
|
|
window.API_URL = window.BASE_URL + '/api';
|
|
</script>
|
|
</head>
|
|
<body class="bg-gray-100">
|
|
<div class="flex h-screen overflow-hidden">
|
|
<!-- Sidebar -->
|
|
@include('admin.layouts.sidebar')
|
|
|
|
<!-- Main Content -->
|
|
<div class="flex-1 overflow-auto">
|
|
<!-- Top Navigation -->
|
|
<header class="bg-white shadow-sm">
|
|
<div class="flex items-center justify-between px-6 py-4">
|
|
<h1 class="text-xl font-semibold text-gray-800">@yield('title')</h1>
|
|
<div class="flex items-center">
|
|
<div class="relative" x-data="{ open: false }">
|
|
<button @click="open = !open" class="flex items-center text-gray-700 hover:text-gray-900 focus:outline-none">
|
|
<span class="mr-2">{{ Auth::user()->name }}</span>
|
|
<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="M19 9l-7 7-7-7"></path>
|
|
</svg>
|
|
</button>
|
|
<div x-show="open" @click.away="open = false" class="absolute right-0 mt-2 w-48 bg-white rounded-md shadow-lg py-1 z-10">
|
|
<a href="{{ route('admin.user.profile') }}" class="block px-4 py-2 text-sm text-gray-700 hover:bg-gray-100">Profil</a>
|
|
<form method="POST" action="{{ route('admin.logout') }}">
|
|
@csrf
|
|
<button type="submit" class="block w-full text-left px-4 py-2 text-sm text-gray-700 hover:bg-gray-100">
|
|
Logout
|
|
</button>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</header>
|
|
|
|
<!-- Page Content -->
|
|
<main class="p-6">
|
|
@yield('content')
|
|
</main>
|
|
</div>
|
|
</div>
|
|
|
|
@stack('scripts')
|
|
|
|
<script>
|
|
// Global AJAX Setup
|
|
$.ajaxSetup({
|
|
headers: {
|
|
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
|
|
}
|
|
});
|
|
|
|
// Setup global API helper functions
|
|
window.apiUrl = function(path = '') {
|
|
// Remove leading slash and api prefix if present
|
|
path = path.replace(/^\/?/, '');
|
|
path = path.replace(/^api\//, '');
|
|
|
|
return `${window.API_URL}/${path}`;
|
|
};
|
|
|
|
window.assetUrl = function(path = '') {
|
|
// Remove leading slash if present
|
|
path = path.replace(/^\/?/, '');
|
|
|
|
return `${window.BASE_URL}/${path}`;
|
|
};
|
|
</script>
|
|
</body>
|
|
</html>
|