build: Schriften lokal statt über Google (next/font/local)

Space Grotesk und Inter als variable Fonts, IBM Plex Mono 400/500, je
latin (enthält ä ö ü ß „ “ – €), unverändert aus @fontsource 5.3.0
(OFL-1.1, Hinweis in src/app/fonts/OFL.txt). Der Build holt nichts mehr
von Google; behebt den sporadischen Turbopack-Fehler beim Laden von
next/font/google im CI und spart einen Drittanbieter-Abruf.

Gates: Frontend lint, typecheck, 3185 Tests, build, 3D-Budget.

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
This commit is contained in:
Nick.RosenloecherandClaude Opus 5.5 committed 2026-10-16 15:47:25 +02:00
1 parent 6a915aad9c
commit 82b0c746d1
6 files changed
+114 -9

No files matched your search

+16 -9
View File
@@ -1,25 +1,32 @@
import type { Metadata, Viewport } from "next";
import { Space_Grotesk, Inter, IBM_Plex_Mono } from "next/font/google";
import localFont from "next/font/local";
import "./globals.css";
import { Providers } from "./providers";
import { Toaster } from "@/components/ui/sonner";
import { ServiceWorkerRegistration } from "@/components/service-worker-registration";
const spaceGrotesk = Space_Grotesk({
// Self-hosted (OFL-1.1, see ./fonts/OFL.txt): no Google request at build or runtime.
const spaceGrotesk = localFont({
variable: "--font-heading",
subsets: ["latin"],
weight: ["500", "600", "700"],
src: "./fonts/space-grotesk-latin-wght-normal.woff2",
weight: "300 700",
display: "swap",
});
const inter = Inter({
const inter = localFont({
variable: "--font-body",
subsets: ["latin"],
src: "./fonts/inter-latin-wght-normal.woff2",
weight: "100 900",
display: "swap",
});
const plexMono = IBM_Plex_Mono({
const plexMono = localFont({
variable: "--font-data",
subsets: ["latin"],
weight: ["400", "500"],
src: [
{ path: "./fonts/ibm-plex-mono-latin-400-normal.woff2", weight: "400", style: "normal" },
{ path: "./fonts/ibm-plex-mono-latin-500-normal.woff2", weight: "500", style: "normal" },
],
display: "swap",
});
export const metadata: Metadata = {