aboutsummaryrefslogtreecommitdiff
path: root/apps/web/lib/fonts.ts
diff options
context:
space:
mode:
Diffstat (limited to 'apps/web/lib/fonts.ts')
-rw-r--r--apps/web/lib/fonts.ts55
1 files changed, 55 insertions, 0 deletions
diff --git a/apps/web/lib/fonts.ts b/apps/web/lib/fonts.ts
new file mode 100644
index 00000000..dd13c6b5
--- /dev/null
+++ b/apps/web/lib/fonts.ts
@@ -0,0 +1,55 @@
+import { DM_Mono, DM_Sans } from "next/font/google"
+import { cn } from "@lib/utils"
+
+// DM Sans font
+export const dmSansFont = DM_Sans({
+ subsets: ["latin"],
+ weight: ["400", "500", "700"],
+ variable: "--font-dm-sans",
+})
+
+// DM Mono font
+export const dmMonoFont = DM_Mono({
+ subsets: ["latin"],
+ weight: ["400"],
+ variable: "--font-dm-mono",
+})
+
+/**
+ * Utility function that combines dmSansFont.className with required typography styles
+ * (letter-spacing: -0.01em and line-height: 135%)
+ */
+export function dmSansClassName(additionalClasses?: string) {
+ return cn(
+ dmSansFont.className,
+ "tracking-[-0.01em]",
+ "leading-[135%]",
+ additionalClasses,
+ )
+}
+
+/**
+ * Utility function that combines dmSansFont.className with required typography styles
+ * (letter-spacing: -0.01em and line-height: 125%)
+ */
+export function dmSans125ClassName(additionalClasses?: string) {
+ return cn(
+ dmSansFont.className,
+ "tracking-[-0.01em]",
+ "leading-[125%]",
+ additionalClasses,
+ )
+}
+
+/**
+ * Utility function that combines dmMonoFont.className with required typography styles
+ * (letter-spacing: -0.01em and line-height: 135%)
+ */
+export function dmMonoClassName(additionalClasses?: string) {
+ return cn(
+ dmMonoFont.className,
+ "tracking-[-0.01em]",
+ "leading-[135%]",
+ additionalClasses,
+ )
+}