|
2 | 2 | import { BadgeTheme } from '../../types'; |
3 | 3 | import { hexColor } from './sanitizer'; |
4 | 4 |
|
5 | | -function makeTheme(bg: string, text: string, accent: string): BadgeTheme { |
| 5 | +function makeTheme(bg: string, text: string, accent: string, negative?: string): BadgeTheme { |
6 | 6 | return { |
7 | 7 | bg: hexColor(bg), |
8 | 8 | text: hexColor(text), |
9 | 9 | accent: hexColor(accent), |
| 10 | + negative: negative ? hexColor(negative) : undefined, |
10 | 11 | }; |
11 | 12 | } |
12 | 13 |
|
13 | 14 | export const themes: Record<string, BadgeTheme> = { |
14 | | - dark: makeTheme('0d1117', 'c9d1d9', '58a6ff'), |
15 | | - light: makeTheme('ffffff', '24292f', '0969da'), |
16 | | - neon: makeTheme('000000', '00ffcc', 'ff00ff'), |
17 | | - github: makeTheme('0d1117', 'ffffff', '39d353'), |
18 | | - dracula: makeTheme('282a36', 'f8f8f2', 'bd93f9'), |
19 | | - ocean: makeTheme('0a192f', 'ccd6f6', '64ffda'), |
20 | | - sunset: makeTheme('1a0a0a', 'ffd6c0', 'ff6b35'), |
21 | | - forest: makeTheme('0d1f0d', 'c8f0c8', '39d353'), |
22 | | - rose: makeTheme('1f0d14', 'f0c8d4', 'ff6b9d'), |
23 | | - nord: makeTheme('2e3440', 'd8dee9', '88c0d0'), |
24 | | - synthwave: makeTheme('0d0221', 'f8f8f2', 'ff2d78'), |
25 | | - gruvbox: makeTheme('282828', 'ebdbb2', 'fe8019'), |
26 | | - aurora_cyberpunk: makeTheme('090B13', 'EAF2FF', '9D5CFF'), |
27 | | - highcontrast: makeTheme('0a0a0a', 'ffffff', 'ff4500'), |
28 | | - catppuccin_latte: makeTheme('eff1f5', '4c4f69', '1e66f5'), |
29 | | - solarized_light: makeTheme('fdf6e3', '586e75', '268bd2'), |
30 | | - gruvbox_light: makeTheme('fbf1c7', '3c3836', 'd65d0e'), |
31 | | - nord_light: makeTheme('eceff4', '2e3440', '5e81ac'), |
32 | | - 'cyber-pulse': makeTheme('000000', 'ffffff', '00ffee'), |
| 15 | + dark: makeTheme('0d1117', 'c9d1d9', '58a6ff', 'f85149'), |
| 16 | + light: makeTheme('ffffff', '24292f', '0969da', 'cf222e'), |
| 17 | + neon: makeTheme('000000', '00ffcc', 'ff00ff', 'ff0055'), |
| 18 | + github: makeTheme('0d1117', 'ffffff', '39d353', 'f85149'), |
| 19 | + dracula: makeTheme('282a36', 'f8f8f2', 'bd93f9', 'ff5555'), |
| 20 | + ocean: makeTheme('0a192f', 'ccd6f6', '64ffda', 'ff6b6b'), |
| 21 | + sunset: makeTheme('1a0a0a', 'ffd6c0', 'ff6b35', 'ff4d4d'), |
| 22 | + forest: makeTheme('0d1f0d', 'c8f0c8', '39d353', 'ff6b6b'), |
| 23 | + rose: makeTheme('1f0d14', 'f0c8d4', 'ff6b9d', 'ff4b72'), |
| 24 | + nord: makeTheme('2e3440', 'd8dee9', '88c0d0', 'bf616a'), |
| 25 | + synthwave: makeTheme('0d0221', 'f8f8f2', 'ff2d78', 'ff3864'), |
| 26 | + gruvbox: makeTheme('282828', 'ebdbb2', 'fe8019', 'fb4934'), |
| 27 | + aurora_cyberpunk: makeTheme('090B13', 'EAF2FF', '9D5CFF', 'FF3366'), |
| 28 | + highcontrast: makeTheme('0a0a0a', 'ffffff', 'ff4500', 'ff3333'), |
| 29 | + catppuccin_latte: makeTheme('eff1f5', '4c4f69', '1e66f5', 'd20f39'), |
| 30 | + solarized_light: makeTheme('fdf6e3', '586e75', '268bd2', 'dc322f'), |
| 31 | + gruvbox_light: makeTheme('fbf1c7', '3c3836', 'd65d0e', '9d0006'), |
| 32 | + nord_light: makeTheme('eceff4', '2e3440', '5e81ac', 'bf616a'), |
| 33 | + 'cyber-pulse': makeTheme('000000', 'ffffff', '00ffee', 'ff0055'), |
33 | 34 | }; |
34 | 35 |
|
35 | 36 | // Auto-theme pairs: the SVG switches between these two palettes |
|
0 commit comments