2026-02-06 11:26:13 +02:00
|
|
|
<!doctype html>
|
2026-02-14 17:06:03 +02:00
|
|
|
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}" class="h-full">
|
2026-02-06 11:26:13 +02:00
|
|
|
<head>
|
|
|
|
|
<meta charset="utf-8">
|
|
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
|
|
|
|
|
|
|
|
<!-- CSRF Token -->
|
|
|
|
|
<meta name="csrf-token" content="{{ csrf_token() }}">
|
|
|
|
|
|
2026-02-08 14:13:22 +02:00
|
|
|
<title>{{ $title ?? config('app.name', 'BestTech') }}</title>
|
2026-02-06 11:26:13 +02:00
|
|
|
|
2026-02-14 17:06:03 +02:00
|
|
|
<!-- Dark Mode Script (Must be in head to prevent flash) -->
|
|
|
|
|
<script>
|
|
|
|
|
// Check for saved theme preference or default to light mode
|
|
|
|
|
if (localStorage.theme === 'dark' || (!('theme' in localStorage) && window.matchMedia('(prefers-color-scheme: dark)').matches)) {
|
|
|
|
|
document.documentElement.classList.add('dark');
|
|
|
|
|
} else {
|
|
|
|
|
document.documentElement.classList.remove('dark');
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Toggle theme function
|
|
|
|
|
window.toggleTheme = function() {
|
|
|
|
|
const html = document.documentElement;
|
|
|
|
|
const isDark = html.classList.contains('dark');
|
|
|
|
|
|
|
|
|
|
if (isDark) {
|
|
|
|
|
html.classList.remove('dark');
|
|
|
|
|
localStorage.setItem('theme', 'light');
|
|
|
|
|
} else {
|
|
|
|
|
html.classList.add('dark');
|
|
|
|
|
localStorage.setItem('theme', 'dark');
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
</script>
|
|
|
|
|
|
2026-02-06 11:26:13 +02:00
|
|
|
<!-- Fonts -->
|
2026-02-08 14:13:22 +02:00
|
|
|
<link rel="preconnect" href="https://fonts.bunny.net">
|
|
|
|
|
<link href="https://fonts.bunny.net/css?family=inter:300,400,500,600,700,800" rel="stylesheet">
|
2026-02-06 11:26:13 +02:00
|
|
|
|
2026-02-08 14:13:22 +02:00
|
|
|
<!-- Favicon -->
|
|
|
|
|
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
|
|
|
|
|
|
|
|
|
|
<!-- Scripts & Styles -->
|
|
|
|
|
@vite(['resources/css/app.css', 'resources/js/app.js'])
|
|
|
|
|
|
|
|
|
|
<!-- Additional Head Content -->
|
|
|
|
|
@stack('styles')
|
2026-02-06 11:26:13 +02:00
|
|
|
</head>
|
2026-02-14 17:06:03 +02:00
|
|
|
<body class="h-full antialiased bg-white dark:bg-gray-900 text-gray-900 dark:text-gray-100">
|
2026-02-08 14:13:22 +02:00
|
|
|
<div id="app" class="min-h-full flex flex-col">
|
|
|
|
|
<!-- Navigation -->
|
|
|
|
|
@include('components.layout.navbar')
|
2026-02-06 11:26:13 +02:00
|
|
|
|
2026-02-08 14:13:22 +02:00
|
|
|
<!-- Page Content -->
|
|
|
|
|
<main class="flex-grow">
|
2026-02-06 11:26:13 +02:00
|
|
|
@yield('content')
|
|
|
|
|
</main>
|
2026-02-08 14:13:22 +02:00
|
|
|
|
|
|
|
|
<!-- Footer -->
|
2026-02-14 17:06:03 +02:00
|
|
|
<footer class="bg-white dark:bg-gray-800 border-t border-gray-200 dark:border-gray-700 mt-auto">
|
2026-02-08 14:13:22 +02:00
|
|
|
<div class="max-w-7xl mx-auto py-12 px-4 sm:px-6 lg:px-8">
|
|
|
|
|
<div class="grid grid-cols-1 md:grid-cols-4 gap-8">
|
|
|
|
|
<!-- Company Info -->
|
|
|
|
|
<div class="col-span-1">
|
|
|
|
|
<div class="flex items-center space-x-2 mb-4">
|
2026-02-14 17:06:03 +02:00
|
|
|
<svg class="h-8 w-8 text-primary-600 dark:text-primary-400" fill="currentColor" viewBox="0 0 24 24">
|
2026-02-08 14:13:22 +02:00
|
|
|
<path d="M12 2L2 7l10 5 10-5-10-5zM2 17l10 5 10-5M2 12l10 5 10-5"></path>
|
|
|
|
|
</svg>
|
2026-02-14 17:06:03 +02:00
|
|
|
<span class="text-lg font-bold text-gray-900 dark:text-white">{{ config('app.name', 'BestTech') }}</span>
|
2026-02-08 14:13:22 +02:00
|
|
|
</div>
|
2026-02-14 17:06:03 +02:00
|
|
|
<p class="text-sm text-gray-600 dark:text-gray-400">
|
2026-02-08 14:13:22 +02:00
|
|
|
Discover the best tech products from the EU.
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<!-- Product Links -->
|
|
|
|
|
<div>
|
2026-02-14 17:06:03 +02:00
|
|
|
<h3 class="text-sm font-semibold text-gray-900 dark:text-white uppercase tracking-wider mb-4">Product</h3>
|
2026-02-08 14:13:22 +02:00
|
|
|
<ul class="space-y-3">
|
2026-02-14 17:06:03 +02:00
|
|
|
<li><a href="{{ route('products.index') }}" class="text-sm text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-white">Discover</a></li>
|
2026-02-08 14:13:22 +02:00
|
|
|
@auth
|
2026-02-14 17:06:03 +02:00
|
|
|
<li><a href="{{ route('products.create') }}" class="text-sm text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-white">Submit Product</a></li>
|
2026-02-08 14:13:22 +02:00
|
|
|
@endauth
|
|
|
|
|
</ul>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<!-- Company Links -->
|
|
|
|
|
<div>
|
2026-02-14 17:06:03 +02:00
|
|
|
<h3 class="text-sm font-semibold text-gray-900 dark:text-white uppercase tracking-wider mb-4">Company</h3>
|
2026-02-08 14:13:22 +02:00
|
|
|
<ul class="space-y-3">
|
2026-02-14 17:06:03 +02:00
|
|
|
<li><a href="#" class="text-sm text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-white">About</a></li>
|
|
|
|
|
<li><a href="#" class="text-sm text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-white">Blog</a></li>
|
|
|
|
|
<li><a href="#" class="text-sm text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-white">Contact</a></li>
|
2026-02-08 14:13:22 +02:00
|
|
|
</ul>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<!-- Legal Links -->
|
|
|
|
|
<div>
|
2026-02-14 17:06:03 +02:00
|
|
|
<h3 class="text-sm font-semibold text-gray-900 dark:text-white uppercase tracking-wider mb-4">Legal</h3>
|
2026-02-08 14:13:22 +02:00
|
|
|
<ul class="space-y-3">
|
2026-02-14 17:06:03 +02:00
|
|
|
<li><a href="#" class="text-sm text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-white">Privacy</a></li>
|
|
|
|
|
<li><a href="#" class="text-sm text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-white">Terms</a></li>
|
2026-02-08 14:13:22 +02:00
|
|
|
</ul>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
2026-02-14 17:06:03 +02:00
|
|
|
<div class="mt-8 pt-8 border-t border-gray-200 dark:border-gray-700">
|
|
|
|
|
<p class="text-sm text-gray-500 dark:text-gray-400 text-center">
|
2026-02-08 14:13:22 +02:00
|
|
|
© {{ date('Y') }} {{ config('app.name', 'BestTech') }}. All rights reserved.
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
2026-02-14 16:11:09 +02:00
|
|
|
|
2026-02-08 14:13:22 +02:00
|
|
|
</footer>
|
2026-02-06 11:26:13 +02:00
|
|
|
</div>
|
2026-02-08 14:13:22 +02:00
|
|
|
|
|
|
|
|
<!-- Toast Notifications -->
|
|
|
|
|
@include('components.ui.notification')
|
|
|
|
|
|
|
|
|
|
<!-- Additional Scripts -->
|
|
|
|
|
@stack('scripts')
|
2026-02-06 11:26:13 +02:00
|
|
|
</body>
|
|
|
|
|
</html>
|