aboutsummaryrefslogtreecommitdiffstats
path: root/src/layouts/Layout.astro
blob: 6184f181fed45a55823eacdb15fe2ede0e966372 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
---
import '@/styles/global.css'
import '@/styles/typography.css'

import Footer from '@/components/Footer.astro'
import Head from '@/components/Head.astro'
import Header from '@/components/Header.astro'
import { SITE } from '@/consts'
import { cn } from '@/lib/utils'

interface Props {
  class?: string
}

const { class: className } = Astro.props
---

<!doctype html>
<html
  class="bg-background text-foreground scheme-light-dark"
  lang={SITE.locale}
>
  <Head>
    <slot name="head" />
  </Head>
  <body class="flex h-fit min-h-screen flex-col gap-y-6 font-sans">
    <header
      class="bg-background/50 sticky top-0 z-50 divide-y backdrop-blur-sm xl:divide-none"
    >
      <Header />
      <slot name="subposts-navigation" />
      <slot name="table-of-contents" />
    </header>
    <main
      class={cn('w-full mx-auto flex grow flex-col gap-y-6 px-4', className)}
    >
      <slot />
    </main>
    <Footer />
  </body>
</html>