summaryrefslogtreecommitdiff
path: root/apps/web/src/lib/font-config.ts
diff options
context:
space:
mode:
authorMaze Winther <mazewinther@gmail.com>2025-07-10 20:53:58 +0200
committerMaze Winther <mazewinther@gmail.com>2025-07-10 20:53:58 +0200
commite8b0057cc44c90af24f52e44ada60493e6ef6311 (patch)
tree9c3a09aa9de543b340a67f629fde3bd1aa85ba93 /apps/web/src/lib/font-config.ts
parent055a6af0551302ebfd482183eb3d682baaf9ebdd (diff)
downloadopencut-e8b0057cc44c90af24f52e44ada60493e6ef6311.tar.gz
feat: initial fonts support
Diffstat (limited to 'apps/web/src/lib/font-config.ts')
-rw-r--r--apps/web/src/lib/font-config.ts39
1 files changed, 39 insertions, 0 deletions
diff --git a/apps/web/src/lib/font-config.ts b/apps/web/src/lib/font-config.ts
new file mode 100644
index 00000000..0389054a
--- /dev/null
+++ b/apps/web/src/lib/font-config.ts
@@ -0,0 +1,39 @@
+import {
+ Inter,
+ Roboto,
+ Open_Sans,
+ Playfair_Display,
+ Comic_Neue,
+} from "next/font/google";
+
+// Configure all fonts
+const inter = Inter({ subsets: ["latin"] });
+const roboto = Roboto({ subsets: ["latin"], weight: ["400", "700"] });
+const openSans = Open_Sans({ subsets: ["latin"] });
+const playfairDisplay = Playfair_Display({ subsets: ["latin"] });
+const comicNeue = Comic_Neue({ subsets: ["latin"], weight: ["400", "700"] });
+
+// Export font class mapping for use in components
+export const FONT_CLASS_MAP = {
+ Inter: inter.className,
+ Roboto: roboto.className,
+ "Open Sans": openSans.className,
+ "Playfair Display": playfairDisplay.className,
+ "Comic Neue": comicNeue.className,
+ Arial: "",
+ Helvetica: "",
+ "Times New Roman": "",
+ Georgia: "",
+} as const;
+
+// Export individual fonts for use in layout
+export const fonts = {
+ inter,
+ roboto,
+ openSans,
+ playfairDisplay,
+ comicNeue,
+};
+
+// Default font for the body
+export const defaultFont = inter;