Skip to content

Commit 7a3f2fb

Browse files
committed
Chroma Glow theme
1 parent e4aa9e7 commit 7a3f2fb

4 files changed

Lines changed: 125 additions & 0 deletions

File tree

‎src/app/hooks/useTheme.ts‎

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import {
1515
accordTheme,
1616
blackTheme,
1717
theArgoTheme,
18+
chromaGlowTheme,
1819
} from '../../colors.css';
1920

2021
export enum ThemeKind {
@@ -95,6 +96,12 @@ export const TheArgoTheme: Theme = {
9596
classNames: ['the-argo-theme', theArgoTheme, onDarkFontWeight, 'prism-dark'],
9697
};
9798

99+
export const ChromaGlowTheme: Theme = {
100+
id: 'chroma-glow-theme',
101+
kind: ThemeKind.Dark,
102+
classNames: ['chroma-glow-theme', chromaGlowTheme, onDarkFontWeight, 'prism-dark'],
103+
};
104+
98105
export const useThemes = (): Theme[] => {
99106
const themes: Theme[] = useMemo(
100107
() => [
@@ -110,6 +117,7 @@ export const useThemes = (): Theme[] => {
110117
AccordTheme,
111118
BlackTheme,
112119
TheArgoTheme,
120+
ChromaGlowTheme,
113121
],
114122
[]
115123
);
@@ -132,6 +140,7 @@ export const useThemeNames = (): Record<string, string> =>
132140
[AccordTheme.id]: 'Accord',
133141
[BlackTheme.id]: 'Black',
134142
[TheArgoTheme.id]: 'The Argo',
143+
[ChromaGlowTheme.id]: 'Chroma Glow',
135144
}),
136145
[]
137146
);

‎src/app/styles/themes.css‎

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1065,3 +1065,92 @@
10651065
--sable-shadow: rgba(0, 0, 0, 0.6);
10661066
--sable-overlay: rgba(12, 8, 10, 0.85);
10671067
}
1068+
1069+
/* --- Chroma Glow (Discord-inspired) --- */
1070+
.chroma-glow-theme {
1071+
/* Background */
1072+
--sable-bg-container: rgba(14, 10, 26, 0.05);
1073+
--sable-bg-container-hover: rgba(255, 255, 255, 0.05);
1074+
--sable-bg-container-active: rgba(255, 255, 255, 0.05);
1075+
--sable-bg-container-line: rgba(60, 35, 100, 0.3);
1076+
--sable-bg-on-container: #e0def0;
1077+
1078+
/* Surface */
1079+
--sable-surface-container: rgba(18, 14, 36, 0.95);
1080+
--sable-surface-container-hover: rgba(26, 22, 48, 0.65);
1081+
--sable-surface-container-active: rgba(34, 28, 58, 0.7);
1082+
--sable-surface-container-line: rgba(55, 40, 90, 0.4);
1083+
--sable-surface-on-container: #e6e4f5;
1084+
1085+
/* Surface Variant */
1086+
--sable-surface-var-container: rgba(10, 8, 20, 0.72);
1087+
--sable-surface-var-container-hover: rgba(16, 12, 30, 0.76);
1088+
--sable-surface-var-container-active: rgba(22, 18, 40, 0.8);
1089+
--sable-surface-var-container-line: rgba(50, 35, 85, 0.45);
1090+
--sable-surface-var-on-container: #c5c2d8;
1091+
1092+
/* Primary (Vivid Purple) */
1093+
--sable-primary-main: #bf00ff;
1094+
--sable-primary-main-hover: #cc33ff;
1095+
--sable-primary-main-active: #d94dff;
1096+
--sable-primary-main-line: #e066ff;
1097+
--sable-primary-on-main: #ffffff;
1098+
--sable-primary-container: #2a0a42;
1099+
--sable-primary-container-hover: #35104f;
1100+
--sable-primary-container-active: #40185c;
1101+
--sable-primary-container-line: #4c2069;
1102+
--sable-primary-on-container: #e4ccff;
1103+
1104+
/* Secondary (Electric Blue) */
1105+
--sable-sec-main: #5b8fff;
1106+
--sable-sec-main-hover: #74a2ff;
1107+
--sable-sec-main-active: #8db5ff;
1108+
--sable-sec-main-line: #a6c8ff;
1109+
--sable-sec-on-main: #080e22;
1110+
--sable-sec-container: #0f1a3a;
1111+
--sable-sec-container-hover: #162248;
1112+
--sable-sec-container-active: #1d2a56;
1113+
--sable-sec-container-line: #243264;
1114+
--sable-sec-on-container: #c4d6ff;
1115+
1116+
/* Success (Neon Cyan) */
1117+
--sable-success-main: #00d492;
1118+
--sable-success-main-hover: #15e0a2;
1119+
--sable-success-main-active: #30ecb2;
1120+
--sable-success-main-line: #50f5c2;
1121+
--sable-success-on-main: #002818;
1122+
--sable-success-container: #0a2e20;
1123+
--sable-success-container-hover: #10382a;
1124+
--sable-success-container-active: #164234;
1125+
--sable-success-container-line: #1c4c3e;
1126+
--sable-success-on-container: #a8f0d5;
1127+
1128+
/* Warning (Golden Amber) */
1129+
--sable-warn-main: #f0a820;
1130+
--sable-warn-main-hover: #f5b840;
1131+
--sable-warn-main-active: #f8c860;
1132+
--sable-warn-main-line: #fad880;
1133+
--sable-warn-on-main: #281c00;
1134+
--sable-warn-container: #2e2408;
1135+
--sable-warn-container-hover: #3a2e10;
1136+
--sable-warn-container-active: #463818;
1137+
--sable-warn-container-line: #524220;
1138+
--sable-warn-on-container: #fae4a8;
1139+
1140+
/* Critical (Hot Pink) */
1141+
--sable-crit-main: #ff2868;
1142+
--sable-crit-main-hover: #ff4580;
1143+
--sable-crit-main-active: #ff6298;
1144+
--sable-crit-main-line: #ff80b0;
1145+
--sable-crit-on-main: #ffffff;
1146+
--sable-crit-container: #3a0820;
1147+
--sable-crit-container-hover: #480e2a;
1148+
--sable-crit-container-active: #561434;
1149+
--sable-crit-container-line: #641a3e;
1150+
--sable-crit-on-container: #ffc0d8;
1151+
1152+
/* Other */
1153+
--sable-focus-ring: rgba(191, 0, 255, 0.55);
1154+
--sable-shadow: rgba(0, 0, 0, 0.7);
1155+
--sable-overlay: rgba(8, 4, 18, 0.9);
1156+
}

