kremalicious/blog

View on GitHub
src/layouts/Base/index.astro

Summary

Maintainability
Test Coverage
---
import '../../styles/global.css'
import '../../styles/imports.css'

import type { CollectionEntry } from 'astro:content'
import Footer from '@/components/Footer/index.astro'
import Header from '@/components/Header/index.astro'
import type { ImageMetadata } from 'astro'
import Head from './Head.astro'
import styles from './index.module.css'

export type Props = CollectionEntry<'articles' | 'links' | 'photos'>['data'] & {
  pageTitle?: string
  description?: string
  image?: ImageMetadata
}

const { pageTitle } = Astro.props
---

<html lang="en">
  <Head {...Astro.props} />
  <body>
    <Header />

    <main class={styles.document} id="document">
      <div class={styles.content}>
        {pageTitle && <h1 class={styles.pagetitle}>{pageTitle}</h1>}
        <slot />
      </div>
    </main>

    <Footer />
  </body>
</html>