cleanup and cms migration
Some checks failed
Build and Deploy / build-and-deploy (push) Has been cancelled

This commit is contained in:
2026-03-23 20:45:24 -04:00
parent 2ba6f43489
commit 5121ba1852
47 changed files with 1275 additions and 3411 deletions

44
src/layouts/base.astro Normal file
View File

@@ -0,0 +1,44 @@
---
import '../styles/global.css';
import { getCollection } from 'astro:content';
import { getLocale } from '@/lib/locale';
import SEOHead from '@/components/seo-head.astro';
import Header from '@/components/header';
interface Props {
title?: string;
description?: string;
keywords?: string;
ogImage?: string;
canonical?: string;
noindex?: boolean;
pageType?: 'website' | 'article';
}
const props = Astro.props;
const locale = getLocale(Astro);
const [navEntry] = await getCollection('navigation', (e) => e.id === `${locale}/main`);
if (!navEntry) throw new Error(`Missing navigation content for locale: ${locale}`);
const nav = navEntry.data;
const navigationItems = nav.links.map((link) => ({ name: link.name, href: link.href }));
---
<!doctype html>
<html lang={locale}>
<head>
<SEOHead {...props} />
</head>
<body>
<Header
navigation={navigationItems}
ctaLabel={nav.cta.label}
ctaHref={nav.cta.href}
client:load
/>
<main id="main-content">
<slot />
</main>
</body>
</html>