Editor: site-matched theme, Victor Mono font, no false TS errors

- Add spoon-dark/spoon-light Monaco themes built from the site's design tokens
  (teal --primary accent), switched by next-themes resolvedTheme
- Use Victor Mono (with ligatures + italic comments) for the editor font
- Disable Monaco's in-browser TS *semantic* diagnostics, which were false
  positives (no node_modules / path aliases in the browser) e.g. 'Cannot find
  module ~/server/auth'; keep real syntax-error reporting
This commit is contained in:
Gabriel Brown
2026-06-24 07:45:24 -04:00
parent ae90681d9b
commit 1072cf10cd
3 changed files with 197 additions and 4 deletions
+9 -2
View File
@@ -1,5 +1,5 @@
import type { Metadata, Viewport } from 'next';
import { Geist, Geist_Mono } from 'next/font/google';
import { Geist, Geist_Mono, Victor_Mono } from 'next/font/google';
import { env } from '@/env';
import '@/app/styles.css';
@@ -30,6 +30,13 @@ const geistMono = Geist_Mono({
subsets: ['latin'],
variable: '--font-geist-mono',
});
// Used by the workspace code editor (and, later, the terminal). Includes the
// italic cursive style for comments via Monaco's italic token styling.
const victorMono = Victor_Mono({
subsets: ['latin'],
variable: '--font-victor-mono',
display: 'swap',
});
const RootLayout = ({
children,
@@ -44,7 +51,7 @@ const RootLayout = ({
>
<html lang='en' suppressHydrationWarning>
<body
className={`${geistSans.variable} ${geistMono.variable} antialiased`}
className={`${geistSans.variable} ${geistMono.variable} ${victorMono.variable} antialiased`}
>
<ThemeProvider
attribute='class'