Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# Font files (copied from node_modules during build)
public/fonts/

# OSX
.DS_Store

Expand Down
1 change: 1 addition & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -145,6 +145,7 @@ build-renderer: node_modules/.installed src/version.ts ## Build renderer process
build-static: ## Copy static assets to dist
@echo "Copying static assets..."
@mkdir -p dist
@./scripts/copy-fonts.sh
@cp static/splash.html dist/splash.html
@cp -r public/* dist/

Expand Down
87 changes: 86 additions & 1 deletion bun.lock

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,7 @@
"eslint-plugin-react-hooks": "^5.2.0",
"eslint-plugin-storybook": "10.0.0",
"eslint-plugin-tailwindcss": "4.0.0-beta.0",
"geist": "^1.5.1",
"jest": "^30.1.3",
"mermaid": "^11.12.0",
"nodemon": "^3.1.10",
Expand Down
Binary file added public/fonts/geist-mono/GeistMono-Variable.woff2
Binary file not shown.
Binary file added public/fonts/geist-sans/Geist-Variable.woff2
Binary file not shown.
18 changes: 18 additions & 0 deletions scripts/copy-fonts.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
#!/usr/bin/env bash
# Copy Geist fonts from node_modules to public/fonts
set -euo pipefail

SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$(cd "${SCRIPT_DIR}/.." && pwd)"

mkdir -p "${PROJECT_ROOT}/public/fonts/geist-sans"
mkdir -p "${PROJECT_ROOT}/public/fonts/geist-mono"

# Copy variable fonts (support weights 100-900)
cp "${PROJECT_ROOT}/node_modules/geist/dist/fonts/geist-sans/Geist-Variable.woff2" \
"${PROJECT_ROOT}/public/fonts/geist-sans/"

cp "${PROJECT_ROOT}/node_modules/geist/dist/fonts/geist-mono/GeistMono-Variable.woff2" \
"${PROJECT_ROOT}/public/fonts/geist-mono/"

echo "✓ Copied Geist variable fonts to public/fonts/"
30 changes: 24 additions & 6 deletions src/styles/globals.css
Original file line number Diff line number Diff line change
@@ -1,6 +1,23 @@
@import "tailwindcss";
@source "../node_modules/streamdown/dist/index.js";

/* Geist Font Declarations */
@font-face {
font-family: "Geist";
src: url("/fonts/geist-sans/Geist-Variable.woff2") format("woff2");
font-weight: 100 900;
font-style: normal;
font-display: swap;
}

@font-face {
font-family: "Geist Mono";
src: url("/fonts/geist-mono/GeistMono-Variable.woff2") format("woff2");
font-weight: 100 900;
font-style: normal;
font-display: swap;
}

@theme {
/* Mode Colors */
--color-plan-mode: hsl(210 70% 40%);
Expand Down Expand Up @@ -205,15 +222,16 @@
--color-token-cached: hsl(0 0% 50%);

/* Font Variables */
/* Primary UI Font - System fonts for best native appearance */
/* Primary UI Font - San Francisco on macOS, Geist on Windows/Linux */
--font-primary:
system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Arial,
sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
-apple-system, BlinkMacSystemFont, "Geist", system-ui, "Segoe UI", "Roboto",
"Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji",
"Segoe UI Symbol";

/* Monospace Font - Code and technical content */
/* Monospace Font - System monospace on macOS, Geist Mono on Windows/Linux */
--font-monospace:
"Monaco", "Menlo", "Ubuntu Mono", "Consolas", "Courier New", monospace, "Apple Color Emoji",
"Segoe UI Emoji", "Segoe UI Symbol";
"Monaco", "Menlo", "Geist Mono", "Ubuntu Mono", "Consolas", "Courier New", monospace,
"Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}

body {
Expand Down
Loading