Certificate manager built on Laravel 13, Livewire 4, and Flux. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
38 lines
1.5 KiB
PHP
38 lines
1.5 KiB
PHP
<!DOCTYPE html>
|
|
<html lang="nl" class="scroll-smooth">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
|
|
<title>@yield('title', 'Certified — Nooit meer verlopen certificaten')</title>
|
|
<meta name="description" content="@yield('description', 'Certified bewaakt de geldigheid van al je certificaten. Automatische OCR, slimme reminders en AVG-proof delen — 100% Europese hosting.')">
|
|
|
|
<link rel="icon" href="/favicon.ico" sizes="any">
|
|
<link rel="icon" href="/favicon.svg" type="image/svg+xml">
|
|
<link rel="apple-touch-icon" href="/apple-touch-icon.png">
|
|
|
|
@fonts
|
|
|
|
{{-- Same storage key as the Flux dashboard, so the visitor's choice carries over after login. --}}
|
|
<script>
|
|
(() => {
|
|
const appearance = localStorage.getItem('flux.appearance') ?? 'system';
|
|
const prefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches;
|
|
document.documentElement.classList.toggle('dark', appearance === 'dark' || (appearance === 'system' && prefersDark));
|
|
})();
|
|
</script>
|
|
|
|
@vite(['resources/css/app.css', 'resources/js/marketing.js'])
|
|
</head>
|
|
<body class="bg-white font-sans text-slate-700 antialiased selection:bg-emerald-200 selection:text-emerald-950 dark:bg-slate-950 dark:text-slate-300">
|
|
|
|
@include('marketing.partials.nav')
|
|
|
|
<main>
|
|
@yield('content')
|
|
</main>
|
|
|
|
@include('marketing.partials.footer')
|
|
|
|
</body>
|
|
</html>
|