‎src/colors.css.ts‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,3 +103,4 @@ export const cinnyDarkTheme = createTheme(color, sableThemeMapping);
103103
export const accordTheme = createTheme(color, sableThemeMapping);
104104
export const blackTheme = createTheme(color, sableThemeMapping);
105105
export const theArgoTheme = createTheme(color, sableThemeMapping);
106+
export const chromaGlowTheme = createTheme(color, sableThemeMapping);

‎src/index.css‎

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,22 @@
9292
--font-monospace: 'Maple Mono', 'Space Mono', monospace;
9393
}
9494

95+
.chroma-glow-theme {
96+
--tc-link: #a080ff;
97+
98+
--mx-uc-1: #bf80ff;
99+
--mx-uc-2: #ff66b2;
100+
--mx-uc-3: #00e5c0;
101+
--mx-uc-4: #5b8fff;
102+
--mx-uc-5: #ff9040;
103+
--mx-uc-6: #66ffcc;
104+
--mx-uc-7: #ffcc33;
105+
--mx-uc-8: #ff5580;
106+
107+
--font-secondary: 'Nunito Variable', var(--font-emoji), sans-serif;
108+
--font-monospace: 'Maple Mono', 'Space Mono', monospace;
109+
}
110+
95111
html {
96112
height: 100%;
97113
overflow: hidden;
@@ -254,3 +270,13 @@ body.reduced-motion button[class*='styles_MessageAvatar']:hover * {
254270
animation: none !important;
255271
margin: 0 !important;
256272
}
273+
274+
/* --- Chroma Glow gradient & glass effects --- */
275+
body.chroma-glow-theme {
276+
background:
277+
radial-gradient(ellipse at 15% 85%, rgba(120, 0, 255, 0.15) 0%, #0000001c 50%),
278+
radial-gradient(ellipse at 85% 15%, rgba(255, 0, 128, 0.17) 0%, #0000001c 50%),
279+
radial-gradient(ellipse at 50% 50%, rgba(44, 117, 255, 0.04) 0%, #00000021 60%),
280+
linear-gradient(135deg, #0d0015, #0a0a2e 30%, #150a30, #0d1538 80%, #120820);
281+
background-attachment: fixed;
282+
}

0 commit comments

Comments
 (0)