---
import '../assets/css/input.css';

import Head from "../components/Head.astro";
import Header from "../components/Header.astro";
import Footer from "../components/Footer.astro";
import Search from "../components/Search.astro";
import GridBackground from "../components/GridBackground.astro";
import ConstructionBanner from "../components/ConstructionBanner.astro";
interface Props {
    title?: string;
    description?: string;
    image?: string;
    keywords?: string[];
    type?: 'website' | 'article';
    publishedTime?: Date | string;
    modifiedTime?: Date | string;
    authors?: string[];
    articleTags?: string[];
}

const {title, description, image, keywords, type, publishedTime, modifiedTime, authors, articleTags} = Astro.props;
---

<!doctype html>
<html lang="en">

<Head {title} {description} {image} {keywords} {type} {publishedTime} {modifiedTime} {authors} {articleTags}/>

<body hx-boost:inherited="true"
      hx-swap:inherited="innerMorph"
      class="group/body pt-(--header-height) has-[#mobile-navigation-toggle:checked]:overflow-hidden has-[dialog[open]]:overflow-hidden">

<GridBackground />

<slot name="header">
    <Header/>
</slot>

<ConstructionBanner />

<slot/>

<slot name="footer">
    <Footer/>
</slot>

<Search/>

</body>
</html>
