Skip to content

Commit 119cc8c

Browse files
AnthuangAnthony Huang
andauthored
feat(desktop): add Vesper theme (#7331)
Co-authored-by: Anthony Huang <[email protected]>
1 parent be9b2ba commit 119cc8c

File tree

3 files changed

+135
-0
lines changed

3 files changed

+135
-0
lines changed

packages/ui/src/theme/default-themes.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import ayuThemeJson from "./themes/ayu.json"
1010
import oneDarkProThemeJson from "./themes/onedarkpro.json"
1111
import shadesOfPurpleThemeJson from "./themes/shadesofpurple.json"
1212
import nightowlThemeJson from "./themes/nightowl.json"
13+
import vesperThemeJson from "./themes/vesper.json"
1314

1415
export const oc1Theme = oc1ThemeJson as DesktopTheme
1516
export const tokyonightTheme = tokyoThemeJson as DesktopTheme
@@ -22,6 +23,7 @@ export const ayuTheme = ayuThemeJson as DesktopTheme
2223
export const oneDarkProTheme = oneDarkProThemeJson as DesktopTheme
2324
export const shadesOfPurpleTheme = shadesOfPurpleThemeJson as DesktopTheme
2425
export const nightowlTheme = nightowlThemeJson as DesktopTheme
26+
export const vesperTheme = vesperThemeJson as DesktopTheme
2527

2628
export const DEFAULT_THEMES: Record<string, DesktopTheme> = {
2729
"oc-1": oc1Theme,
@@ -35,4 +37,5 @@ export const DEFAULT_THEMES: Record<string, DesktopTheme> = {
3537
onedarkpro: oneDarkProTheme,
3638
shadesofpurple: shadesOfPurpleTheme,
3739
nightowl: nightowlTheme,
40+
vesper: vesperTheme,
3841
}

packages/ui/src/theme/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,4 +42,5 @@ export {
4242
oneDarkProTheme,
4343
shadesOfPurpleTheme,
4444
nightowlTheme,
45+
vesperTheme,
4546
} from "./default-themes"
Lines changed: 131 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,131 @@
1+
{
2+
"$schema": "https://opencode.ai/desktop-theme.json",
3+
"name": "Vesper",
4+
"id": "vesper",
5+
"light": {
6+
"seeds": {
7+
"neutral": "#F0F0F0",
8+
"primary": "#FFC799",
9+
"success": "#99FFE4",
10+
"warning": "#FFC799",
11+
"error": "#FF8080",
12+
"info": "#FFC799",
13+
"interactive": "#FFC799",
14+
"diffAdd": "#99FFE4",
15+
"diffDelete": "#FF8080"
16+
},
17+
"overrides": {
18+
"background-base": "#FFF",
19+
"background-weak": "#F8F8F8",
20+
"background-strong": "#F0F0F0",
21+
"background-stronger": "#E8E8E8",
22+
"border-weak-base": "#E8E8E8",
23+
"border-weak-hover": "#E0E0E0",
24+
"border-weak-active": "#D8D8D8",
25+
"border-weak-selected": "#D0D0D0",
26+
"border-weak-disabled": "#F0F0F0",
27+
"border-weak-focus": "#D8D8D8",
28+
"border-base": "#D0D0D0",
29+
"border-hover": "#C8C8C8",
30+
"border-active": "#C0C0C0",
31+
"border-selected": "#B8B8B8",
32+
"border-disabled": "#E8E8E8",
33+
"border-focus": "#C0C0C0",
34+
"border-strong-base": "#A0A0A0",
35+
"border-strong-hover": "#989898",
36+
"border-strong-active": "#909090",
37+
"border-strong-selected": "#888888",
38+
"border-strong-disabled": "#D0D0D0",
39+
"border-strong-focus": "#909090",
40+
"surface-diff-add-base": "#e8f5e8",
41+
"surface-diff-delete-base": "#f5e8e8",
42+
"surface-diff-hidden-base": "#F0F0F0",
43+
"text-base": "#101010",
44+
"text-weak": "#A0A0A0",
45+
"text-strong": "#000000",
46+
"syntax-string": "#99FFE4",
47+
"syntax-primitive": "#FF8080",
48+
"syntax-property": "#FFC799",
49+
"syntax-type": "#FFC799",
50+
"syntax-constant": "#A0A0A0",
51+
"syntax-info": "#A0A0A0",
52+
"markdown-heading": "#FFC799",
53+
"markdown-text": "#101010",
54+
"markdown-link": "#FFC799",
55+
"markdown-link-text": "#A0A0A0",
56+
"markdown-code": "#A0A0A0",
57+
"markdown-block-quote": "#101010",
58+
"markdown-emph": "#101010",
59+
"markdown-strong": "#101010",
60+
"markdown-horizontal-rule": "#65737E",
61+
"markdown-list-item": "#101010",
62+
"markdown-list-enumeration": "#101010",
63+
"markdown-image": "#FFC799",
64+
"markdown-image-text": "#A0A0A0",
65+
"markdown-code-block": "#FFC799"
66+
}
67+
},
68+
"dark": {
69+
"seeds": {
70+
"neutral": "#101010",
71+
"primary": "#FFC799",
72+
"success": "#99FFE4",
73+
"warning": "#FFC799",
74+
"error": "#FF8080",
75+
"info": "#FFC799",
76+
"interactive": "#FFC799",
77+
"diffAdd": "#99FFE4",
78+
"diffDelete": "#FF8080"
79+
},
80+
"overrides": {
81+
"background-base": "#101010",
82+
"background-weak": "#141414",
83+
"background-strong": "#0C0C0C",
84+
"background-stronger": "#080808",
85+
"border-weak-base": "#1C1C1C",
86+
"border-weak-hover": "#202020",
87+
"border-weak-active": "#242424",
88+
"border-weak-selected": "#282828",
89+
"border-weak-disabled": "#141414",
90+
"border-weak-focus": "#242424",
91+
"border-base": "#282828",
92+
"border-hover": "#303030",
93+
"border-active": "#383838",
94+
"border-selected": "#404040",
95+
"border-disabled": "#181818",
96+
"border-focus": "#383838",
97+
"border-strong-base": "#505050",
98+
"border-strong-hover": "#585858",
99+
"border-strong-active": "#606060",
100+
"border-strong-selected": "#686868",
101+
"border-strong-disabled": "#202020",
102+
"border-strong-focus": "#606060",
103+
"surface-diff-add-base": "#0d2818",
104+
"surface-diff-delete-base": "#281a1a",
105+
"surface-diff-hidden-base": "#141414",
106+
"text-base": "#FFF",
107+
"text-weak": "#A0A0A0",
108+
"text-strong": "#FFFFFF",
109+
"syntax-string": "#99FFE4",
110+
"syntax-primitive": "#FF8080",
111+
"syntax-property": "#FFC799",
112+
"syntax-type": "#FFC799",
113+
"syntax-constant": "#A0A0A0",
114+
"syntax-info": "#8b8b8b",
115+
"markdown-heading": "#FFC799",
116+
"markdown-text": "#FFF",
117+
"markdown-link": "#FFC799",
118+
"markdown-link-text": "#A0A0A0",
119+
"markdown-code": "#A0A0A0",
120+
"markdown-block-quote": "#FFF",
121+
"markdown-emph": "#FFF",
122+
"markdown-strong": "#FFF",
123+
"markdown-horizontal-rule": "#65737E",
124+
"markdown-list-item": "#FFF",
125+
"markdown-list-enumeration": "#FFF",
126+
"markdown-image": "#FFC799",
127+
"markdown-image-text": "#A0A0A0",
128+
"markdown-code-block": "#FFF"
129+
}
130+
}
131+
}

0 commit comments

Comments
 (0)