mirror of
https://github.com/hanzoai/calendar.git
synced 2026-09-24 22:42:24 +00:00
Three entry points called next/font/google for Inter and bound it to --font-sans, so the product rendered in a Google-hosted face and made the request to fetch it before anything painted. They take @hanzo/font's ZenSans, which is local; the --font-sans contract the app already sets from the font object is unchanged, so nothing downstream moves. The display face was Cal Sans — the upstream product's own, which we have no licence to ship under our name. Both apps take Zen's matching cuts and the seven CalSans files are gone. The platform SDK examples are sixteen more next/font/google imports, and they matter for the reason the docs examples do: a customer scaffolds from them, so whatever face they open with becomes the face of somebody else's project. `interFont` is `sansFont` — a binding named after a face it no longer holds is the thing the next reader has to be told about.
91 lines
2.1 KiB
TypeScript
91 lines
2.1 KiB
TypeScript
import { Footer, Layout, Navbar } from "nextra-theme-docs";
|
|
import { Head } from "nextra/components";
|
|
import { getPageMap } from "nextra/page-map";
|
|
import localFont from "next/font/local";
|
|
import "nextra-theme-docs/style.css";
|
|
import "./logo.css";
|
|
import "./fonts.css";
|
|
|
|
const displayFont = localFont({
|
|
src: "../fonts/Zen-Regular.woff2",
|
|
variable: "--font-cal",
|
|
display: "swap",
|
|
weight: "400",
|
|
});
|
|
|
|
const uiFont = localFont({
|
|
src: [
|
|
{ path: "../fonts/Zen-Light.woff2", weight: "300" },
|
|
{ path: "../fonts/Zen-Regular.woff2", weight: "400" },
|
|
{ path: "../fonts/Zen-Medium.woff2", weight: "500" },
|
|
{ path: "../fonts/Zen-SemiBold.woff2", weight: "600" },
|
|
{ path: "../fonts/Zen-Bold.woff2", weight: "700" },
|
|
],
|
|
variable: "--font-cal-ui",
|
|
display: "swap",
|
|
});
|
|
|
|
const navbar: React.ReactElement = (
|
|
<Navbar
|
|
logo={
|
|
<>
|
|
<img
|
|
src="/cal-docs-logo.svg"
|
|
alt="Cal.diy Docs"
|
|
height={26}
|
|
className="logo-light"
|
|
style={{ height: 26 }}
|
|
/>
|
|
<img
|
|
src="/cal-docs-logo-white.svg"
|
|
alt="Cal.diy Docs"
|
|
height={26}
|
|
className="logo-dark"
|
|
style={{ height: 26 }}
|
|
/>
|
|
</>
|
|
}
|
|
/>
|
|
);
|
|
|
|
const footer: React.ReactElement = (
|
|
<Footer>
|
|
<small>
|
|
Cal.diy is the open source community edition of Cal.com. Cal.diy® and Cal®
|
|
are a registered trademark by Cal.com, Inc. All rights reserved.
|
|
</small>
|
|
</Footer>
|
|
);
|
|
|
|
export const metadata: { title: string; description: string } = {
|
|
title: "Cal.diy Docs",
|
|
description: "Cal.diy self-hosting documentation",
|
|
};
|
|
|
|
export default async function RootLayout({
|
|
children,
|
|
}: {
|
|
children: React.ReactNode;
|
|
}) {
|
|
return (
|
|
<html
|
|
lang="en"
|
|
dir="ltr"
|
|
suppressHydrationWarning
|
|
className={`${displayFont.variable} ${uiFont.variable}`}
|
|
>
|
|
<Head />
|
|
<body>
|
|
<Layout
|
|
navbar={navbar}
|
|
pageMap={await getPageMap()}
|
|
docsRepositoryBase="https://github.com/calcom/cal.diy/tree/main/apps/docs"
|
|
footer={footer}
|
|
>
|
|
{children}
|
|
</Layout>
|
|
</body>
|
|
</html>
|
|
);
|
|
}
|