import { NextRequest, NextResponse } from "next/server"; import fs from "fs/promises"; import { CURATED_FONTS, isCuratedFontKey } from "@/lib/fonts"; import { resolveCuratedFontPath } from "@/lib/fonts-server"; export async function GET( _req: NextRequest, { params }: { params: Promise<{ key: string }> }, ) { const { key } = await params; if (!isCuratedFontKey(key)) { return NextResponse.json({ error: "Unknown font" }, { status: 404 }); } const fontPath = resolveCuratedFontPath(key); try { const buf = await fs.readFile(fontPath); const meta = CURATED_FONTS.find((f) => f.key === key)!; return new NextResponse(buf, { headers: { "Content-Type": "font/ttf", "Content-Disposition": `inline; filename="${meta.file}"`, "Cache-Control": "public, max-age=86400, immutable", }, }); } catch { return NextResponse.json({ error: "Font file not found" }, { status: 404 }); } }