// @ts-types="corvos/mod.ts" import { getGenerator, type Select } from "corvos/mod.ts"; import site from "@/corvos.config.ts"; import { SiteFooter } from "../components/SiteFooter.tsx"; import { SiteNav } from "../components/SiteNav.tsx"; import { Lightbox } from "../objects/Lightbox.tsx"; export interface Props { page: Select; image?: string; theme?: "l1" | "l2" | null; children?: JSX.Element; class?: unknown; } export const BaseLayout = site.$.component( async ({ page, theme = "l1", image: imageUrl, children, class: cls }: Props, pages) => { const query = site.$.query(pages); const stylesheet = await site.load("styles/style.scss"); const script = await site.load("scripts/script.ts"); const fonts = await site.glob("assets/**.woff2"); const favicon = await site.load("assets/favicon.svg"); const image = await site.load( imageUrl ?? "https://strapi.volpeon.ink/uploads/icon_7999cf625e.png", ); const feeds = query.type(".rss").many(); return ( <> {{ __html: "" }} {fonts.map((font) => ( ))}