Move themes to JSON

This commit is contained in:
SirBlob committed 2026-11-01 20:46:34 -05:00
1 parent 0cfebc385f
commit 0d58ddd430
2 files changed
+99 -291

No files matched your search

+3 -291
View File
@@ -1,3 +1,5 @@
import themesData from '#content/themes.json';
export interface ThemePalette {
accent: string;
selection: string;
@@ -24,297 +26,7 @@ export interface Theme {
colors: ThemePalette;
}
export const themes: Theme[] = [
{
id: 'cerberus',
name: 'Cerberus',
mode: 'dark',
wallpaper: '/wallpapers/astronaut2.jpg',
activeBorder: ['#818cf8', '#e879f9'],
colors: {
accent: '#818cf8',
selection: '#404040',
muted: '#a3a3a3',
background: '#171717',
dark_background: '#0f0f0f',
lighter_background: '#262626',
foreground: '#f5f5f5',
red: '#ef4444',
yellow: '#fbbf24',
orange: '#fb923c',
green: '#2dd4bf',
cyan: '#67e8f9',
blue: '#818cf8',
magenta: '#e879f9'
}
},
{
id: 'flats',
name: 'Flats',
mode: 'dark',
wallpaper: '/wallpapers/pastel-car.jpg',
colors: {
accent: '#5fa3e8',
selection: '#1e2228',
muted: '#78828c',
background: '#0f1012',
dark_background: '#0a0b0c',
lighter_background: '#191c20',
foreground: '#cbd2d9',
red: '#d53838',
yellow: '#d58638',
orange: '#d56338',
green: '#38d586',
cyan: '#38d4d5',
blue: '#3886d5',
magenta: '#d53886'
}
},
{
id: 'tokyo-night',
name: 'Tokyo Night',
mode: 'dark',
wallpaper: '/wallpapers/sunset-lake.png',
colors: {
accent: '#7aa2f7',
selection: '#292e42',
muted: '#565f89',
background: '#1a1b26',
dark_background: '#13141c',
lighter_background: '#24283b',
foreground: '#a9b1d6',
red: '#f7768e',
yellow: '#e0af68',
orange: '#eb927b',
green: '#9ece6a',
cyan: '#449dab',
blue: '#7aa2f7',
magenta: '#ad8ee6'
}
},
{
id: 'night-cat',
name: 'Night Cat',
mode: 'dark',
wallpaper: '/wallpapers/cat.jpg',
activeBorder: ['#ebe68f', '#2c5a78'],
colors: {
accent: '#ebe68f',
selection: '#24495f',
muted: '#557386',
background: '#0a161e',
dark_background: '#060e14',
lighter_background: '#13252f',
foreground: '#c8d6df',
red: '#e06c75',
yellow: '#ebe68f',
orange: '#e5a46e',
green: '#8ccf9e',
cyan: '#6fc3d4',
blue: '#5a9cc4',
magenta: '#b392d4'
}
},
{
id: 'catppuccin',
name: 'Catppuccin',
mode: 'dark',
wallpaper: '/wallpapers/totoro.png',
colors: {
accent: '#89b4fa',
selection: '#45475a',
muted: '#6c7086',
background: '#1e1e2e',
dark_background: '#161622',
lighter_background: '#313244',
foreground: '#cdd6f4',
red: '#f38ba8',
yellow: '#f9e2af',
orange: '#fab387',
green: '#a6e3a1',
cyan: '#94e2d5',
blue: '#89b4fa',
magenta: '#cba6f7'
}
},
{
id: 'arch',
name: 'Arch Linux',
mode: 'dark',
wallpaper: '/wallpapers/pacman-black.png',
activeBorder: ['#33ccff', '#00ff99'],
colors: {
accent: '#1793d1',
selection: '#21262d',
muted: '#8b949e',
background: '#0d1117',
dark_background: '#090c10',
lighter_background: '#161b22',
foreground: '#c9d1d9',
red: '#ff7b72',
yellow: '#d29922',
orange: '#ffa657',
green: '#3fb950',
cyan: '#39c5cf',
blue: '#58a6ff',
magenta: '#bc8cff'
}
},
{
id: 'gruvbox',
name: 'Gruvbox',
mode: 'dark',
wallpaper: '/wallpapers/awesome.png',
colors: {
accent: '#7daea3',
selection: '#504945',
muted: '#928374',
background: '#282828',
dark_background: '#1e1e1e',
lighter_background: '#3c3836',
foreground: '#d4be98',
red: '#ea6962',
yellow: '#d8a657',
orange: '#e1875c',
green: '#a9b665',
cyan: '#89b482',
blue: '#7daea3',
magenta: '#d3869b'
}
},
{
id: 'nord',
name: 'Nord',
mode: 'dark',
wallpaper: '/wallpapers/nord_minimal_cat.png',
colors: {
accent: '#81a1c1',
selection: '#434c5e',
muted: '#7b88a1',
background: '#2e3440',
dark_background: '#222730',
lighter_background: '#3b4252',
foreground: '#d8dee9',
red: '#bf616a',
yellow: '#ebcb8b',
orange: '#d5967a',
green: '#a3be8c',
cyan: '#88c0d0',
blue: '#81a1c1',
magenta: '#b48ead'
}
},
{
id: 'kanagawa',
name: 'Kanagawa',
mode: 'dark',
wallpaper: '/wallpapers/pixel-earth.png',
colors: {
accent: '#dcd7ba',
selection: '#363646',
muted: '#727169',
background: '#1f1f28',
dark_background: '#17171e',
lighter_background: '#2a2a37',
foreground: '#dcd7ba',
red: '#c34043',
yellow: '#c0a36e',
orange: '#c17158',
green: '#76946a',
cyan: '#6a9589',
blue: '#7e9cd8',
magenta: '#957fb8'
}
},
{
id: 'wintry',
name: 'Wintry',
mode: 'dark',
wallpaper: '/wallpapers/perfect-blue.jpg',
colors: {
accent: '#7dd3fc',
selection: '#334155',
muted: '#94a3b8',
background: '#0f172a',
dark_background: '#0a1020',
lighter_background: '#1e293b',
foreground: '#f1f5f9',
red: '#f43f5e',
yellow: '#fde047',
orange: '#fb923c',
green: '#4ade80',
cyan: '#67e8f9',
blue: '#60a5fa',
magenta: '#c084fc'
}
},
{
id: 'rose',
name: 'Rose',
mode: 'dark',
wallpaper: '/wallpapers/cherry_blossoms.jpg',
colors: {
accent: '#fb7185',
selection: '#5f484f',
muted: '#c48b95',
background: '#1f181b',
dark_background: '#171214',
lighter_background: '#2e2327',
foreground: '#ffe4e6',
red: '#f43f5e',
yellow: '#fde047',
orange: '#fb923c',
green: '#34d399',
cyan: '#67e8f9',
blue: '#60a5fa',
magenta: '#e879f9'
}
},
{
id: 'catppuccin-latte',
name: 'Catppuccin Latte',
mode: 'light',
wallpaper: '/wallpapers/yosemite-color-block.jpg',
colors: {
accent: '#1e66f5',
selection: '#ccd0da',
muted: '#8c8fa1',
background: '#eff1f5',
dark_background: '#e3e4e8',
lighter_background: '#dce0e8',
foreground: '#4c4f69',
red: '#d20f39',
yellow: '#df8e1d',
orange: '#d84e2b',
green: '#40a02b',
cyan: '#179299',
blue: '#1e66f5',
magenta: '#ea76cb'
}
},
{
id: 'rose-pine',
name: 'Rose Pine Dawn',
mode: 'light',
wallpaper: '/wallpapers/material-pastel.jpg',
colors: {
accent: '#56949f',
selection: '#dfdad9',
muted: '#9893a5',
background: '#faf4ed',
dark_background: '#ede7e1',
lighter_background: '#f2e9e1',
foreground: '#575279',
red: '#b4637a',
yellow: '#ea9d34',
orange: '#cf8057',
green: '#286983',
cyan: '#d7827e',
blue: '#56949f',
magenta: '#907aa9'
}
}
];
export const themes: Theme[] = themesData as Theme[];
export function findTheme(id: string | null | undefined): Theme | undefined {
return themes.find((theme) => theme.id === id);