some progress: users slugs, bookmarks page, upvotes page, design

This commit is contained in:
Doar Mihai
2026-02-14 17:06:03 +02:00
parent 67de095a03
commit cf6310dc7e
16 changed files with 419 additions and 71 deletions
+42 -18
View File
@@ -1,5 +1,5 @@
<!doctype html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}" class="h-full bg-gray-50">
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}" class="h-full">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
@@ -9,6 +9,30 @@
<title>{{ $title ?? config('app.name', 'BestTech') }}</title>
<!-- 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>
<!-- Fonts -->
<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">
@@ -22,7 +46,7 @@
<!-- Additional Head Content -->
@stack('styles')
</head>
<body class="h-full antialiased">
<body class="h-full antialiased bg-white dark:bg-gray-900 text-gray-900 dark:text-gray-100">
<div id="app" class="min-h-full flex flex-col">
<!-- Navigation -->
@include('components.layout.navbar')
@@ -33,55 +57,55 @@
</main>
<!-- Footer -->
<footer class="bg-white border-t border-gray-200 mt-auto">
<footer class="bg-white dark:bg-gray-800 border-t border-gray-200 dark:border-gray-700 mt-auto">
<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">
<svg class="h-8 w-8 text-primary-600" fill="currentColor" viewBox="0 0 24 24">
<svg class="h-8 w-8 text-primary-600 dark:text-primary-400" fill="currentColor" viewBox="0 0 24 24">
<path d="M12 2L2 7l10 5 10-5-10-5zM2 17l10 5 10-5M2 12l10 5 10-5"></path>
</svg>
<span class="text-lg font-bold text-gray-900">{{ config('app.name', 'BestTech') }}</span>
<span class="text-lg font-bold text-gray-900 dark:text-white">{{ config('app.name', 'BestTech') }}</span>
</div>
<p class="text-sm text-gray-600">
<p class="text-sm text-gray-600 dark:text-gray-400">
Discover the best tech products from the EU.
</p>
</div>
<!-- Product Links -->
<div>
<h3 class="text-sm font-semibold text-gray-900 uppercase tracking-wider mb-4">Product</h3>
<h3 class="text-sm font-semibold text-gray-900 dark:text-white uppercase tracking-wider mb-4">Product</h3>
<ul class="space-y-3">
<li><a href="{{ route('products.index') }}" class="text-sm text-gray-600 hover:text-gray-900">Discover</a></li>
<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>
@auth
<li><a href="{{ route('products.create') }}" class="text-sm text-gray-600 hover:text-gray-900">Submit Product</a></li>
<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>
@endauth
</ul>
</div>
<!-- Company Links -->
<div>
<h3 class="text-sm font-semibold text-gray-900 uppercase tracking-wider mb-4">Company</h3>
<h3 class="text-sm font-semibold text-gray-900 dark:text-white uppercase tracking-wider mb-4">Company</h3>
<ul class="space-y-3">
<li><a href="#" class="text-sm text-gray-600 hover:text-gray-900">About</a></li>
<li><a href="#" class="text-sm text-gray-600 hover:text-gray-900">Blog</a></li>
<li><a href="#" class="text-sm text-gray-600 hover:text-gray-900">Contact</a></li>
<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>
</ul>
</div>
<!-- Legal Links -->
<div>
<h3 class="text-sm font-semibold text-gray-900 uppercase tracking-wider mb-4">Legal</h3>
<h3 class="text-sm font-semibold text-gray-900 dark:text-white uppercase tracking-wider mb-4">Legal</h3>
<ul class="space-y-3">
<li><a href="#" class="text-sm text-gray-600 hover:text-gray-900">Privacy</a></li>
<li><a href="#" class="text-sm text-gray-600 hover:text-gray-900">Terms</a></li>
<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>
</ul>
</div>
</div>
<div class="mt-8 pt-8 border-t border-gray-200">
<p class="text-sm text-gray-500 text-center">
<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">
&copy; {{ date('Y') }} {{ config('app.name', 'BestTech') }}. All rights reserved.
</p>
</div>