feat(ui): add gruvbox theme (Web/App) (#9855)
This commit is contained in:
@@ -12,6 +12,7 @@ import shadesOfPurpleThemeJson from "./themes/shadesofpurple.json"
|
||||
import nightowlThemeJson from "./themes/nightowl.json"
|
||||
import vesperThemeJson from "./themes/vesper.json"
|
||||
import carbonfoxThemeJson from "./themes/carbonfox.json"
|
||||
import gruvboxThemeJson from "./themes/gruvbox.json"
|
||||
|
||||
export const oc1Theme = oc1ThemeJson as DesktopTheme
|
||||
export const tokyonightTheme = tokyoThemeJson as DesktopTheme
|
||||
@@ -26,6 +27,7 @@ export const shadesOfPurpleTheme = shadesOfPurpleThemeJson as DesktopTheme
|
||||
export const nightowlTheme = nightowlThemeJson as DesktopTheme
|
||||
export const vesperTheme = vesperThemeJson as DesktopTheme
|
||||
export const carbonfoxTheme = carbonfoxThemeJson as DesktopTheme
|
||||
export const gruvboxTheme = gruvboxThemeJson as DesktopTheme
|
||||
|
||||
export const DEFAULT_THEMES: Record<string, DesktopTheme> = {
|
||||
"oc-1": oc1Theme,
|
||||
@@ -41,4 +43,5 @@ export const DEFAULT_THEMES: Record<string, DesktopTheme> = {
|
||||
nightowl: nightowlTheme,
|
||||
vesper: vesperTheme,
|
||||
carbonfox: carbonfoxTheme,
|
||||
gruvbox: gruvboxTheme,
|
||||
}
|
||||
|
||||
132
packages/ui/src/theme/themes/gruvbox.json
Normal file
132
packages/ui/src/theme/themes/gruvbox.json
Normal file
@@ -0,0 +1,132 @@
|
||||
{
|
||||
"$schema": "https://opencode.ai/desktop-theme.json",
|
||||
"name": "Gruvbox",
|
||||
"id": "gruvbox",
|
||||
"light": {
|
||||
"seeds": {
|
||||
"neutral": "#fbf1c7",
|
||||
"primary": "#076678",
|
||||
"success": "#79740e",
|
||||
"warning": "#b57614",
|
||||
"error": "#9d0006",
|
||||
"info": "#8f3f71",
|
||||
"interactive": "#076678",
|
||||
"diffAdd": "#79740e",
|
||||
"diffDelete": "#9d0006"
|
||||
},
|
||||
"overrides": {
|
||||
"background-base": "#fbf1c7",
|
||||
"background-weak": "#f2e5bc",
|
||||
"background-strong": "#f9f5d7",
|
||||
"background-stronger": "#fdf9e8",
|
||||
"surface-raised-stronger-non-alpha": "#fbfaf5",
|
||||
"border-weak-base": "#d5c4a1",
|
||||
"border-weak-hover": "#c9b897",
|
||||
"border-weak-active": "#bdae93",
|
||||
"border-weak-selected": "#b0a285",
|
||||
"border-weak-disabled": "#f0e4b8",
|
||||
"border-weak-focus": "#c4b590",
|
||||
"border-base": "#bdae93",
|
||||
"border-hover": "#b0a285",
|
||||
"border-active": "#a89984",
|
||||
"border-selected": "#928374",
|
||||
"border-disabled": "#e5d9ad",
|
||||
"border-focus": "#a89984",
|
||||
"border-strong-base": "#7c6f64",
|
||||
"border-strong-hover": "#6e6259",
|
||||
"border-strong-active": "#665c54",
|
||||
"border-strong-selected": "#5a524b",
|
||||
"border-strong-disabled": "#c9bda1",
|
||||
"border-strong-focus": "#665c54",
|
||||
"surface-diff-add-base": "#dde3b1",
|
||||
"surface-diff-delete-base": "#e8c7c3",
|
||||
"surface-diff-hidden-base": "#ebdfb5",
|
||||
"text-base": "#3c3836",
|
||||
"text-weak": "#7c6f64",
|
||||
"text-strong": "#282828",
|
||||
"syntax-string": "#79740e",
|
||||
"syntax-primitive": "#9d0006",
|
||||
"syntax-property": "#076678",
|
||||
"syntax-type": "#b57614",
|
||||
"syntax-constant": "#8f3f71",
|
||||
"syntax-info": "#427b58",
|
||||
"markdown-heading": "#076678",
|
||||
"markdown-text": "#3c3836",
|
||||
"markdown-link": "#076678",
|
||||
"markdown-link-text": "#427b58",
|
||||
"markdown-code": "#79740e",
|
||||
"markdown-block-quote": "#928374",
|
||||
"markdown-emph": "#8f3f71",
|
||||
"markdown-strong": "#af3a03",
|
||||
"markdown-horizontal-rule": "#d5c4a1",
|
||||
"markdown-list-item": "#076678",
|
||||
"markdown-list-enumeration": "#427b58",
|
||||
"markdown-image": "#076678",
|
||||
"markdown-image-text": "#427b58",
|
||||
"markdown-code-block": "#3c3836"
|
||||
}
|
||||
},
|
||||
"dark": {
|
||||
"seeds": {
|
||||
"neutral": "#282828",
|
||||
"primary": "#83a598",
|
||||
"success": "#b8bb26",
|
||||
"warning": "#fabd2f",
|
||||
"error": "#fb4934",
|
||||
"info": "#d3869b",
|
||||
"interactive": "#83a598",
|
||||
"diffAdd": "#b8bb26",
|
||||
"diffDelete": "#fb4934"
|
||||
},
|
||||
"overrides": {
|
||||
"background-base": "#282828",
|
||||
"background-weak": "#32302f",
|
||||
"background-strong": "#1d2021",
|
||||
"background-stronger": "#141617",
|
||||
"border-weak-base": "#504945",
|
||||
"border-weak-hover": "#5a524b",
|
||||
"border-weak-active": "#665c54",
|
||||
"border-weak-selected": "#70665d",
|
||||
"border-weak-disabled": "#1e1d1c",
|
||||
"border-weak-focus": "#5e5650",
|
||||
"border-base": "#665c54",
|
||||
"border-hover": "#70665d",
|
||||
"border-active": "#7c6f64",
|
||||
"border-selected": "#928374",
|
||||
"border-disabled": "#2a2827",
|
||||
"border-focus": "#7c6f64",
|
||||
"border-strong-base": "#928374",
|
||||
"border-strong-hover": "#9d8e7f",
|
||||
"border-strong-active": "#a89984",
|
||||
"border-strong-selected": "#b3a48f",
|
||||
"border-strong-disabled": "#3c3836",
|
||||
"border-strong-focus": "#a89984",
|
||||
"surface-diff-add-base": "#2a3325",
|
||||
"surface-diff-delete-base": "#3c2222",
|
||||
"surface-diff-hidden-base": "#32302f",
|
||||
"text-base": "#ebdbb2",
|
||||
"text-weak": "#a89984",
|
||||
"text-strong": "#fbf1c7",
|
||||
"syntax-string": "#b8bb26",
|
||||
"syntax-primitive": "#fb4934",
|
||||
"syntax-property": "#83a598",
|
||||
"syntax-type": "#fabd2f",
|
||||
"syntax-constant": "#d3869b",
|
||||
"syntax-info": "#8ec07c",
|
||||
"markdown-heading": "#83a598",
|
||||
"markdown-text": "#ebdbb2",
|
||||
"markdown-link": "#83a598",
|
||||
"markdown-link-text": "#8ec07c",
|
||||
"markdown-code": "#b8bb26",
|
||||
"markdown-block-quote": "#928374",
|
||||
"markdown-emph": "#d3869b",
|
||||
"markdown-strong": "#fe8019",
|
||||
"markdown-horizontal-rule": "#504945",
|
||||
"markdown-list-item": "#83a598",
|
||||
"markdown-list-enumeration": "#8ec07c",
|
||||
"markdown-image": "#83a598",
|
||||
"markdown-image-text": "#8ec07c",
|
||||
"markdown-code-block": "#ebdbb2"
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user