refactor: cleanup

This commit is contained in:
zhom
2026-05-05 22:33:43 +04:00
parent 904dda2bad
commit 34450ad06b
29 changed files with 1312 additions and 369 deletions
+414 -99
View File
@@ -197,38 +197,45 @@ export const THEMES: Theme[] = [
{
id: "ayu-light",
name: "Ayu Light",
// Source: ayu-theme/ayu-colors light.yaml. Primary uses the iconic
// Ayu orange instead of blue — that's the colour the theme is known for.
colors: {
"--background": "#fafafa",
"--foreground": "#5c6773",
"--card": "#ffffff",
"--card-foreground": "#5c6773",
"--background": "#f8f9fa",
"--foreground": "#5c6166",
"--card": "#fcfcfc",
"--card-foreground": "#5c6166",
"--popover": "#ffffff",
"--popover-foreground": "#5c6773",
"--primary": "#399ee6",
"--primary-foreground": "#fafafa",
"--secondary": "#fa8d3e",
"--secondary-foreground": "#fafafa",
"--muted": "#f0f0f0",
"--muted-foreground": "#828c99",
"--popover-foreground": "#5c6166",
"--primary": "#f29718",
"--primary-foreground": "#ffffff",
"--secondary": "#399ee6",
"--secondary-foreground": "#ffffff",
"--muted": "#ebeef0",
"--muted-foreground": "#828e9f",
"--accent": "#a37acc",
"--accent-foreground": "#fafafa",
"--destructive": "#f07178",
"--destructive-foreground": "#fafafa",
"--accent-foreground": "#ffffff",
"--destructive": "#e65050",
"--destructive-foreground": "#ffffff",
"--success": "#86b300",
"--success-foreground": "#fafafa",
"--warning": "#fa8d3e",
"--warning-foreground": "#fafafa",
"--border": "#e7eaed",
"--chart-1": "#399ee6",
"--success-foreground": "#ffffff",
"--warning": "#fa8532",
"--warning-foreground": "#ffffff",
"--border": "#c8d0d6",
"--chart-1": "#f29718",
"--chart-2": "#86b300",
"--chart-3": "#a37acc",
"--chart-4": "#fa8d3e",
"--chart-5": "#f07178",
"--chart-4": "#399ee6",
"--chart-5": "#4cbf99",
},
},
{
id: "catppuccin-latte",
name: "Catppuccin Latte",
// Source: github.com/catppuccin/palette/blob/main/palette.json
// Primary uses mauve (purple) — the colour Catppuccin is most known
// for — instead of blue, to differentiate from the many blue themes.
// Frappé and Macchiato variants intentionally omitted; they're tonal
// mid-points between Latte and Mocha and added little variety.
colors: {
"--background": "#eff1f5",
"--foreground": "#4c4f69",
@@ -236,13 +243,13 @@ export const THEMES: Theme[] = [
"--card-foreground": "#4c4f69",
"--popover": "#ccd0da",
"--popover-foreground": "#4c4f69",
"--primary": "#1e66f5",
"--primary": "#8839ef",
"--primary-foreground": "#eff1f5",
"--secondary": "#04a5e5",
"--secondary": "#1e66f5",
"--secondary-foreground": "#eff1f5",
"--muted": "#bcc0cc",
"--muted-foreground": "#5c5f77",
"--accent": "#8839ef",
"--muted-foreground": "#6c6f85",
"--accent": "#ea76cb",
"--accent-foreground": "#eff1f5",
"--destructive": "#d20f39",
"--destructive-foreground": "#eff1f5",
@@ -251,80 +258,18 @@ export const THEMES: Theme[] = [
"--warning": "#df8e1d",
"--warning-foreground": "#eff1f5",
"--border": "#9ca0b0",
"--chart-1": "#1e66f5",
"--chart-1": "#8839ef",
"--chart-2": "#40a02b",
"--chart-3": "#8839ef",
"--chart-3": "#ea76cb",
"--chart-4": "#04a5e5",
"--chart-5": "#df8e1d",
},
},
{
id: "catppuccin-frappe",
name: "Catppuccin Frappe",
colors: {
"--background": "#303446",
"--foreground": "#c6d0f5",
"--card": "#414559",
"--card-foreground": "#c6d0f5",
"--popover": "#414559",
"--popover-foreground": "#c6d0f5",
"--primary": "#8caaee",
"--primary-foreground": "#303446",
"--secondary": "#99d1db",
"--secondary-foreground": "#303446",
"--muted": "#51576d",
"--muted-foreground": "#b5bfe2",
"--accent": "#ca9ee6",
"--accent-foreground": "#303446",
"--destructive": "#e78284",
"--destructive-foreground": "#303446",
"--success": "#a6d189",
"--success-foreground": "#303446",
"--warning": "#e5c890",
"--warning-foreground": "#303446",
"--border": "#737994",
"--chart-1": "#8caaee",
"--chart-2": "#a6d189",
"--chart-3": "#ca9ee6",
"--chart-4": "#99d1db",
"--chart-5": "#e5c890",
},
},
{
id: "catppuccin-macchiato",
name: "Catppuccin Macchiato",
colors: {
"--background": "#24273a",
"--foreground": "#cad3f5",
"--card": "#363a4f",
"--card-foreground": "#cad3f5",
"--popover": "#363a4f",
"--popover-foreground": "#cad3f5",
"--primary": "#8aadf4",
"--primary-foreground": "#24273a",
"--secondary": "#91d7e3",
"--secondary-foreground": "#24273a",
"--muted": "#494d64",
"--muted-foreground": "#b8c0e0",
"--accent": "#c6a0f6",
"--accent-foreground": "#24273a",
"--destructive": "#ed8796",
"--destructive-foreground": "#24273a",
"--success": "#a6da95",
"--success-foreground": "#24273a",
"--warning": "#eed49f",
"--warning-foreground": "#24273a",
"--border": "#6e738d",
"--chart-1": "#8aadf4",
"--chart-2": "#a6da95",
"--chart-3": "#c6a0f6",
"--chart-4": "#91d7e3",
"--chart-5": "#eed49f",
"--chart-5": "#fe640b",
},
},
{
id: "catppuccin-mocha",
name: "Catppuccin Mocha",
// Source: github.com/catppuccin/palette/blob/main/palette.json
// Primary uses mauve (purple) — Catppuccin's signature colour.
colors: {
"--background": "#1e1e2e",
"--foreground": "#cdd6f4",
@@ -332,13 +277,13 @@ export const THEMES: Theme[] = [
"--card-foreground": "#cdd6f4",
"--popover": "#313244",
"--popover-foreground": "#cdd6f4",
"--primary": "#89b4fa",
"--primary": "#cba6f7",
"--primary-foreground": "#1e1e2e",
"--secondary": "#89dceb",
"--secondary": "#89b4fa",
"--secondary-foreground": "#1e1e2e",
"--muted": "#45475a",
"--muted-foreground": "#bac2de",
"--accent": "#cba6f7",
"--muted-foreground": "#a6adc8",
"--accent": "#f5c2e7",
"--accent-foreground": "#1e1e2e",
"--destructive": "#f38ba8",
"--destructive-foreground": "#1e1e2e",
@@ -347,11 +292,381 @@ export const THEMES: Theme[] = [
"--warning": "#f9e2af",
"--warning-foreground": "#1e1e2e",
"--border": "#585b70",
"--chart-1": "#89b4fa",
"--chart-1": "#cba6f7",
"--chart-2": "#a6e3a1",
"--chart-3": "#cba6f7",
"--chart-3": "#f5c2e7",
"--chart-4": "#89dceb",
"--chart-5": "#f9e2af",
"--chart-5": "#fab387",
},
},
{
id: "nord",
name: "Nord",
// Source: nordtheme.com/docs/colors-and-palettes (Polar Night / Snow Storm / Frost / Aurora)
colors: {
"--background": "#2e3440",
"--foreground": "#d8dee9",
"--card": "#3b4252",
"--card-foreground": "#d8dee9",
"--popover": "#3b4252",
"--popover-foreground": "#d8dee9",
"--primary": "#81a1c1",
"--primary-foreground": "#2e3440",
"--secondary": "#88c0d0",
"--secondary-foreground": "#2e3440",
"--muted": "#434c5e",
"--muted-foreground": "#d8dee9",
"--accent": "#b48ead",
"--accent-foreground": "#2e3440",
"--destructive": "#bf616a",
"--destructive-foreground": "#eceff4",
"--success": "#a3be8c",
"--success-foreground": "#2e3440",
"--warning": "#ebcb8b",
"--warning-foreground": "#2e3440",
"--border": "#4c566a",
"--chart-1": "#81a1c1",
"--chart-2": "#a3be8c",
"--chart-3": "#b48ead",
"--chart-4": "#88c0d0",
"--chart-5": "#d08770",
},
},
{
id: "gruvbox-dark",
name: "Gruvbox Dark",
// Source: github.com/morhetz/gruvbox medium-contrast dark palette.
// Primary uses the iconic Gruvbox orange instead of blue.
colors: {
"--background": "#282828",
"--foreground": "#ebdbb2",
"--card": "#3c3836",
"--card-foreground": "#ebdbb2",
"--popover": "#3c3836",
"--popover-foreground": "#ebdbb2",
"--primary": "#fe8019",
"--primary-foreground": "#282828",
"--secondary": "#83a598",
"--secondary-foreground": "#282828",
"--muted": "#504945",
"--muted-foreground": "#a89984",
"--accent": "#d3869b",
"--accent-foreground": "#282828",
"--destructive": "#fb4934",
"--destructive-foreground": "#282828",
"--success": "#b8bb26",
"--success-foreground": "#282828",
"--warning": "#fabd2f",
"--warning-foreground": "#282828",
"--border": "#665c54",
"--chart-1": "#fe8019",
"--chart-2": "#b8bb26",
"--chart-3": "#d3869b",
"--chart-4": "#83a598",
"--chart-5": "#8ec07c",
},
},
{
id: "gruvbox-light",
name: "Gruvbox Light",
// Source: github.com/morhetz/gruvbox medium-contrast light palette.
// Primary uses the iconic Gruvbox orange instead of blue.
colors: {
"--background": "#fbf1c7",
"--foreground": "#3c3836",
"--card": "#ebdbb2",
"--card-foreground": "#3c3836",
"--popover": "#ebdbb2",
"--popover-foreground": "#3c3836",
"--primary": "#af3a03",
"--primary-foreground": "#fbf1c7",
"--secondary": "#076678",
"--secondary-foreground": "#fbf1c7",
"--muted": "#d5c4a1",
"--muted-foreground": "#7c6f64",
"--accent": "#8f3f71",
"--accent-foreground": "#fbf1c7",
"--destructive": "#9d0006",
"--destructive-foreground": "#fbf1c7",
"--success": "#79740e",
"--success-foreground": "#fbf1c7",
"--warning": "#b57614",
"--warning-foreground": "#fbf1c7",
"--border": "#a89984",
"--chart-1": "#af3a03",
"--chart-2": "#79740e",
"--chart-3": "#8f3f71",
"--chart-4": "#076678",
"--chart-5": "#427b58",
},
},
{
id: "solarized-dark",
name: "Solarized Dark",
// Source: ethanschoonover.com/solarized — base03 / base02 / base01 / base00 / base0 / base1
colors: {
"--background": "#002b36",
"--foreground": "#839496",
"--card": "#073642",
"--card-foreground": "#839496",
"--popover": "#073642",
"--popover-foreground": "#839496",
"--primary": "#268bd2",
"--primary-foreground": "#002b36",
"--secondary": "#2aa198",
"--secondary-foreground": "#002b36",
"--muted": "#073642",
"--muted-foreground": "#93a1a1",
"--accent": "#6c71c4",
"--accent-foreground": "#fdf6e3",
"--destructive": "#dc322f",
"--destructive-foreground": "#fdf6e3",
"--success": "#859900",
"--success-foreground": "#002b36",
"--warning": "#b58900",
"--warning-foreground": "#002b36",
"--border": "#586e75",
"--chart-1": "#268bd2",
"--chart-2": "#859900",
"--chart-3": "#6c71c4",
"--chart-4": "#2aa198",
"--chart-5": "#cb4b16",
},
},
{
id: "solarized-light",
name: "Solarized Light",
// Source: ethanschoonover.com/solarized — same accents, inverted base scale
colors: {
"--background": "#fdf6e3",
"--foreground": "#657b83",
"--card": "#eee8d5",
"--card-foreground": "#657b83",
"--popover": "#eee8d5",
"--popover-foreground": "#657b83",
"--primary": "#268bd2",
"--primary-foreground": "#fdf6e3",
"--secondary": "#2aa198",
"--secondary-foreground": "#fdf6e3",
"--muted": "#eee8d5",
"--muted-foreground": "#93a1a1",
"--accent": "#6c71c4",
"--accent-foreground": "#fdf6e3",
"--destructive": "#dc322f",
"--destructive-foreground": "#fdf6e3",
"--success": "#859900",
"--success-foreground": "#fdf6e3",
"--warning": "#b58900",
"--warning-foreground": "#fdf6e3",
"--border": "#cdc7b3",
"--chart-1": "#268bd2",
"--chart-2": "#859900",
"--chart-3": "#6c71c4",
"--chart-4": "#2aa198",
"--chart-5": "#cb4b16",
},
},
{
id: "one-dark",
name: "One Dark",
// Source: github.com/atom/atom one-dark-syntax/styles/colors.less (mono-1, hue-1..6)
colors: {
"--background": "#282c34",
"--foreground": "#abb2bf",
"--card": "#21252b",
"--card-foreground": "#abb2bf",
"--popover": "#21252b",
"--popover-foreground": "#abb2bf",
"--primary": "#61afef",
"--primary-foreground": "#282c34",
"--secondary": "#56b6c2",
"--secondary-foreground": "#282c34",
"--muted": "#3e4451",
"--muted-foreground": "#7d8590",
"--accent": "#c678dd",
"--accent-foreground": "#282c34",
"--destructive": "#e06c75",
"--destructive-foreground": "#282c34",
"--success": "#98c379",
"--success-foreground": "#282c34",
"--warning": "#e5c07b",
"--warning-foreground": "#282c34",
"--border": "#3e4451",
"--chart-1": "#61afef",
"--chart-2": "#98c379",
"--chart-3": "#c678dd",
"--chart-4": "#56b6c2",
"--chart-5": "#d19a66",
},
},
{
id: "monokai-pro",
name: "Monokai Pro",
// Source: classic Monokai filter (monokai-pro.nvim palette/classic.lua).
// Primary uses Monokai's signature green instead of cyan.
colors: {
"--background": "#272822",
"--foreground": "#fdfff1",
"--card": "#1d1e19",
"--card-foreground": "#fdfff1",
"--popover": "#1d1e19",
"--popover-foreground": "#fdfff1",
"--primary": "#a6e22e",
"--primary-foreground": "#272822",
"--secondary": "#66d9ef",
"--secondary-foreground": "#272822",
"--muted": "#3b3c35",
"--muted-foreground": "#919288",
"--accent": "#ae81ff",
"--accent-foreground": "#272822",
"--destructive": "#f92672",
"--destructive-foreground": "#fdfff1",
"--success": "#a6e22e",
"--success-foreground": "#272822",
"--warning": "#e6db74",
"--warning-foreground": "#272822",
"--border": "#57584f",
"--chart-1": "#a6e22e",
"--chart-2": "#66d9ef",
"--chart-3": "#ae81ff",
"--chart-4": "#e6db74",
"--chart-5": "#fd971f",
},
},
{
id: "rose-pine",
name: "Rosé Pine",
// Source: github.com/rose-pine/palette/blob/main/palette.json.
// Primary uses iris (purple) — the iconic Rosé Pine accent — and
// success uses pine. Destructive stays love (pink), which is correct
// for the palette's red role.
colors: {
"--background": "#191724",
"--foreground": "#e0def4",
"--card": "#1f1d2e",
"--card-foreground": "#e0def4",
"--popover": "#1f1d2e",
"--popover-foreground": "#e0def4",
"--primary": "#c4a7e7",
"--primary-foreground": "#191724",
"--secondary": "#9ccfd8",
"--secondary-foreground": "#191724",
"--muted": "#26233a",
"--muted-foreground": "#908caa",
"--accent": "#ebbcba",
"--accent-foreground": "#191724",
"--destructive": "#eb6f92",
"--destructive-foreground": "#191724",
"--success": "#31748f",
"--success-foreground": "#e0def4",
"--warning": "#f6c177",
"--warning-foreground": "#191724",
"--border": "#403d52",
"--chart-1": "#c4a7e7",
"--chart-2": "#9ccfd8",
"--chart-3": "#ebbcba",
"--chart-4": "#eb6f92",
"--chart-5": "#f6c177",
},
},
{
id: "rose-pine-dawn",
name: "Rosé Pine Dawn",
// Source: github.com/rose-pine/palette/blob/main/palette.json (dawn variant).
// Primary uses iris (purple) for parity with the dark variant.
colors: {
"--background": "#faf4ed",
"--foreground": "#575279",
"--card": "#fffaf3",
"--card-foreground": "#575279",
"--popover": "#fffaf3",
"--popover-foreground": "#575279",
"--primary": "#907aa9",
"--primary-foreground": "#faf4ed",
"--secondary": "#56949f",
"--secondary-foreground": "#faf4ed",
"--muted": "#f2e9e1",
"--muted-foreground": "#797593",
"--accent": "#d7827e",
"--accent-foreground": "#faf4ed",
"--destructive": "#b4637a",
"--destructive-foreground": "#faf4ed",
"--success": "#286983",
"--success-foreground": "#faf4ed",
"--warning": "#ea9d34",
"--warning-foreground": "#faf4ed",
"--border": "#cecacd",
"--chart-1": "#907aa9",
"--chart-2": "#56949f",
"--chart-3": "#d7827e",
"--chart-4": "#b4637a",
"--chart-5": "#ea9d34",
},
},
{
id: "github-dark",
name: "GitHub Dark",
// Source: github.com/primer/primitives base color tokens (dark default)
colors: {
"--background": "#0d1117",
"--foreground": "#f0f6fc",
"--card": "#151b23",
"--card-foreground": "#f0f6fc",
"--popover": "#151b23",
"--popover-foreground": "#f0f6fc",
"--primary": "#1f6feb",
"--primary-foreground": "#f0f6fc",
"--secondary": "#58a6ff",
"--secondary-foreground": "#0d1117",
"--muted": "#212830",
"--muted-foreground": "#9198a1",
"--accent": "#8957e5",
"--accent-foreground": "#f0f6fc",
"--destructive": "#da3633",
"--destructive-foreground": "#f0f6fc",
"--success": "#238636",
"--success-foreground": "#f0f6fc",
"--warning": "#d29922",
"--warning-foreground": "#0d1117",
"--border": "#3d444d",
"--chart-1": "#1f6feb",
"--chart-2": "#238636",
"--chart-3": "#8957e5",
"--chart-4": "#58a6ff",
"--chart-5": "#db6d28",
},
},
{
id: "github-light",
name: "GitHub Light",
// Source: github.com/primer/primitives base color tokens (light default)
colors: {
"--background": "#ffffff",
"--foreground": "#25292e",
"--card": "#f6f8fa",
"--card-foreground": "#25292e",
"--popover": "#f6f8fa",
"--popover-foreground": "#25292e",
"--primary": "#0969da",
"--primary-foreground": "#ffffff",
"--secondary": "#54aeff",
"--secondary-foreground": "#ffffff",
"--muted": "#eff2f5",
"--muted-foreground": "#59636e",
"--accent": "#8250df",
"--accent-foreground": "#ffffff",
"--destructive": "#cf222e",
"--destructive-foreground": "#ffffff",
"--success": "#1a7f37",
"--success-foreground": "#ffffff",
"--warning": "#bf8700",
"--warning-foreground": "#ffffff",
"--border": "#d1d9e0",
"--chart-1": "#0969da",
"--chart-2": "#1a7f37",
"--chart-3": "#8250df",
"--chart-4": "#54aeff",
"--chart-5": "#bc4c00",
},
},
];