cbe51a6e67
Replace Inter/Baskerville with self-hosted Manrope/Alegreya/JetBrains Mono variable fonts. Migrate all colors from hex to OKLCH tokens (30+ CSS custom properties) with full dark/light mode support. Replace Unicode emoji with lucide-react SVG icons throughout. Convert all page layouts to inline styles (Tailwind CSS 4 flex/grid classes unreliable in this project). Code-split routes via React.lazy (760KB → 15KB initial shell + 10 lazy chunks). Add global styles: scrollbar theming, selection color, input/button bases, :focus-visible ring, prefers-reduced-motion. Setup wizard gets 4-phase indicator with numbered circles, PathInput and StatusDot components. Toast container gets aria-live="polite". Tab close buttons changed to proper <button> elements with aria-labels. All 8 pages (Dashboard, Editor, Build, Server, Toolset, Repos, Settings, Setup) rewritten with consistent card/section/button patterns.
53 lines
1.8 KiB
TypeScript
53 lines
1.8 KiB
TypeScript
import type { Config } from "tailwindcss";
|
|
|
|
export default {
|
|
content: ["./index.html", "./src/**/*.{ts,tsx}"],
|
|
darkMode: "class",
|
|
theme: {
|
|
extend: {
|
|
colors: {
|
|
forge: {
|
|
bg: "var(--forge-bg)",
|
|
surface: "var(--forge-surface)",
|
|
"surface-raised": "var(--forge-surface-raised)",
|
|
border: "var(--forge-border)",
|
|
accent: "var(--forge-accent)",
|
|
"accent-hover": "var(--forge-accent-hover)",
|
|
"accent-subtle": "var(--forge-accent-subtle)",
|
|
"accent-text": "var(--forge-accent-text)",
|
|
text: "var(--forge-text)",
|
|
"text-secondary": "var(--forge-text-secondary)",
|
|
success: "var(--forge-success)",
|
|
"success-bg": "var(--forge-success-bg)",
|
|
"success-border": "var(--forge-success-border)",
|
|
danger: "var(--forge-danger)",
|
|
"danger-bg": "var(--forge-danger-bg)",
|
|
"danger-border": "var(--forge-danger-border)",
|
|
"danger-strong": "var(--forge-danger-strong)",
|
|
warning: "var(--forge-warning)",
|
|
"warning-bg": "var(--forge-warning-bg)",
|
|
"warning-border": "var(--forge-warning-border)",
|
|
info: "var(--forge-info)",
|
|
"info-bg": "var(--forge-info-bg)",
|
|
"log-bg": "var(--forge-log-bg)",
|
|
"log-text": "var(--forge-log-text)",
|
|
},
|
|
},
|
|
fontFamily: {
|
|
sans: ["Manrope Variable", "system-ui", "sans-serif"],
|
|
heading: ["Alegreya Variable", "Georgia", "serif"],
|
|
mono: ["JetBrains Mono Variable", "Fira Code", "monospace"],
|
|
},
|
|
fontSize: {
|
|
xs: "var(--text-xs)",
|
|
sm: "var(--text-sm)",
|
|
base: "var(--text-base)",
|
|
lg: "var(--text-lg)",
|
|
xl: "var(--text-xl)",
|
|
"2xl": "var(--text-2xl)",
|
|
},
|
|
},
|
|
},
|
|
plugins: [],
|
|
} satisfies Config;
|