From 00178ad1970eca912a821272d46403df63d36667 Mon Sep 17 00:00:00 2001 From: Bad3r Date: Tue, 3 Dec 2024 18:00:47 +0300 Subject: [PATCH] =?UTF-8?q?Feat:=20Add=20Support=20for=20Nord=20Theme=20?= =?UTF-8?q?=F0=9F=8F=94=EF=B8=8F=20(#132)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Bad3r --- src-web/lib/theme/themes.ts | 2 ++ src-web/lib/theme/themes/nord.ts | 30 ++++++++++++++++++++++++++++++ 2 files changed, 32 insertions(+) create mode 100644 src-web/lib/theme/themes/nord.ts diff --git a/src-web/lib/theme/themes.ts b/src-web/lib/theme/themes.ts index 14acf7ed..b909d685 100644 --- a/src-web/lib/theme/themes.ts +++ b/src-web/lib/theme/themes.ts @@ -5,6 +5,7 @@ import { dracula } from './themes/dracula'; import { github } from './themes/github'; import { hotdogStand } from './themes/hotdog-stand'; import { monokaiPro } from './themes/monokai-pro'; +import { nord } from './themes/nord'; import { moonlight } from './themes/moonlight'; import { relaxing } from './themes/relaxing'; import { rosePine } from './themes/rose-pine'; @@ -22,6 +23,7 @@ const allThemes = [ ...rosePine, ...github, ...monokaiPro, + ...nord, ...moonlight, ...hotdogStand, ]; diff --git a/src-web/lib/theme/themes/nord.ts b/src-web/lib/theme/themes/nord.ts new file mode 100644 index 00000000..c24bc4ae --- /dev/null +++ b/src-web/lib/theme/themes/nord.ts @@ -0,0 +1,30 @@ +import type { YaakTheme } from '../window'; +import { YaakColor } from '../yaakColor'; + +const nordDefault: YaakTheme = { + id: 'nord', + name: 'Nord', + surface: new YaakColor('hsl(220, 16%, 22%)', 'dark'), // Nord0 (#2e3440) + surfaceHighlight: new YaakColor('hsl(220, 14%, 28%)', 'dark'), // Nord1 (#3b4252) + text: new YaakColor('hsl(220, 28%, 93%)', 'dark'), // Nord6 (#ECEFF4) + textSubtle: new YaakColor('hsl(220, 26%, 90%)', 'dark'), // Nord5 (#E5E9F0) + textSubtlest: new YaakColor('hsl(220, 24%, 86%)', 'dark'), // Nord4 (#D8DEE9) + primary: new YaakColor('hsl(193, 38%, 68%)', 'dark'), // Nord8 (#88C0D0) + secondary: new YaakColor('hsl(210, 34%, 63%)', 'dark'), // Nord9 (#81A1C1) + info: new YaakColor('hsl(174, 25%, 69%)', 'dark'), // Nord7 (#8FBCBB) + success: new YaakColor('hsl(89, 26%, 66%)', 'dark'), // Nord14 (#A3BE8C) + notice: new YaakColor('hsl(40, 66%, 73%)', 'dark'), // Nord13 (#EBCB8B) + warning: new YaakColor('hsl(17, 48%, 64%)', 'dark'), // Nord12 (#D08770) + danger: new YaakColor('hsl(353, 43%, 56%)', 'dark'), // Nord11 (#BF616A) + components: { + sidebar: { + backdrop: new YaakColor('hsl(220, 16%, 22%)', 'dark'), // Nord0 (#2e3440) + }, + appHeader: { + backdrop: new YaakColor('hsl(220, 14%, 28%)', 'dark'), // Nord1 (#3b4252) + }, + }, +}; + +export const nord = [nordDefault]; +