Files
2026-05-31 19:21:25 +02:00

57 lines
1.8 KiB
Plaintext

---
// src/layouts/Layout.astro
import siteConfig from '../data/site.json';
import { getBaseUrl } from '../lib/nav.js';
import ToastContainer from '../components/ToastContainer.jsx';
import AuthStatus from '../components/auth/AuthStatus.jsx';
import Navbar from '../components/Navbar/index.jsx';
import { ClientRouter } from 'astro:transitions';
import "../styles/global.css";
interface Props {
title: string;
description?: string;
}
const { title, description: stranicaDescription } = Astro.props;
const metaDescription = stranicaDescription || siteConfig.description || "Glavni terminal sustava ServisLog.";
---
<!doctype html>
<html lang="hr">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
<meta name="generator" content={Astro.generator} />
<meta name="description" content={metaDescription} />
<ClientRouter />
<title>{title} | {siteConfig.title}</title>
<link rel="stylesheet" href={getBaseUrl('/css/all.min.css')} />
</head>
<body>
<Navbar client:load />
<ToastContainer client:only="preact" transition:persist />
<header>
<AuthStatus client:only="preact" transition:persist />
</header>
<main transition:animate="fade" class="flex-grow w-full max-w-7xl mx-auto pt-24 pb-12 px-4 sm:px-6 lg:px-8">
<slot />
</main>
<footer class="bg-white dark:bg-gray-800 border-t border-gray-200 dark:border-gray-700 py-6 text-center text-sm text-gray-500">
&copy; {new Date().getFullYear()} {siteConfig.title}. Sva prava pridržana.
</footer>
<div id="toast-container" style="position: fixed; bottom: 20px; right: 20px;"></div>
<script is:inline src={getBaseUrl('/js/flowbite.min.js')} defer></script>
</body>
</html>