authorgravatar for julius0216@outlook.comJulius Marminge <julius0216@outlook.com> 2026-06-09 16:57:38-07:00
committergravatar for noreply@github.comGitHub <noreply@github.com> 2026-06-09 16:57:38-07:00
logaca14507f729a1a8279cc77f8a94072d87e00e1b
treefc83028215ea98081d08824857a5ff045c8243ab
parent04f7f32aceb9965e3bad6205df3ae65881ab5af4
signature Signed by PGP key B5690EEEBB952194

Bundle DM Sans and JetBrains Mono fonts instead of Google Fonts (#3014)

Co-authored-by: ss <ss@barekey.dev> Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>

6 files changed, 32 insertions(+), 8 deletions(-)

apps/web/index.html+1-6
...@@ -48,6 +48,7 @@...@@ -48,6 +48,7 @@
48 background: #ffffff;48 background: #ffffff;
49 color: #262626;49 color: #262626;
50 font-family:50 font-family:
51 "DM Sans Variable",
51 "DM Sans",52 "DM Sans",
52 -apple-system,53 -apple-system,
53 BlinkMacSystemFont,54 BlinkMacSystemFont,
...@@ -83,12 +84,6 @@...@@ -83,12 +84,6 @@
83 object-fit: contain;84 object-fit: contain;
84 }85 }
85 </style>86 </style>
86 <link rel="preconnect" href="https://fonts.googleapis.com" />
87 <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
88 <link
89 href="https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300..800;1,9..40,300..800&display=swap"
90 rel="stylesheet"
91 />
92 <title>T3 Code (Alpha)</title>87 <title>T3 Code (Alpha)</title>
93 </head>88 </head>
94 <body>89 <body>
apps/web/package.json+2
...@@ -21,6 +21,8 @@...@@ -21,6 +21,8 @@
21 "@dnd-kit/sortable": "^10.0.0",21 "@dnd-kit/sortable": "^10.0.0",
22 "@dnd-kit/utilities": "^3.2.2",22 "@dnd-kit/utilities": "^3.2.2",
23 "@effect/atom-react": "catalog:",23 "@effect/atom-react": "catalog:",
24 "@fontsource-variable/dm-sans": "^5.2.8",
25 "@fontsource/jetbrains-mono": "^5.2.8",
24 "@formkit/auto-animate": "^0.9.0",26 "@formkit/auto-animate": "^0.9.0",
25 "@legendapp/list": "3.0.0-beta.44",27 "@legendapp/list": "3.0.0-beta.44",
26 "@lexical/react": "^0.41.0",28 "@lexical/react": "^0.41.0",
apps/web/src/components/ThreadTerminalDrawer.tsx+2-1
...@@ -329,7 +329,8 @@ export function TerminalViewport({...@@ -329,7 +329,8 @@ export function TerminalViewport({
329 lineHeight: 1.2,329 lineHeight: 1.2,
330 fontSize: 12,330 fontSize: 12,
331 scrollback: 5_000,331 scrollback: 5_000,
332 fontFamily: '"SF Mono", "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace',332 fontFamily:
333 '"SF Mono", "SFMono-Regular", "JetBrains Mono", Consolas, "Liberation Mono", Menlo, monospace',
333 theme: terminalThemeFromApp(mount),334 theme: terminalThemeFromApp(mount),
334 });335 });
335 terminal.loadAddon(fitAddon);336 terminal.loadAddon(fitAddon);
apps/web/src/index.css+8-1
...@@ -6,6 +6,11 @@...@@ -6,6 +6,11 @@
66
7@theme inline {7@theme inline {
8 --animate-skeleton: skeleton 2s -1s infinite linear;8 --animate-skeleton: skeleton 2s -1s infinite linear;
9 --font-sans:
10 "DM Sans Variable", "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui,
11 sans-serif;
12 --font-mono:
13 "SF Mono", "SFMono-Regular", "JetBrains Mono", Consolas, "Liberation Mono", Menlo, monospace;
9 --color-warning-foreground: var(--warning-foreground);14 --color-warning-foreground: var(--warning-foreground);
10 --color-warning: var(--warning);15 --color-warning: var(--warning);
11 --color-success-foreground: var(--success-foreground);16 --color-success-foreground: var(--success-foreground);
...@@ -146,6 +151,7 @@...@@ -146,6 +151,7 @@
146151
147body {152body {
148 font-family:153 font-family:
154 "DM Sans Variable",
149 "DM Sans",155 "DM Sans",
150 -apple-system,156 -apple-system,
151 BlinkMacSystemFont,157 BlinkMacSystemFont,
...@@ -191,7 +197,8 @@ body::after {...@@ -191,7 +197,8 @@ body::after {
191197
192pre,198pre,
193code {199code {
194 font-family: "SF Mono", "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;200 font-family:
201 "SF Mono", "SFMono-Regular", "JetBrains Mono", Consolas, "Liberation Mono", Menlo, monospace;
195}202}
196203
197/* Window drag region (frameless titlebar) */204/* Window drag region (frameless titlebar) */
apps/web/src/main.tsx+3
...@@ -4,6 +4,9 @@ import { ClerkProvider } from "@clerk/react";...@@ -4,6 +4,9 @@ import { ClerkProvider } from "@clerk/react";
4import { RouterProvider } from "@tanstack/react-router";4import { RouterProvider } from "@tanstack/react-router";
5import { createHashHistory, createBrowserHistory } from "@tanstack/react-router";5import { createHashHistory, createBrowserHistory } from "@tanstack/react-router";
66
7import "@fontsource-variable/dm-sans/index.css";
8import "@fontsource/jetbrains-mono/400.css";
9import "@fontsource/jetbrains-mono/500.css";
7import "@xterm/xterm/css/xterm.css";10import "@xterm/xterm/css/xterm.css";
8import "./index.css";11import "./index.css";
912
pnpm-lock.yaml+16
...@@ -455,6 +455,12 @@ importers:...@@ -455,6 +455,12 @@ importers:
455 '@effect/atom-react':455 '@effect/atom-react':
456 specifier: 4.0.0-beta.78456 specifier: 4.0.0-beta.78
457 version: 4.0.0-beta.78(effect@4.0.0-beta.78(patch_hash=883249d8efbb462e928e21fefef96027b66aec50751178cafdce45f08eee3754))(react@19.2.6)(scheduler@0.27.0)457 version: 4.0.0-beta.78(effect@4.0.0-beta.78(patch_hash=883249d8efbb462e928e21fefef96027b66aec50751178cafdce45f08eee3754))(react@19.2.6)(scheduler@0.27.0)
458 '@fontsource-variable/dm-sans':
459 specifier: ^5.2.8
460 version: 5.2.8
461 '@fontsource/jetbrains-mono':
462 specifier: ^5.2.8
463 version: 5.2.8
458 '@formkit/auto-animate':464 '@formkit/auto-animate':
459 specifier: ^0.9.0465 specifier: ^0.9.0
460 version: 0.9.0466 version: 0.9.0
...@@ -2364,6 +2370,12 @@ packages:...@@ -2364,6 +2370,12 @@ packages:
2364 '@floating-ui/utils@0.2.11':2370 '@floating-ui/utils@0.2.11':
2365 resolution: {integrity: sha512-RiB/yIh78pcIxl6lLMG0CgBXAZ2Y0eVHqMPYugu+9U0AeT6YBeiJpf7lbdJNIugFP5SIjwNRgo4DhR1Qxi26Gg==}2371 resolution: {integrity: sha512-RiB/yIh78pcIxl6lLMG0CgBXAZ2Y0eVHqMPYugu+9U0AeT6YBeiJpf7lbdJNIugFP5SIjwNRgo4DhR1Qxi26Gg==}
23662372
2373 '@fontsource-variable/dm-sans@5.2.8':
2374 resolution: {integrity: sha512-AxkvMTvNWgfrmlyjiV05vlHYJa+nRQCf1EfvIrQAPBpFJW0O9VTz7oAFr9S3lvbWdmnFoBk7yFqQL86u64nl2g==}
2375
2376 '@fontsource/jetbrains-mono@5.2.8':
2377 resolution: {integrity: sha512-6w8/SG4kqvIMu7xd7wt6x3idn1Qux3p9N62s6G3rfldOUYHpWcc2FKrqf+Vo44jRvqWj2oAtTHrZXEP23oSKwQ==}
2378
2367 '@formkit/auto-animate@0.9.0':2379 '@formkit/auto-animate@0.9.0':
2368 resolution: {integrity: sha512-VhP4zEAacXS3dfTpJpJ88QdLqMTcabMg0jwpOSxZ/VzfQVfl3GkZSCZThhGC5uhq/TxPHPzW0dzr4H9Bb1OgKA==}2380 resolution: {integrity: sha512-VhP4zEAacXS3dfTpJpJ88QdLqMTcabMg0jwpOSxZ/VzfQVfl3GkZSCZThhGC5uhq/TxPHPzW0dzr4H9Bb1OgKA==}
23692381
...@@ -11567,6 +11579,10 @@ snapshots:...@@ -11567,6 +11579,10 @@ snapshots:
1156711579
11568 '@floating-ui/utils@0.2.11': {}11580 '@floating-ui/utils@0.2.11': {}
1156911581
11582 '@fontsource-variable/dm-sans@5.2.8': {}
11583
11584 '@fontsource/jetbrains-mono@5.2.8': {}
11585
11570 '@formkit/auto-animate@0.9.0': {}11586 '@formkit/auto-animate@0.9.0': {}
1157111587
11572 '@hono/node-server@1.19.14(hono@4.12.23)':11588 '@hono/node-server@1.19.14(hono@4.12.23)':