MIF_E31221305/TA_website/resources/views/admin/layouts/app.blade.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>