mirror of
https://github.com/AutoMaker-Org/automaker.git
synced 2026-02-04 21:23:07 +00:00
feat: add new themes, Zed fonts, and sort theme/font lists
New themes added: - Dark: Ayu Dark, Ayu Mirage, Ember, Matcha - Light: Ayu Light, One Light, Bluloco, Feather Other changes: - Bundle Zed Sans and Zed Mono fonts from zed-industries/zed-fonts - Sort font options alphabetically (default first) - Sort theme options alphabetically (Dark/Light first) - Improve Ayu Dark text contrast for better readability - Fix Matcha theme to have green undertone instead of blue
This commit is contained in:
@@ -1,8 +1,9 @@
|
||||
/**
|
||||
* Font options for per-project font customization
|
||||
*
|
||||
* These are system fonts (no bundled @fontsource packages required).
|
||||
* Users must have the fonts installed on their system for them to work.
|
||||
* All fonts listed here are bundled with the app via @fontsource packages
|
||||
* or custom font files (Zed fonts from zed-industries/zed-fonts).
|
||||
* They are self-hosted and will work without any system installation.
|
||||
*/
|
||||
|
||||
// Sentinel value for "use default font" - Radix Select doesn't allow empty strings
|
||||
@@ -14,34 +15,53 @@ export interface UIFontOption {
|
||||
}
|
||||
|
||||
/**
|
||||
* Sans/UI fonts for headings, labels, and general text
|
||||
* Sans/UI fonts for headings, labels, and general text (Top 10)
|
||||
*
|
||||
* 'default' value means "use the theme default" (Geist Sans for all themes)
|
||||
*/
|
||||
export const UI_SANS_FONT_OPTIONS: readonly UIFontOption[] = [
|
||||
{ value: DEFAULT_FONT_VALUE, label: 'Default (Geist Sans)' },
|
||||
{ value: "'Inter', system-ui, sans-serif", label: 'Inter' },
|
||||
{ value: "'SF Pro', system-ui, sans-serif", label: 'SF Pro' },
|
||||
// Sans fonts (alphabetical)
|
||||
{ value: 'Inter, system-ui, sans-serif', label: 'Inter' },
|
||||
{ value: 'Lato, system-ui, sans-serif', label: 'Lato' },
|
||||
{ value: 'Montserrat, system-ui, sans-serif', label: 'Montserrat' },
|
||||
{ value: "'Open Sans', system-ui, sans-serif", label: 'Open Sans' },
|
||||
{ value: 'Poppins, system-ui, sans-serif', label: 'Poppins' },
|
||||
{ value: 'Raleway, system-ui, sans-serif', label: 'Raleway' },
|
||||
{ value: 'Roboto, system-ui, sans-serif', label: 'Roboto' },
|
||||
{ value: "'Source Sans 3', system-ui, sans-serif", label: 'Source Sans' },
|
||||
{ value: "'IBM Plex Sans', system-ui, sans-serif", label: 'IBM Plex Sans' },
|
||||
{ value: "'Roboto', system-ui, sans-serif", label: 'Roboto' },
|
||||
{ value: 'system-ui, sans-serif', label: 'System Default' },
|
||||
{ value: "'Work Sans', system-ui, sans-serif", label: 'Work Sans' },
|
||||
{ value: "'Zed Sans', system-ui, sans-serif", label: 'Zed Sans' },
|
||||
// Monospace fonts (alphabetical, for users who prefer mono UI)
|
||||
{ value: "'Cascadia Code', monospace", label: 'Cascadia Code' },
|
||||
{ value: "'Fira Code', monospace", label: 'Fira Code' },
|
||||
{ value: "'IBM Plex Mono', monospace", label: 'IBM Plex Mono' },
|
||||
{ value: 'Inconsolata, monospace', label: 'Inconsolata' },
|
||||
{ value: 'Iosevka, monospace', label: 'Iosevka' },
|
||||
{ value: "'JetBrains Mono', monospace", label: 'JetBrains Mono' },
|
||||
{ value: "'Source Code Pro', monospace", label: 'Source Code Pro' },
|
||||
{ value: "'Zed Mono', monospace", label: 'Zed Mono' },
|
||||
] as const;
|
||||
|
||||
/**
|
||||
* Mono/code fonts for code blocks, terminals, and monospaced text
|
||||
* Mono/code fonts for code blocks, terminals, and monospaced text (Top 10)
|
||||
*
|
||||
* 'default' value means "use the theme default" (Geist Mono for all themes)
|
||||
* Many of these support ligatures for coding symbols (-> => != etc.)
|
||||
*/
|
||||
export const UI_MONO_FONT_OPTIONS: readonly UIFontOption[] = [
|
||||
{ value: DEFAULT_FONT_VALUE, label: 'Default (Geist Mono)' },
|
||||
{ value: "'JetBrains Mono', monospace", label: 'JetBrains Mono' },
|
||||
{ value: "'Fira Code', monospace", label: 'Fira Code' },
|
||||
{ value: "'SF Mono', Menlo, Monaco, monospace", label: 'SF Mono' },
|
||||
{ value: "'Source Code Pro', monospace", label: 'Source Code Pro' },
|
||||
{ value: "'IBM Plex Mono', monospace", label: 'IBM Plex Mono' },
|
||||
{ value: "Menlo, Monaco, 'Courier New', monospace", label: 'Menlo / Monaco' },
|
||||
// Bundled fonts (alphabetical)
|
||||
{ value: "'Cascadia Code', monospace", label: 'Cascadia Code' },
|
||||
{ value: "'Fira Code', monospace", label: 'Fira Code' },
|
||||
{ value: "'IBM Plex Mono', monospace", label: 'IBM Plex Mono' },
|
||||
{ value: 'Inconsolata, monospace', label: 'Inconsolata' },
|
||||
{ value: 'Iosevka, monospace', label: 'Iosevka' },
|
||||
{ value: "'JetBrains Mono', monospace", label: 'JetBrains Mono' },
|
||||
{ value: "'Source Code Pro', monospace", label: 'Source Code Pro' },
|
||||
{ value: "'Zed Mono', monospace", label: 'Zed Mono' },
|
||||
// System fonts
|
||||
{ value: 'Menlo, Monaco, monospace', label: 'Menlo / Monaco (macOS)' },
|
||||
] as const;
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user