Explorar el Código

feat: add Night Owl theme (desktop) (#7151)

Co-authored-by: shuv <[email protected]>
shuv hace 1 mes
padre
commit
9cce0cf4f4

+ 3 - 0
packages/ui/src/theme/default-themes.ts

@@ -9,6 +9,7 @@ import catppuccinThemeJson from "./themes/catppuccin.json"
 import ayuThemeJson from "./themes/ayu.json"
 import oneDarkProThemeJson from "./themes/onedarkpro.json"
 import shadesOfPurpleThemeJson from "./themes/shadesofpurple.json"
+import nightowlThemeJson from "./themes/nightowl.json"
 
 export const oc1Theme = oc1ThemeJson as DesktopTheme
 export const tokyonightTheme = tokyoThemeJson as DesktopTheme
@@ -20,6 +21,7 @@ export const catppuccinTheme = catppuccinThemeJson as DesktopTheme
 export const ayuTheme = ayuThemeJson as DesktopTheme
 export const oneDarkProTheme = oneDarkProThemeJson as DesktopTheme
 export const shadesOfPurpleTheme = shadesOfPurpleThemeJson as DesktopTheme
+export const nightowlTheme = nightowlThemeJson as DesktopTheme
 
 export const DEFAULT_THEMES: Record<string, DesktopTheme> = {
   "oc-1": oc1Theme,
@@ -32,4 +34,5 @@ export const DEFAULT_THEMES: Record<string, DesktopTheme> = {
   ayu: ayuTheme,
   onedarkpro: oneDarkProTheme,
   shadesofpurple: shadesOfPurpleTheme,
+  nightowl: nightowlTheme,
 }

+ 1 - 0
packages/ui/src/theme/index.ts

@@ -41,4 +41,5 @@ export {
   ayuTheme,
   oneDarkProTheme,
   shadesOfPurpleTheme,
+  nightowlTheme,
 } from "./default-themes"

+ 131 - 0
packages/ui/src/theme/themes/nightowl.json

@@ -0,0 +1,131 @@
+{
+  "$schema": "https://opencode.ai/desktop-theme.json",
+  "name": "Night Owl",
+  "id": "nightowl",
+  "light": {
+    "seeds": {
+      "neutral": "#f0f0f0",
+      "primary": "#4876d6",
+      "success": "#2aa298",
+      "warning": "#c96765",
+      "error": "#de3d3b",
+      "info": "#4876d6",
+      "interactive": "#4876d6",
+      "diffAdd": "#2aa298",
+      "diffDelete": "#de3d3b"
+    },
+    "overrides": {
+      "background-base": "#fbfbfb",
+      "background-weak": "#f0f0f0",
+      "background-strong": "#ffffff",
+      "background-stronger": "#ffffff",
+      "border-weak-base": "#d9d9d9",
+      "border-weak-hover": "#cccccc",
+      "border-weak-active": "#bfbfbf",
+      "border-weak-selected": "#4876d6",
+      "border-weak-disabled": "#e6e6e6",
+      "border-weak-focus": "#4876d6",
+      "border-base": "#c0c0c0",
+      "border-hover": "#b3b3b3",
+      "border-active": "#a6a6a6",
+      "border-selected": "#4876d6",
+      "border-disabled": "#d9d9d9",
+      "border-focus": "#4876d6",
+      "border-strong-base": "#90a7b2",
+      "border-strong-hover": "#7d9aa6",
+      "border-strong-active": "#6a8d9a",
+      "border-strong-selected": "#4876d6",
+      "border-strong-disabled": "#c0c0c0",
+      "border-strong-focus": "#4876d6",
+      "surface-diff-add-base": "#eaf8f6",
+      "surface-diff-delete-base": "#fbe9e9",
+      "surface-diff-hidden-base": "#e8f0fc",
+      "text-base": "#403f53",
+      "text-weak": "#7a8181",
+      "text-strong": "#1a1a1a",
+      "syntax-string": "#c96765",
+      "syntax-primitive": "#aa0982",
+      "syntax-property": "#4876d6",
+      "syntax-type": "#994cc3",
+      "syntax-constant": "#2aa298",
+      "syntax-info": "#4876d6",
+      "markdown-heading": "#4876d6",
+      "markdown-text": "#403f53",
+      "markdown-link": "#4876d6",
+      "markdown-link-text": "#2aa298",
+      "markdown-code": "#2aa298",
+      "markdown-block-quote": "#7a8181",
+      "markdown-emph": "#994cc3",
+      "markdown-strong": "#c96765",
+      "markdown-horizontal-rule": "#90a7b2",
+      "markdown-list-item": "#4876d6",
+      "markdown-list-enumeration": "#2aa298",
+      "markdown-image": "#4876d6",
+      "markdown-image-text": "#2aa298",
+      "markdown-code-block": "#403f53"
+    }
+  },
+  "dark": {
+    "seeds": {
+      "neutral": "#011627",
+      "primary": "#82aaff",
+      "success": "#c5e478",
+      "warning": "#ecc48d",
+      "error": "#ef5350",
+      "info": "#82aaff",
+      "interactive": "#82aaff",
+      "diffAdd": "#c5e478",
+      "diffDelete": "#ef5350"
+    },
+    "overrides": {
+      "background-base": "#011627",
+      "background-weak": "#0b253a",
+      "background-strong": "#001122",
+      "background-stronger": "#000c17",
+      "border-weak-base": "#1d3b53",
+      "border-weak-hover": "#234561",
+      "border-weak-active": "#2a506f",
+      "border-weak-selected": "#82aaff",
+      "border-weak-disabled": "#0f2132",
+      "border-weak-focus": "#82aaff",
+      "border-base": "#3a5a75",
+      "border-hover": "#456785",
+      "border-active": "#507494",
+      "border-selected": "#82aaff",
+      "border-disabled": "#1a3347",
+      "border-focus": "#82aaff",
+      "border-strong-base": "#5f7e97",
+      "border-strong-hover": "#6e8da6",
+      "border-strong-active": "#7d9cb5",
+      "border-strong-selected": "#82aaff",
+      "border-strong-disabled": "#2c4a63",
+      "border-strong-focus": "#82aaff",
+      "surface-diff-add-base": "#0a2e1a",
+      "surface-diff-delete-base": "#2d1b1b",
+      "surface-diff-hidden-base": "#0b253a",
+      "text-base": "#d6deeb",
+      "text-weak": "#5f7e97",
+      "text-strong": "#ffffff",
+      "syntax-string": "#ecc48d",
+      "syntax-primitive": "#f78c6c",
+      "syntax-property": "#82aaff",
+      "syntax-type": "#c5e478",
+      "syntax-constant": "#7fdbca",
+      "syntax-info": "#82aaff",
+      "markdown-heading": "#82aaff",
+      "markdown-text": "#d6deeb",
+      "markdown-link": "#82aaff",
+      "markdown-link-text": "#7fdbca",
+      "markdown-code": "#c5e478",
+      "markdown-block-quote": "#5f7e97",
+      "markdown-emph": "#c792ea",
+      "markdown-strong": "#ecc48d",
+      "markdown-horizontal-rule": "#5f7e97",
+      "markdown-list-item": "#82aaff",
+      "markdown-list-enumeration": "#7fdbca",
+      "markdown-image": "#82aaff",
+      "markdown-image-text": "#7fdbca",
+      "markdown-code-block": "#d6deeb"
+    }
+  }
+}