mirror of
https://github.com/hanzo-docs/docs.git
synced 2026-10-28 07:09:50 +00:00
Twelve example apps opened with next/font/google Inter, so every developer who copied one started their project on a face that is not ours and a request to a font host we do not control. They use @hanzo/font's ZenSans (and ZenMono where the example wanted a second family), with the dependency declared so it resolves. examples/proposals bound --font-sans to var(--font-inter), a variable nothing sets any more; it reads --font-zen-sans.
49 lines
1.4 KiB
TypeScript
49 lines
1.4 KiB
TypeScript
import './global.css';
|
|
import '@hanzo/docs/ui/style.css';
|
|
import { RootProvider } from '@hanzo/docs/ui/provider/next';
|
|
import { ZenSans } from '@hanzo/font/sans';
|
|
import { ZenMono } from '@hanzo/font/mono';
|
|
import type { ReactNode } from 'react';
|
|
import { SearchDialog } from '../components/search-dialog';
|
|
import { brand } from '../lib/config';
|
|
|
|
export const metadata = {
|
|
title: {
|
|
default: brand.name,
|
|
template: `%s | ${brand.name}`,
|
|
},
|
|
description: brand.description,
|
|
keywords: [brand.shortName, 'proposals', 'governance', 'standards'],
|
|
metadataBase: new URL(brand.baseUrl),
|
|
openGraph: {
|
|
title: brand.name,
|
|
description: brand.description,
|
|
type: 'website',
|
|
siteName: brand.name,
|
|
},
|
|
};
|
|
|
|
export default function Layout({ children }: { children: ReactNode }) {
|
|
return (
|
|
<html lang="en" className={ZenSans.variable} suppressHydrationWarning>
|
|
<body className="min-h-svh bg-fd-background font-sans antialiased">
|
|
<RootProvider
|
|
search={{
|
|
enabled: false,
|
|
}}
|
|
theme={{
|
|
enabled: true,
|
|
defaultTheme: 'dark',
|
|
storageKey: `${brand.shortName.toLowerCase()}-theme`,
|
|
}}
|
|
>
|
|
<SearchDialog brand={brand} />
|
|
<div className="relative flex min-h-svh flex-col bg-fd-background">
|
|
{children}
|
|
</div>
|
|
</RootProvider>
|
|
</body>
|
|
</html>
|
|
);
|
|
}
|