Skip to content

Commit 2c38818

Browse files
authored
feat: color updates (#527)
### TL;DR Implemented a warm cave-inspired color theme across the application, replacing the previous gray palette with earthy tones. ### What changed? - Updated the color palette in both light and dark themes to use warm, earthy tones inspired by caves - Modified editor theme colors to match the new aesthetic - Updated terminal colors to complement the new theme - Adjusted StatusBar and RightSidebarContent components to use CSS variables for consistent theming ### How to test? 1. Run the application in both light and dark modes to verify the new color scheme 2. Check the code editor to ensure syntax highlighting is visually appealing 3. Open the terminal to confirm the colors match the new theme 4. Verify that the StatusBar and right sidebar components render correctly with the new colors 5. Test the application in different color gamuts (standard and P3) if possible ### Why make this change? The warm cave-inspired theme provides a more cohesive and visually comfortable experience compared to the previous color scheme. The earthy tones create a natural, organic feel that reduces eye strain during extended use while maintaining good contrast for readability. This theme also gives the application a more distinctive visual identity.
1 parent 1920619 commit 2c38818

File tree

5 files changed

+173
-145
lines changed

5 files changed

+173
-145
lines changed

apps/array/src/renderer/components/StatusBar.tsx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,10 @@ export function StatusBar({ showKeyHints = true }: StatusBarProps) {
1313
const { statusText, keyHints } = useStatusBarStore();
1414

1515
return (
16-
<Box className="flex flex-row items-center justify-between border-gray-6 border-t bg-gray-2 px-4 py-2">
16+
<Box
17+
className="flex flex-row items-center justify-between border-t px-4 py-2"
18+
style={{ backgroundColor: "var(--gray-2)", borderColor: "var(--gray-6)" }}
19+
>
1720
<Flex align="center" gap="2">
1821
<StatusBarMenu />
1922
<Code size="1" variant="ghost" color="gray">

apps/array/src/renderer/features/code-editor/theme/editorTheme.ts

Lines changed: 23 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -10,40 +10,42 @@ function withAlpha(hex: string, alpha: number): string {
1010
return `${hex}${a}`;
1111
}
1212

13+
// Warm cave-inspired dark theme colors
1314
const dark = {
1415
chalky: "#e5c07b",
1516
coral: "#e06c75",
1617
cyan: "#56b6c2",
17-
invalid: "#ffffff",
18-
ivory: "#abb2bf",
19-
stone: "#7d8799",
18+
invalid: "#f7eddf",
19+
ivory: "#c4baa8",
20+
stone: "#8a8275",
2021
malibu: "#61afef",
2122
sage: "#98c379",
2223
whiskey: "#d19a66",
2324
violet: "#c678dd",
24-
background: "#21252b",
25-
highlightBackground: "#2c313a",
26-
tooltipBackground: "#353a42",
27-
selection: "#3E4451",
28-
cursor: "#528bff",
25+
background: "#1a1815",
26+
highlightBackground: "#2a2621",
27+
tooltipBackground: "#322e28",
28+
selection: "#453f37",
29+
cursor: "#f1a82c",
2930
};
3031

32+
// Warm cave-inspired light theme colors
3133
const light = {
3234
chalky: "#c18401",
33-
coral: "#e45649",
35+
coral: "#c45649",
3436
cyan: "#0184bc",
35-
invalid: "#000000",
36-
ivory: "#383a42",
37-
stone: "#a0a1a7",
37+
invalid: "#2d2b29",
38+
ivory: "#3d3832",
39+
stone: "#9a9282",
3840
malibu: "#4078f2",
3941
sage: "#50a14f",
4042
whiskey: "#986801",
4143
violet: "#a626a4",
42-
background: "#fafafa",
43-
highlightBackground: "#d0d0d0",
44-
tooltipBackground: "#f0f0f0",
45-
selection: "#d7d7d7",
46-
cursor: "#526fff",
44+
background: "#f7eddf",
45+
highlightBackground: "#ebe1d3",
46+
tooltipBackground: "#f1e5d5",
47+
selection: "#ddd5c7",
48+
cursor: "#dc9300",
4749
};
4850

4951
function createEditorTheme(colors: typeof dark, isDark: boolean) {
@@ -290,14 +292,14 @@ export const mergeViewTheme = EditorView.baseTheme({
290292
},
291293
},
292294
"&light .cm-collapsedLines": {
293-
color: "#444",
295+
color: "#3d3832",
294296
background:
295-
"linear-gradient(to bottom, transparent 0, #f3f3f3 30%, #f3f3f3 70%, transparent 100%)",
297+
"linear-gradient(to bottom, transparent 0, #ebe1d3 30%, #ebe1d3 70%, transparent 100%)",
296298
},
297299
"&dark .cm-collapsedLines": {
298-
color: "#ddd",
300+
color: "#c4baa8",
299301
background:
300-
"linear-gradient(to bottom, transparent 0, #222 30%, #222 70%, transparent 100%)",
302+
"linear-gradient(to bottom, transparent 0, #2a2621 30%, #2a2621 70%, transparent 100%)",
301303
},
302304
".cm-changeGutter": { width: "3px", paddingLeft: "1px" },
303305
"&light.cm-merge-a .cm-changedLineGutter, &light .cm-deletedLineGutter": {

apps/array/src/renderer/features/right-sidebar/components/RightSidebarContent.tsx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,11 @@ export function RightSidebarContent({
4848
const [activeTab, setActiveTab] = useState<TabId>("changes");
4949

5050
return (
51-
<Flex direction="column" height="100%">
51+
<Flex
52+
direction="column"
53+
height="100%"
54+
style={{ backgroundColor: "var(--color-background)" }}
55+
>
5256
<Flex
5357
style={{
5458
borderBottom: "1px solid var(--gray-6)",

apps/array/src/renderer/features/terminal/services/TerminalManager.ts

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -70,22 +70,23 @@ type EventType = keyof EventPayloadMap;
7070
type Listener<T extends EventType> = (payload: EventPayloadMap[T]) => void;
7171

7272
function getTerminalTheme(isDarkMode: boolean) {
73+
// Warm cave-inspired terminal colors
7374
return isDarkMode
7475
? {
7576
background: "transparent",
76-
foreground: "#eeeeea",
77+
foreground: "#f7eddf",
7778
cursor: "#dc9300",
78-
cursorAccent: "#eeeeea",
79+
cursorAccent: "#f7eddf",
7980
selectionBackground: "rgba(255, 203, 129, 0.3)",
80-
selectionForeground: "#eeeeea",
81+
selectionForeground: "#f7eddf",
8182
}
8283
: {
8384
background: "transparent",
84-
foreground: "#1f1f1f",
85+
foreground: "#2d2b29",
8586
cursor: "#dc9300",
86-
cursorAccent: "#1f1f1f",
87+
cursorAccent: "#2d2b29",
8788
selectionBackground: "rgba(255, 189, 87, 0.4)",
88-
selectionForeground: "#1f1f1f",
89+
selectionForeground: "#2d2b29",
8990
};
9091
}
9192

0 commit comments

Comments
 (0)