+
{() => }
From ca86a8615ebcca0a58cd3b8753194c6e00bf20a4 Mon Sep 17 00:00:00 2001
From: Gerome-Elassaad
Date: Fri, 26 Dec 2025 19:08:07 +1100
Subject: [PATCH 057/200] extract Pro flag from validated chat request for API
processing
---
app/routes/api.chat.ts | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/app/routes/api.chat.ts b/app/routes/api.chat.ts
index 06f08cc4..6c529333 100644
--- a/app/routes/api.chat.ts
+++ b/app/routes/api.chat.ts
@@ -17,7 +17,9 @@ import {
categorizeError,
getHttpStatusForError,
type ValidatedChatRequest,
+ createChatError,
} from '~/lib/api/chat-validation';
+import { LLMManager } from '~/lib/modules/llm/manager';
export async function action(args: ActionFunctionArgs) {
return chatAction(args);
@@ -58,7 +60,8 @@ async function chatAction({ context, request }: ActionFunctionArgs) {
});
}
- const { messages, files, promptId, contextOptimization, supabase, designScheme, enableMCPTools } = validatedRequest;
+ const { messages, files, promptId, contextOptimization, supabase, designScheme, enableMCPTools, isPro } =
+ validatedRequest;
const cookieHeader = request.headers.get('Cookie');
const apiKeys = JSON.parse(parseCookies(cookieHeader || '').apiKeys || '{}');
From f52c610c17b05eeaef2fc8acff4f66505bb8c3be Mon Sep 17 00:00:00 2001
From: Gerome-Elassaad
Date: Fri, 26 Dec 2025 19:08:09 +1100
Subject: [PATCH 058/200] add fade-in and slide-in animations for thinking
process steps
---
app/styles/animations.scss | 36 ++++++++++++++++++++++++++++++++++++
1 file changed, 36 insertions(+)
diff --git a/app/styles/animations.scss b/app/styles/animations.scss
index e907f2c6..96fb3eb2 100644
--- a/app/styles/animations.scss
+++ b/app/styles/animations.scss
@@ -265,3 +265,39 @@
-webkit-text-fill-color: transparent;
animation: shimmer 2s linear infinite;
}
+
+// Chain of thought animations
+@keyframes fade-in {
+ from {
+ opacity: 0;
+ }
+ to {
+ opacity: 1;
+ }
+}
+
+@keyframes slide-in-from-left {
+ from {
+ transform: translateX(-10px);
+ opacity: 0;
+ }
+ to {
+ transform: translateX(0);
+ opacity: 1;
+ }
+}
+
+.animate-in {
+ animation-fill-mode: both;
+ animation-duration: 0.3s;
+ animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
+}
+
+.fade-in {
+ animation-name: fade-in;
+}
+
+.slide-in-from-left-2 {
+ animation-name: slide-in-from-left;
+}
+
From fe6c58d3aae264f38c2275ce9f2472e9795b99c7 Mon Sep 17 00:00:00 2001
From: Gerome-Elassaad
Date: Fri, 26 Dec 2025 19:08:12 +1100
Subject: [PATCH 059/200] darken code editor background for better contrast in
dark mode
---
app/styles/components/editor.scss | 47 ++++++++++++++++++++-----------
1 file changed, 31 insertions(+), 16 deletions(-)
diff --git a/app/styles/components/editor.scss b/app/styles/components/editor.scss
index 1b407b45..4637cf95 100644
--- a/app/styles/components/editor.scss
+++ b/app/styles/components/editor.scss
@@ -1,11 +1,14 @@
:root {
/* Base colors */
- --cm-backgroundColor: #0d1117; /* editor background */
- --cm-textColor: #f0f6fc; /* primary text */
+ --cm-backgroundColor: #0d1117;
+ /* editor background */
+ --cm-textColor: #f0f6fc;
+ /* primary text */
/* Gutter */
--cm-gutter-backgroundColor: #0d1117;
- --cm-gutter-textColor: #8b949e; /* muted gray */
+ --cm-gutter-textColor: #8b949e;
+ /* muted gray */
--cm-gutter-activeLineTextColor: #f0f6fc;
/* Fold Gutter */
@@ -13,7 +16,8 @@
--cm-foldGutter-textColorHover: #f0f6fc;
/* Active Line */
- --cm-activeLineBackgroundColor: rgba(255, 255, 255, 0.04); /* subtle */
+ --cm-activeLineBackgroundColor: rgba(255, 255, 255, 0.04);
+ /* subtle */
/* Cursor */
--cm-cursor-width: 2px;
@@ -74,12 +78,15 @@
/* Light theme overrides */
html[data-theme='light'] {
/* Base colors */
- --cm-backgroundColor: #ffffff; /* editor background */
- --cm-textColor: #1f2937; /* primary text */
+ --cm-backgroundColor: #ffffff;
+ /* editor background */
+ --cm-textColor: #1f2937;
+ /* primary text */
/* Gutter */
--cm-gutter-backgroundColor: #ffffff;
- --cm-gutter-textColor: #9ca3af; /* muted gray */
+ --cm-gutter-textColor: #9ca3af;
+ /* muted gray */
--cm-gutter-activeLineTextColor: #374151;
/* Fold Gutter */
@@ -87,7 +94,8 @@ html[data-theme='light'] {
--cm-foldGutter-textColorHover: #374151;
/* Active Line */
- --cm-activeLineBackgroundColor: rgba(0, 0, 0, 0.04); /* subtle */
+ --cm-activeLineBackgroundColor: rgba(0, 0, 0, 0.04);
+ /* subtle */
/* Cursor */
--cm-cursor-width: 2px;
@@ -147,12 +155,19 @@ html[data-theme='light'] {
/* Dark theme overrides - pure neutral gray */
html[data-theme='dark'] {
- --cm-backgroundColor: #1f1f1f; /* Matches depth-2 for distinction from main background */
- --cm-gutter-backgroundColor: #1f1f1f; /* Consistent with editor background */
- --cm-activeLineBackgroundColor: rgba(255, 255, 255, 0.08); /* Subtle neutral highlight */
- --cm-selection-backgroundColorFocused: #cccccc; /* Neutral gray selection */
+ --cm-backgroundColor: #09090b;
+ /* Darker than depth-2 for contrast */
+ --cm-gutter-backgroundColor: #09090b;
+ /* Consistent with editor background */
+ --cm-activeLineBackgroundColor: rgba(255, 255, 255, 0.08);
+ /* Subtle neutral highlight */
+ --cm-selection-backgroundColorFocused: #cccccc;
+ /* Neutral gray selection */
--cm-selection-backgroundOpacityFocused: 0.25;
- --cm-tooltip-backgroundColor: #252525; /* Matches depth-3 */
- --cm-tooltip-borderColor: rgba(153, 153, 153, 0.2); /* Neutral border */
- --cm-panels-borderColor: rgba(153, 153, 153, 0.1); /* Neutral panel borders */
-}
+ --cm-tooltip-backgroundColor: #252525;
+ /* Matches depth-3 */
+ --cm-tooltip-borderColor: rgba(153, 153, 153, 0.2);
+ /* Neutral border */
+ --cm-panels-borderColor: rgba(153, 153, 153, 0.1);
+ /* Neutral panel borders */
+}
\ No newline at end of file
From 1be64504b7c8ecaf6d35bd71073f968802ce1b25 Mon Sep 17 00:00:00 2001
From: Gerome-Elassaad
Date: Fri, 26 Dec 2025 19:08:15 +1100
Subject: [PATCH 060/200] update toast notification background to depth-3
---
app/styles/components/toast.scss | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/app/styles/components/toast.scss b/app/styles/components/toast.scss
index 242dc23d..b15723d9 100644
--- a/app/styles/components/toast.scss
+++ b/app/styles/components/toast.scss
@@ -7,7 +7,7 @@
.Toastify__toast {
--at-apply: shadow-md;
- background-color: var(--codinit-elements-bg-depth-2);
+ background-color: var(--codinit-elements-bg-depth-3);
color: var(--codinit-elements-textPrimary);
border: 1px solid var(--codinit-elements-borderColor);
box-shadow:
@@ -23,4 +23,4 @@
&:hover {
color: var(--codinit-elements-item-contentActive);
}
-}
+}
\ No newline at end of file
From ab2e1702effea9651250fd52acc7e71b228e349f Mon Sep 17 00:00:00 2001
From: Gerome-Elassaad
Date: Fri, 26 Dec 2025 19:08:26 +1100
Subject: [PATCH 061/200] update global background color to depth-2
---
app/styles/index.scss | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/app/styles/index.scss b/app/styles/index.scss
index c020a05c..ab191a99 100644
--- a/app/styles/index.scss
+++ b/app/styles/index.scss
@@ -17,7 +17,7 @@ html,
body {
height: 100%;
width: 100%;
- background-color: var(--codinit-elements-bg-depth-1);
+ background-color: var(--codinit-elements-bg-depth-2);
}
/* --------------------------------------- */
@@ -67,4 +67,4 @@ body {
}
scrollbar-color: color-mix(in srgb, var(--codinit-elements-textPrimary), transparent 50%) transparent;
-}
+}
\ No newline at end of file
From 9d1325c0a031a763b01a51dc674b29928bd56c1b Mon Sep 17 00:00:00 2001
From: Gerome-Elassaad
Date: Fri, 26 Dec 2025 19:08:28 +1100
Subject: [PATCH 062/200] migrate to modern Zinc color palette with improved
contrast and depth system
---
app/styles/variables.scss | 561 +++++++++++++++++---------------------
1 file changed, 254 insertions(+), 307 deletions(-)
diff --git a/app/styles/variables.scss b/app/styles/variables.scss
index eaa5c0e4..ba78b444 100644
--- a/app/styles/variables.scss
+++ b/app/styles/variables.scss
@@ -1,12 +1,17 @@
-/* Color Tokens Light Theme */
+/* Color Tokens Light Theme - Modernized */
:root[data-theme='light'] {
- --codinit-elements-borderColor: theme('colors.alpha.gray.10');
- --codinit-elements-borderColorActive: theme('colors.accent.600');
-
- --codinit-elements-bg-depth-1: theme('colors.white');
- --codinit-elements-bg-depth-2: theme('colors.gray.50');
- --codinit-elements-bg-depth-3: theme('colors.gray.200');
- --codinit-elements-bg-depth-4: theme('colors.alpha.gray.5');
+ --codinit-elements-borderColor: #e4e4e7;
+ /* Zinc-200 */
+ --codinit-elements-borderColorActive: #18181b;
+ /* Zinc-900 */
+
+ --codinit-elements-bg-depth-1: #ffffff;
+ --codinit-elements-bg-depth-2: #f4f4f5;
+ /* Zinc-100 */
+ --codinit-elements-bg-depth-3: #e4e4e7;
+ /* Zinc-200 */
+ --codinit-elements-bg-depth-4: #d4d4d8;
+ /* Zinc-300 */
/* Aliases for background-depth variables */
--codinit-elements-background-depth-1: var(--codinit-elements-bg-depth-1);
@@ -14,141 +19,150 @@
--codinit-elements-background-depth-3: var(--codinit-elements-bg-depth-3);
--codinit-elements-background-depth-4: var(--codinit-elements-bg-depth-4);
- --codinit-elements-textPrimary: theme('colors.gray.950');
- --codinit-elements-textSecondary: theme('colors.gray.600');
- --codinit-elements-textTertiary: theme('colors.gray.500');
-
- --codinit-elements-code-background: theme('colors.gray.100');
- --codinit-elements-code-text: theme('colors.gray.950');
-
- --codinit-elements-button-primary-background: theme('colors.alpha.accent.10');
- --codinit-elements-button-primary-backgroundHover: theme('colors.alpha.accent.20');
- --codinit-elements-button-primary-text: theme('colors.accent.500');
-
- --codinit-elements-button-secondary-background: theme('colors.alpha.gray.5');
- --codinit-elements-button-secondary-backgroundHover: theme('colors.alpha.gray.10');
- --codinit-elements-button-secondary-text: theme('colors.gray.950');
-
- --codinit-elements-button-danger-background: theme('colors.alpha.red.10');
- --codinit-elements-button-danger-backgroundHover: theme('colors.alpha.red.20');
- --codinit-elements-button-danger-text: theme('colors.red.500');
-
- --codinit-elements-item-contentDefault: theme('colors.alpha.gray.50');
- --codinit-elements-item-contentActive: theme('colors.gray.950');
- --codinit-elements-item-contentAccent: theme('colors.accent.700');
- --codinit-elements-item-contentDanger: theme('colors.red.500');
- --codinit-elements-item-backgroundDefault: rgba(0, 0, 0, 0);
- --codinit-elements-item-backgroundActive: theme('colors.alpha.gray.5');
- --codinit-elements-item-backgroundAccent: theme('colors.alpha.accent.10');
- --codinit-elements-item-backgroundDanger: theme('colors.alpha.red.10');
-
- --codinit-elements-loader-background: theme('colors.alpha.gray.10');
- --codinit-elements-loader-progress: theme('colors.accent.500');
-
- --codinit-elements-artifacts-background: theme('colors.white');
- --codinit-elements-artifacts-backgroundHover: theme('colors.alpha.gray.2');
- --codinit-elements-artifacts-borderColor: var(--codinit-elements-borderColor);
- --codinit-elements-artifacts-inlineCode-background: theme('colors.gray.100');
- --codinit-elements-artifacts-inlineCode-text: var(--codinit-elements-textPrimary);
-
- --codinit-elements-actions-background: theme('colors.white');
- --codinit-elements-actions-code-background: theme('colors.gray.800');
-
- --codinit-elements-messages-background: theme('colors.gray.100');
- --codinit-elements-messages-linkColor: theme('colors.accent.500');
- --codinit-elements-messages-code-background: theme('colors.gray.800');
- --codinit-elements-messages-inlineCode-background: theme('colors.gray.200');
- --codinit-elements-messages-inlineCode-text: theme('colors.gray.800');
-
- --codinit-elements-icon-success: theme('colors.green.500');
- --codinit-elements-icon-error: theme('colors.red.500');
- --codinit-elements-icon-primary: theme('colors.gray.950');
- --codinit-elements-icon-secondary: theme('colors.gray.600');
- --codinit-elements-icon-tertiary: theme('colors.gray.500');
-
- --codinit-elements-dividerColor: theme('colors.gray.100');
+ --codinit-elements-textPrimary: #09090b;
+ /* Zinc-950 */
+ --codinit-elements-textSecondary: #52525b;
+ /* Zinc-600 */
+ --codinit-elements-textTertiary: #a1a1aa;
+ /* Zinc-400 */
- --codinit-elements-prompt-background: theme('colors.alpha.white.80');
+ --codinit-elements-code-background: #f4f4f5;
+ --codinit-elements-code-text: #09090b;
- --codinit-elements-sidebar-dropdownShadow: theme('colors.alpha.gray.10');
- --codinit-elements-sidebar-buttonBackgroundDefault: theme('colors.alpha.accent.10');
- --codinit-elements-sidebar-buttonBackgroundHover: theme('colors.alpha.accent.20');
- --codinit-elements-sidebar-buttonText: theme('colors.accent.700');
+ /* Buttons */
+ --codinit-elements-button-primary-background: #18181b;
+ /* Zinc-900 */
+ --codinit-elements-button-primary-backgroundHover: #27272a;
+ --codinit-elements-button-primary-text: #ffffff;
- --codinit-elements-preview-addressBar-background: theme('colors.gray.100');
- --codinit-elements-preview-addressBar-backgroundHover: theme('colors.alpha.gray.5');
- --codinit-elements-preview-addressBar-backgroundActive: theme('colors.white');
- --codinit-elements-preview-addressBar-text: var(--codinit-elements-textSecondary);
- --codinit-elements-preview-addressBar-textActive: var(--codinit-elements-textPrimary);
+ --codinit-elements-button-secondary-background: #ffffff;
+ --codinit-elements-button-secondary-backgroundHover: #f4f4f5;
+ --codinit-elements-button-secondary-text: #09090b;
- --codinit-elements-terminals-background: theme('colors.white');
- --codinit-elements-terminals-buttonBackground: var(--codinit-elements-bg-depth-4);
+ --codinit-elements-button-danger-background: #fee2e2;
+ --codinit-elements-button-danger-backgroundHover: #fecaca;
+ --codinit-elements-button-danger-text: #dc2626;
- --codinit-elements-cta-background: theme('colors.gray.100');
- --codinit-elements-cta-text: theme('colors.gray.950');
+ /* Items */
+ --codinit-elements-item-contentDefault: #52525b;
+ --codinit-elements-item-contentActive: #09090b;
+ --codinit-elements-item-contentAccent: #18181b;
+ --codinit-elements-item-contentDanger: #ef4444;
+ --codinit-elements-item-backgroundDefault: transparent;
+ --codinit-elements-item-backgroundActive: #f4f4f5;
+ --codinit-elements-item-backgroundAccent: #f4f4f5;
+ --codinit-elements-item-backgroundDanger: #fef2f2;
+
+ --codinit-elements-loader-background: #e4e4e7;
+ --codinit-elements-loader-progress: #18181b;
+
+ /* Artifacts - Card Style */
+ --codinit-elements-artifacts-background: #ffffff;
+ --codinit-elements-artifacts-backgroundHover: #fafafa;
+ --codinit-elements-artifacts-borderColor: #e4e4e7;
+ --codinit-elements-artifacts-inlineCode-background: #f4f4f5;
+ --codinit-elements-artifacts-inlineCode-text: #09090b;
+
+ --codinit-elements-actions-background: #fafafa;
+ /* Slightly offset for contrast */
+ --codinit-elements-actions-code-background: #f4f4f5;
+
+ /* Messages */
+ --codinit-elements-messages-background: #ffffff;
+ --codinit-elements-messages-linkColor: #18181b;
+ --codinit-elements-messages-code-background: #18181b;
+ --codinit-elements-messages-inlineCode-background: #f4f4f5;
+ --codinit-elements-messages-inlineCode-text: #09090b;
+
+ /* Icons */
+ --codinit-elements-icon-success: #16a34a;
+ --codinit-elements-icon-error: #dc2626;
+ --codinit-elements-icon-primary: #09090b;
+ --codinit-elements-icon-secondary: #52525b;
+ --codinit-elements-icon-tertiary: #a1a1aa;
+
+ --codinit-elements-dividerColor: #e4e4e7;
+
+ --codinit-elements-prompt-background: rgba(255, 255, 255, 0.8);
+
+ --codinit-elements-sidebar-dropdownShadow: rgba(0, 0, 0, 0.05);
+ --codinit-elements-sidebar-buttonBackgroundDefault: #f4f4f5;
+ --codinit-elements-sidebar-buttonBackgroundHover: #e4e4e7;
+ --codinit-elements-sidebar-buttonText: #18181b;
+
+ --codinit-elements-preview-addressBar-background: #ffffff;
+ --codinit-elements-preview-addressBar-backgroundHover: #f4f4f5;
+ --codinit-elements-preview-addressBar-backgroundActive: #ffffff;
+ --codinit-elements-preview-addressBar-text: #52525b;
+ --codinit-elements-preview-addressBar-textActive: #09090b;
+
+ --codinit-elements-terminals-background: #ffffff;
+ --codinit-elements-terminals-buttonBackground: #f4f4f5;
+
+ --codinit-elements-cta-background: #18181b;
+ --codinit-elements-cta-text: #ffffff;
/* Terminal Colors */
- --codinit-terminal-background: var(--codinit-elements-terminals-background);
- --codinit-terminal-foreground: #333333;
- --codinit-terminal-selection-background: #00000040;
+ --codinit-terminal-background: #ffffff;
+ --codinit-terminal-foreground: #09090b;
+ --codinit-terminal-selection-background: #e4e4e7;
--codinit-terminal-black: #000000;
- --codinit-terminal-red: #cd3131;
- --codinit-terminal-green: #00bc00;
- --codinit-terminal-yellow: #949800;
- --codinit-terminal-blue: #0451a5;
- --codinit-terminal-magenta: #bc05bc;
- --codinit-terminal-cyan: #0598bc;
- --codinit-terminal-white: #555555;
- --codinit-terminal-brightBlack: #686868;
- --codinit-terminal-brightRed: #cd3131;
- --codinit-terminal-brightGreen: #00bc00;
- --codinit-terminal-brightYellow: #949800;
- --codinit-terminal-brightBlue: #0451a5;
- --codinit-terminal-brightMagenta: #bc05bc;
- --codinit-terminal-brightCyan: #0598bc;
- --codinit-terminal-brightWhite: #a5a5a5;
- --modern-scrollbar-thumb-background: rgba(100, 100, 100, 0.3);
- --modern-scrollbar-thumb-backgroundHover: rgba(74, 74, 74, 0.8);
+ --codinit-terminal-red: #ef4444;
+ --codinit-terminal-green: #16a34a;
+ --codinit-terminal-yellow: #ca8a04;
+ --codinit-terminal-blue: #2563eb;
+ --codinit-terminal-magenta: #c026d3;
+ --codinit-terminal-cyan: #0891b2;
+ --codinit-terminal-white: #e4e4e7;
+ --codinit-terminal-brightBlack: #52525b;
+ --codinit-terminal-brightRed: #ef4444;
+ --codinit-terminal-brightGreen: #16a34a;
+ --codinit-terminal-brightYellow: #ca8a04;
+ --codinit-terminal-brightBlue: #2563eb;
+ --codinit-terminal-brightMagenta: #c026d3;
+ --codinit-terminal-brightCyan: #0891b2;
+ --codinit-terminal-brightWhite: #f4f4f5;
+ --modern-scrollbar-thumb-background: rgba(0, 0, 0, 0.2);
+ --modern-scrollbar-thumb-backgroundHover: rgba(0, 0, 0, 0.4);
/* Command/Dialog popover variables - Light Theme */
--background: 0 0% 100%;
- --foreground: 222.2 84% 4.9%;
+ --foreground: 240 10% 3.9%;
--card: 0 0% 100%;
- --card-foreground: 222.2 84% 4.9%;
+ --card-foreground: 240 10% 3.9%;
--popover: 0 0% 100%;
- --popover-foreground: 222.2 84% 4.9%;
- --primary: 221.2 83.2% 53.3%;
- --primary-foreground: 210 40% 98%;
- --secondary: 210 40% 96%;
- --secondary-foreground: 222.2 84% 4.9%;
- --muted: 210 40% 96%;
- --muted-foreground: 215.4 16.3% 46.9%;
- --accent: 210 40% 96%;
- --accent-foreground: 222.2 84% 4.9%;
+ --popover-foreground: 240 10% 3.9%;
+ --primary: 240 5.9% 10%;
+ --primary-foreground: 0 0% 98%;
+ --secondary: 240 4.8% 95.9%;
+ --secondary-foreground: 240 5.9% 10%;
+ --muted: 240 4.8% 95.9%;
+ --muted-foreground: 240 3.8% 46.1%;
+ --accent: 240 4.8% 95.9%;
+ --accent-foreground: 240 5.9% 10%;
--destructive: 0 84.2% 60.2%;
- --destructive-foreground: 210 40% 98%;
- --border: 214.3 31.8% 91.4%;
- --input: 214.3 31.8% 91.4%;
- --ring: 221.2 83.2% 53.3%;
+ --destructive-foreground: 0 0% 98%;
+ --border: 240 5.9% 90%;
+ --input: 240 5.9% 90%;
+ --ring: 240 10% 3.9%;
}
-/* Color Tokens Dark Theme */
+/* Color Tokens Dark Theme - Modernized */
:root,
:root[data-theme='dark'] {
- /* Pure neutral gray with blue accents - improved contrast */
- --codinit-elements-borderColor: #3a3a3a;
- /* Neutral gray border - slightly lighter for visibility */
- --codinit-elements-borderColorActive: #3b82f6;
- /* Blue active border */
-
- --codinit-elements-bg-depth-1: #121212;
- /* Main background - darker base */
- --codinit-elements-bg-depth-2: #1a1a1a;
- /* Content surfaces */
- --codinit-elements-bg-depth-3: #242424;
- /* Distinction elements */
- --codinit-elements-bg-depth-4: #2e2e2e;
- /* Buttons/inputs - more contrast */
+ --codinit-elements-borderColor: #27272a;
+ /* Zinc-800 */
+ --codinit-elements-borderColorActive: #52525b;
+ /* Zinc-600 */
+
+ --codinit-elements-bg-depth-1: #09090b;
+ /* Zinc-950 base */
+ --codinit-elements-bg-depth-2: #18181b;
+ /* Zinc-900 */
+ --codinit-elements-bg-depth-3: #27272a;
+ /* Zinc-800 */
+ --codinit-elements-bg-depth-4: #3f3f46;
+ /* Zinc-700 */
/* Aliases for background-depth variables */
--codinit-elements-background-depth-1: var(--codinit-elements-bg-depth-1);
@@ -156,200 +170,133 @@
--codinit-elements-background-depth-3: var(--codinit-elements-bg-depth-3);
--codinit-elements-background-depth-4: var(--codinit-elements-bg-depth-4);
- /* Optimized contrast for text */
--codinit-elements-textPrimary: #ffffff;
- /* Pure white for better readability */
- --codinit-elements-textSecondary: #cccccc;
- /* Neutral gray */
- --codinit-elements-textTertiary: #999999;
- /* Muted neutral */
-
- --codinit-elements-code-background: #0a0a0a;
- /* Dark code background */
- --codinit-elements-code-text: #f0f6fc;
- /* Bright code text */
-
- /* Primary Button - Blue accent */
- --codinit-elements-button-primary-background: #3b82f6;
- /* Blue background */
- --codinit-elements-button-primary-backgroundHover: #2563eb;
- /* Darker blue on hover */
- --codinit-elements-button-primary-text: #ffffff;
- /* White text for max contrast */
-
- /* Secondary Button - Neutral gray with better contrast */
- --codinit-elements-button-secondary-background: #2e2e2e;
- /* Matches depth-4 for visibility on containers */
- --codinit-elements-button-secondary-backgroundHover: #3a3a3a;
- /* Lighter hover for clear feedback */
- --codinit-elements-button-secondary-text: #e0e0e0;
-
- /* Danger Button - Remains prominent */
- --codinit-elements-button-danger-background: rgba(248, 81, 73, 0.1);
- --codinit-elements-button-danger-backgroundHover: rgba(248, 81, 73, 0.2);
- --codinit-elements-button-danger-text: #f85149;
-
- /* Item backgrounds and content - neutral gray with improved contrast */
- --codinit-elements-item-contentDefault: #a0a0a0;
+ --codinit-elements-textSecondary: #a1a1aa;
+ /* Zinc-400 */
+ --codinit-elements-textTertiary: #71717a;
+ /* Zinc-500 */
+
+ --codinit-elements-code-background: #121212;
+ /* Deep black for code */
+ --codinit-elements-code-text: #e4e4e7;
+
+ /* Buttons */
+ --codinit-elements-button-primary-background: #fafafa;
+ --codinit-elements-button-primary-backgroundHover: #ffffff;
+ --codinit-elements-button-primary-text: #09090b;
+
+ --codinit-elements-button-secondary-background: #27272a;
+ --codinit-elements-button-secondary-backgroundHover: #3f3f46;
+ --codinit-elements-button-secondary-text: #e4e4e7;
+
+ --codinit-elements-button-danger-background: rgba(239, 68, 68, 0.1);
+ --codinit-elements-button-danger-backgroundHover: rgba(239, 68, 68, 0.2);
+ --codinit-elements-button-danger-text: #f87171;
+
+ /* Items */
+ --codinit-elements-item-contentDefault: #a1a1aa;
--codinit-elements-item-contentActive: #ffffff;
- /* White for active */
- --codinit-elements-item-contentAccent: #d0d0d0;
- /* Neutral gray accent */
- --codinit-elements-item-contentDanger: #f85149;
- /* Remains prominent */
+ --codinit-elements-item-contentAccent: #ffffff;
+ --codinit-elements-item-contentDanger: #f87171;
--codinit-elements-item-backgroundDefault: transparent;
- /* Transparent for layering */
- --codinit-elements-item-backgroundActive: #2e2e2e;
- /* Matches depth-4 for clear hover/active */
- --codinit-elements-item-backgroundAccent: rgba(204, 204, 204, 0.08);
- /* Subtle neutral accent background */
- --codinit-elements-item-backgroundDanger: rgba(248, 81, 73, 0.1);
-
- /* Loader - Higher contrast */
- --codinit-elements-loader-background: rgba(255, 255, 255, 0.1);
- /* Slightly more opaque */
- --codinit-elements-loader-progress: #79c0ff;
- /* Brighter progress color */
-
- /* Artifacts - Neutral gray aligned with new depth system */
- --codinit-elements-artifacts-background: var(--codinit-elements-bg-depth-1);
- --codinit-elements-artifacts-backgroundHover: rgba(255, 255, 255, 0.06);
- /* Subtle hover */
- --codinit-elements-artifacts-borderColor: var(--codinit-elements-borderColor);
- --codinit-elements-artifacts-inlineCode-background: var(--codinit-elements-bg-depth-3);
- --codinit-elements-artifacts-inlineCode-text: #ffffff;
-
- /* Actions - Neutral gray aligned with new depth system */
- --codinit-elements-actions-background: var(--codinit-elements-bg-depth-1);
- --codinit-elements-actions-code-background: var(--codinit-elements-bg-depth-2);
-
- /* Messages - Neutral gray aligned with new depth system */
- --codinit-elements-messages-background: var(--codinit-elements-bg-depth-2);
- --codinit-elements-messages-linkColor: #d0d0d0;
- /* Slightly brighter link */
- --codinit-elements-messages-code-background: #0a0a0a;
- /* Darker code background */
- --codinit-elements-messages-inlineCode-background: var(--codinit-elements-bg-depth-3);
- --codinit-elements-messages-inlineCode-text: var(--codinit-elements-textPrimary);
-
- /* Icons - Adjusted for dark theme contrast */
- --codinit-elements-icon-success: #56d364;
- /* Remains green */
- --codinit-elements-icon-error: #f85149;
- /* Remains red */
- --codinit-elements-icon-primary: #f0f6fc;
- /* Bright white */
- --codinit-elements-icon-secondary: #c9d1d9;
- /* Bright */
- --codinit-elements-icon-tertiary: #8b949e;
- /* Subtle */
-
- --codinit-elements-dividerColor: #333333;
- /* Aligned with border color */
-
- --codinit-elements-prompt-background: rgba(18, 18, 18, 0.85);
- /* Aligned with depth-1 */
-
- /* Sidebar - Blue accent */
- --codinit-elements-sidebar-buttonBackgroundDefault: rgba(59, 130, 246, 0.1);
- /* Blue accent background */
- --codinit-elements-sidebar-buttonBackgroundHover: rgba(59, 130, 246, 0.15);
- /* Blue hover */
- --codinit-elements-sidebar-buttonText: #3b82f6;
- /* Blue accent */
-
- /* Preview Address Bar - Compatible with undertone */
- --codinit-elements-preview-addressBar-background: var(--codinit-elements-bg-depth-2);
- /* Use depth-2 for consistency */
- --codinit-elements-preview-addressBar-backgroundHover: rgba(255, 255, 255, 0.05);
- /* Subtle hover */
- --codinit-elements-preview-addressBar-backgroundActive: var(--codinit-elements-bg-depth-1);
- /* Use depth-1 for active */
- --codinit-elements-preview-addressBar-text: var(--codinit-elements-textSecondary);
- --codinit-elements-preview-addressBar-textActive: var(--codinit-elements-textPrimary);
-
- /* Terminals - Neutral gray */
- --codinit-elements-terminals-background: var(--codinit-elements-bg-depth-1);
- /* Use depth-1 for terminal background */
- --codinit-elements-terminals-buttonBackground: var(--codinit-elements-bg-depth-3);
- /* Use depth-3 for buttons */
-
- --codinit-elements-cta-background: var(--codinit-elements-bg-depth-3);
- /* Use depth-3 for CTA */
- --codinit-elements-cta-text: #ffffff;
+ --codinit-elements-item-backgroundActive: #27272a;
+ --codinit-elements-item-backgroundAccent: #27272a;
+ --codinit-elements-item-backgroundDanger: rgba(239, 68, 68, 0.1);
+
+ --codinit-elements-loader-background: #27272a;
+ --codinit-elements-loader-progress: #ffffff;
+
+ /* Artifacts - Card Style Dark */
+ --codinit-elements-artifacts-background: #18181b;
+ /* Card bg */
+ --codinit-elements-artifacts-backgroundHover: #27272a;
+ --codinit-elements-artifacts-borderColor: #27272a;
+ --codinit-elements-artifacts-inlineCode-background: #27272a;
+ --codinit-elements-artifacts-inlineCode-text: #e4e4e7;
+
+ --codinit-elements-actions-background: #131316;
+ /* Darker header */
+ --codinit-elements-actions-code-background: #09090b;
+
+ /* Messages */
+ --codinit-elements-messages-background: #18181b;
+ /* Card bubble */
+ --codinit-elements-messages-linkColor: #38bdf8;
+ --codinit-elements-messages-code-background: #09090b;
+ --codinit-elements-messages-inlineCode-background: #27272a;
+ --codinit-elements-messages-inlineCode-text: #e4e4e7;
+
+ /* Icons */
+ --codinit-elements-icon-success: #4ade80;
+ --codinit-elements-icon-error: #f87171;
+ --codinit-elements-icon-primary: #e4e4e7;
+ --codinit-elements-icon-secondary: #a1a1aa;
+ --codinit-elements-icon-tertiary: #52525b;
+
+ --codinit-elements-dividerColor: #27272a;
+
+ --codinit-elements-prompt-background: rgba(9, 9, 11, 0.85);
+
+ --codinit-elements-sidebar-dropdownShadow: rgba(0, 0, 0, 0.3);
+ --codinit-elements-sidebar-buttonBackgroundDefault: #27272a;
+ --codinit-elements-sidebar-buttonBackgroundHover: #3f3f46;
+ --codinit-elements-sidebar-buttonText: #e4e4e7;
+
+ --codinit-elements-preview-addressBar-background: #18181b;
+ --codinit-elements-preview-addressBar-backgroundHover: #27272a;
+ --codinit-elements-preview-addressBar-backgroundActive: #09090b;
+ --codinit-elements-preview-addressBar-text: #a1a1aa;
+ --codinit-elements-preview-addressBar-textActive: #ffffff;
+
+ --codinit-elements-terminals-background: #09090b;
+ --codinit-elements-terminals-buttonBackground: #27272a;
+
+ --codinit-elements-cta-background: #e4e4e7;
+ --codinit-elements-cta-text: #09090b;
- /* Terminal Colors - Pure neutral gray */
- --codinit-terminal-background: var(--codinit-elements-terminals-background);
- /* Inherit from terminal background */
- --codinit-terminal-foreground: #ffffff;
- /* Pure white foreground */
- --codinit-terminal-selection-background: rgba(204, 204, 204, 0.2);
- /* Neutral gray selection */
+ /* Terminal Colors */
+ --codinit-terminal-background: #09090b;
+ --codinit-terminal-foreground: #e4e4e7;
+ --codinit-terminal-selection-background: #27272a;
--codinit-terminal-black: #000000;
- /* Pure black */
- --codinit-terminal-red: #ff7b72;
- /* Brighter red */
- --codinit-terminal-green: #76d974;
- /* Brighter green */
- --codinit-terminal-yellow: #e2e27a;
- /* Brighter yellow */
- --codinit-terminal-blue: #63a3ff;
- /* Brighter blue */
- --codinit-terminal-magenta: #ff79c6;
- /* Brighter magenta */
- --codinit-terminal-cyan: #98d4ca;
- /* Brighter cyan */
- --codinit-terminal-white: #ffffff;
- /* Pure white */
- --codinit-terminal-brightBlack: #555555;
- /* Neutral gray */
- --codinit-terminal-brightRed: #ff7b72;
- /* Brighter red */
- --codinit-terminal-brightGreen: #76d974;
- /* Brighter green */
- --codinit-terminal-brightYellow: #e2e27a;
- /* Brighter yellow */
- --codinit-terminal-brightBlue: #63a3ff;
- /* Brighter blue */
- --codinit-terminal-brightMagenta: #ff79c6;
- /* Brighter magenta */
- --codinit-terminal-brightCyan: #98d4ca;
- /* Brighter cyan */
+ --codinit-terminal-red: #f87171;
+ --codinit-terminal-green: #4ade80;
+ --codinit-terminal-yellow: #facc15;
+ --codinit-terminal-blue: #60a5fa;
+ --codinit-terminal-magenta: #e879f9;
+ --codinit-terminal-cyan: #22d3ee;
+ --codinit-terminal-white: #e4e4e7;
+ --codinit-terminal-brightBlack: #71717a;
+ --codinit-terminal-brightRed: #f87171;
+ --codinit-terminal-brightGreen: #4ade80;
+ --codinit-terminal-brightYellow: #facc15;
+ --codinit-terminal-brightBlue: #60a5fa;
+ --codinit-terminal-brightMagenta: #e879f9;
+ --codinit-terminal-brightCyan: #22d3ee;
--codinit-terminal-brightWhite: #ffffff;
- /* Pure white */
- --modern-scrollbar-thumb-background: rgba(153, 153, 153, 0.3);
- /* Neutral gray thumb */
- --modern-scrollbar-thumb-backgroundHover: rgba(153, 153, 153, 0.5);
- /* More opaque on hover */
-
- /* Command/Dialog popover variables - Dark Theme - neutral gray aligned */
- --background: 0 0% 7%;
- /* #121212 */
+ --modern-scrollbar-thumb-background: rgba(255, 255, 255, 0.1);
+ --modern-scrollbar-thumb-backgroundHover: rgba(255, 255, 255, 0.2);
+
+ /* Command/Dialog popover variables - Dark Theme */
+ --background: 240 10% 3.9%;
--foreground: 0 0% 98%;
- --card: 0 0% 10%;
- /* #1a1a1a */
+ --card: 240 10% 3.9%;
--card-foreground: 0 0% 98%;
- --popover: 0 0% 10%;
- /* #1a1a1a */
+ --popover: 240 10% 3.9%;
--popover-foreground: 0 0% 98%;
- --primary: 217.2 91.2% 59.8%;
- --primary-foreground: 0 0% 98%;
- --secondary: 0 0% 14%;
- /* #242424 */
+ --primary: 0 0% 98%;
+ --primary-foreground: 240 5.9% 10%;
+ --secondary: 240 3.7% 15.9%;
--secondary-foreground: 0 0% 98%;
- --muted: 0 0% 14%;
- /* #242424 */
- --muted-foreground: 0 0% 64%;
- --accent: 0 0% 18%;
- /* #2e2e2e */
+ --muted: 240 3.7% 15.9%;
+ --muted-foreground: 240 5% 64.9%;
+ --accent: 240 3.7% 15.9%;
--accent-foreground: 0 0% 98%;
--destructive: 0 62.8% 30.6%;
--destructive-foreground: 0 0% 98%;
- --border: 0 0% 23%;
- /* #3a3a3a */
- --input: 0 0% 18%;
- /* #2e2e2e */
- --ring: 217.2 91.2% 59.8%;
+ --border: 240 3.7% 15.9%;
+ --input: 240 3.7% 15.9%;
+ --ring: 240 4.9% 83.9%;
}
/*
@@ -390,4 +337,4 @@
--codinit-elements-terminal-color-brightMagenta: var(--codinit-terminal-brightMagenta);
--codinit-elements-terminal-color-brightCyan: var(--codinit-terminal-brightCyan);
--codinit-elements-terminal-color-brightWhite: var(--codinit-terminal-brightWhite);
-}
+}
\ No newline at end of file
From 083680c58385c1606e89361df6efe3185524ba0c Mon Sep 17 00:00:00 2001
From: Gerome-Elassaad
Date: Sat, 27 Dec 2025 02:37:31 +1100
Subject: [PATCH 063/200] update CSS variables to use depth tokens and add glow
effect variables
---
app/styles/variables.scss | 22 +++++++++++++++-------
1 file changed, 15 insertions(+), 7 deletions(-)
diff --git a/app/styles/variables.scss b/app/styles/variables.scss
index ba78b444..340d87e8 100644
--- a/app/styles/variables.scss
+++ b/app/styles/variables.scss
@@ -70,9 +70,17 @@
/* Messages */
--codinit-elements-messages-background: #ffffff;
--codinit-elements-messages-linkColor: #18181b;
- --codinit-elements-messages-code-background: #18181b;
- --codinit-elements-messages-inlineCode-background: #f4f4f5;
- --codinit-elements-messages-inlineCode-text: #09090b;
+ --codinit-elements-messages-code-background: var(--codinit-elements-bg-depth-2);
+ --codinit-elements-messages-inlineCode-background: var(--codinit-elements-bg-depth-2);
+ --codinit-elements-messages-inlineCode-text: var(--codinit-elements-textPrimary);
+
+ --codinit-elements-glow-thinking-base: rgba(59, 130, 246, 0.1);
+ --codinit-elements-glow-thinking-primary: rgba(59, 130, 246, 0.25);
+ --codinit-elements-glow-thinking-secondary: rgba(147, 197, 253, 0.4);
+
+ --codinit-elements-glow-building-base: rgba(34, 197, 94, 0.1);
+ --codinit-elements-glow-building-primary: rgba(34, 197, 94, 0.3);
+ --codinit-elements-glow-building-secondary: rgba(74, 222, 128, 0.45);
/* Icons */
--codinit-elements-icon-success: #16a34a;
@@ -155,8 +163,8 @@
--codinit-elements-borderColorActive: #52525b;
/* Zinc-600 */
- --codinit-elements-bg-depth-1: #09090b;
- /* Zinc-950 base */
+ --codinit-elements-bg-depth-1: #101012;
+ /* Darker shade for cards/UI elements */
--codinit-elements-bg-depth-2: #18181b;
/* Zinc-900 */
--codinit-elements-bg-depth-3: #27272a;
@@ -222,8 +230,8 @@
--codinit-elements-messages-background: #18181b;
/* Card bubble */
--codinit-elements-messages-linkColor: #38bdf8;
- --codinit-elements-messages-code-background: #09090b;
- --codinit-elements-messages-inlineCode-background: #27272a;
+ --codinit-elements-messages-code-background: var(--codinit-elements-bg-depth-1);
+ --codinit-elements-messages-inlineCode-background: var(--codinit-elements-bg-depth-3);
--codinit-elements-messages-inlineCode-text: #e4e4e7;
/* Icons */
From e1f48089cf5aefc271a24cbfcf9795cd7d218b8f Mon Sep 17 00:00:00 2001
From: Gerome-Elassaad
Date: Sat, 27 Dec 2025 02:37:33 +1100
Subject: [PATCH 064/200] convert hardcoded glow colors to CSS custom
properties
---
app/styles/animations.scss | 133 +++++++++++++++++++++----------------
1 file changed, 75 insertions(+), 58 deletions(-)
diff --git a/app/styles/animations.scss b/app/styles/animations.scss
index 96fb3eb2..68b0dee5 100644
--- a/app/styles/animations.scss
+++ b/app/styles/animations.scss
@@ -51,15 +51,13 @@
// Thinking/Building glow effect
.thinking-glow {
--spread: 22px;
- --base-color: rgba(59, 130, 246, 0.1);
- --bg: linear-gradient(
- 135deg,
- rgba(59, 130, 246, 0.08) 0%,
- rgba(147, 197, 253, 0.12) 25%,
- rgba(59, 130, 246, 0.08) 50%,
- rgba(96, 165, 250, 0.1) 75%,
- rgba(59, 130, 246, 0.08) 100%
- );
+ --base-color: var(--codinit-elements-glow-thinking-base);
+ --bg: linear-gradient(135deg,
+ var(--codinit-elements-glow-thinking-base) 0%,
+ var(--codinit-elements-glow-thinking-primary) 25%,
+ var(--codinit-elements-glow-thinking-base) 50%,
+ var(--codinit-elements-glow-thinking-primary) 75%,
+ var(--codinit-elements-glow-thinking-base) 100%);
position: relative;
background-image: var(--bg), linear-gradient(var(--base-color), var(--base-color));
background-size:
@@ -70,8 +68,8 @@
border-radius: 8px;
overflow: hidden;
box-shadow:
- 0 0 0 1px rgba(59, 130, 246, 0.1),
- 0 0 var(--spread) rgba(59, 130, 246, 0.15),
+ 0 0 0 1px var(--codinit-elements-glow-thinking-base),
+ 0 0 var(--spread) var(--codinit-elements-glow-thinking-primary),
inset 0 1px 0 rgba(255, 255, 255, 0.1);
}
@@ -82,53 +80,60 @@
left: -100%;
width: 100%;
height: 100%;
- background: linear-gradient(
- 90deg,
- transparent,
- rgba(59, 130, 246, 0.25),
- rgba(147, 197, 253, 0.4),
- rgba(59, 130, 246, 0.25),
- transparent
- );
+ background: linear-gradient(90deg,
+ transparent,
+ var(--codinit-elements-glow-thinking-primary),
+ var(--codinit-elements-glow-thinking-secondary),
+ var(--codinit-elements-glow-thinking-primary),
+ transparent);
animation: thinkingShimmer 2s ease-in-out infinite;
}
.thinking-glow-text {
position: relative;
z-index: 1;
- background: linear-gradient(135deg, #3b82f6, #60a5fa, #93c5fd, #60a5fa, #3b82f6);
+ background: linear-gradient(135deg,
+ var(--codinit-elements-glow-thinking-primary),
+ var(--codinit-elements-glow-thinking-secondary),
+ var(--codinit-elements-glow-thinking-primary),
+ var(--codinit-elements-glow-thinking-secondary),
+ var(--codinit-elements-glow-thinking-primary));
background-size: 200% 200%;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
animation: thinkingTextGlow 2s ease-in-out infinite;
text-shadow:
- 0 0 8px rgba(59, 130, 246, 0.6),
- 0 0 16px rgba(59, 130, 246, 0.4),
- 0 0 24px rgba(59, 130, 246, 0.2);
+ 0 0 8px var(--codinit-elements-glow-thinking-primary),
+ 0 0 16px var(--codinit-elements-glow-thinking-secondary),
+ 0 0 24px var(--codinit-elements-glow-thinking-base);
}
@keyframes thinkingGlow {
+
0%,
100% {
background-position: 0% 50%;
- box-shadow: 0 0 5px rgba(59, 130, 246, 0.2);
+ box-shadow: 0 0 5px var(--codinit-elements-glow-thinking-base);
}
+
25% {
background-position: 100% 50%;
box-shadow:
- 0 0 15px rgba(59, 130, 246, 0.4),
- 0 0 25px rgba(59, 130, 246, 0.2);
+ 0 0 15px var(--codinit-elements-glow-thinking-primary),
+ 0 0 25px var(--codinit-elements-glow-thinking-base);
}
+
50% {
background-position: 50% 100%;
- box-shadow: 0 0 10px rgba(59, 130, 246, 0.3);
+ box-shadow: 0 0 10px var(--codinit-elements-glow-thinking-primary);
}
+
75% {
background-position: 100% 0%;
box-shadow:
- 0 0 20px rgba(59, 130, 246, 0.5),
- 0 0 30px rgba(59, 130, 246, 0.3);
+ 0 0 20px var(--codinit-elements-glow-thinking-primary),
+ 0 0 30px var(--codinit-elements-glow-thinking-base);
}
}
@@ -136,16 +141,19 @@
0% {
left: -100%;
}
+
100% {
left: 100%;
}
}
@keyframes thinkingTextGlow {
+
0%,
100% {
background-position: 0% 50%;
}
+
50% {
background-position: 100% 50%;
}
@@ -154,15 +162,13 @@
// Building status glow
.building-glow {
--spread: 18px;
- --base-color: rgba(34, 197, 94, 0.1);
- --bg: linear-gradient(
- 135deg,
- rgba(34, 197, 94, 0.08) 0%,
- rgba(74, 222, 128, 0.12) 25%,
- rgba(34, 197, 94, 0.08) 50%,
- rgba(34, 197, 94, 0.1) 75%,
- rgba(34, 197, 94, 0.08) 100%
- );
+ --base-color: var(--codinit-elements-glow-building-base);
+ --bg: linear-gradient(135deg,
+ var(--codinit-elements-glow-building-base) 0%,
+ var(--codinit-elements-glow-building-primary) 25%,
+ var(--codinit-elements-glow-building-base) 50%,
+ var(--codinit-elements-glow-building-primary) 75%,
+ var(--codinit-elements-glow-building-base) 100%);
position: relative;
background-image: var(--bg), linear-gradient(var(--base-color), var(--base-color));
background-size:
@@ -172,8 +178,8 @@
animation: buildingGlow 2.5s ease-in-out infinite;
border-radius: 6px;
box-shadow:
- 0 0 0 1px rgba(34, 197, 94, 0.1),
- 0 0 var(--spread) rgba(34, 197, 94, 0.15),
+ 0 0 0 1px var(--codinit-elements-glow-building-base),
+ 0 0 var(--spread) var(--codinit-elements-glow-building-primary),
inset 0 1px 0 rgba(255, 255, 255, 0.1);
}
@@ -184,47 +190,53 @@
left: -100%;
width: 100%;
height: 100%;
- background: linear-gradient(
- 90deg,
- transparent,
- rgba(34, 197, 94, 0.3),
- rgba(74, 222, 128, 0.45),
- rgba(34, 197, 94, 0.3),
- transparent
- );
+ background: linear-gradient(90deg,
+ transparent,
+ var(--codinit-elements-glow-building-primary),
+ var(--codinit-elements-glow-building-secondary),
+ var(--codinit-elements-glow-building-primary),
+ transparent);
animation: buildingShimmer 1.8s ease-in-out infinite;
}
.building-glow-text {
position: relative;
z-index: 1;
- background: linear-gradient(135deg, #22c55e, #4ade80, #86efac, #4ade80, #22c55e);
+ background: linear-gradient(135deg,
+ var(--codinit-elements-glow-building-base),
+ var(--codinit-elements-glow-building-primary),
+ var(--codinit-elements-glow-building-secondary),
+ var(--codinit-elements-glow-building-primary),
+ var(--codinit-elements-glow-building-base));
background-size: 200% 200%;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
animation: buildingTextGlow 1.8s ease-in-out infinite;
text-shadow:
- 0 0 6px rgba(34, 197, 94, 0.5),
- 0 0 12px rgba(34, 197, 94, 0.3),
- 0 0 18px rgba(34, 197, 94, 0.15);
+ 0 0 6px var(--codinit-elements-glow-building-primary),
+ 0 0 12px var(--codinit-elements-glow-building-secondary),
+ 0 0 18px var(--codinit-elements-glow-building-base);
}
@keyframes buildingGlow {
+
0%,
100% {
background-position: 0% 50%;
- box-shadow: 0 0 3px rgba(34, 197, 94, 0.15);
+ box-shadow: 0 0 3px var(--codinit-elements-glow-building-base);
}
+
33% {
background-position: 100% 50%;
box-shadow:
- 0 0 12px rgba(34, 197, 94, 0.3),
- 0 0 20px rgba(34, 197, 94, 0.15);
+ 0 0 12px var(--codinit-elements-glow-building-primary),
+ 0 0 20px var(--codinit-elements-glow-building-base);
}
+
66% {
background-position: 50% 100%;
- box-shadow: 0 0 8px rgba(34, 197, 94, 0.25);
+ box-shadow: 0 0 8px var(--codinit-elements-glow-building-primary);
}
}
@@ -232,16 +244,19 @@
0% {
left: -100%;
}
+
100% {
left: 100%;
}
}
@keyframes buildingTextGlow {
+
0%,
100% {
background-position: 0% 50%;
}
+
50% {
background-position: 100% 50%;
}
@@ -252,6 +267,7 @@
0% {
background-position: -250% center;
}
+
100% {
background-position: 250% center;
}
@@ -271,6 +287,7 @@
from {
opacity: 0;
}
+
to {
opacity: 1;
}
@@ -281,6 +298,7 @@
transform: translateX(-10px);
opacity: 0;
}
+
to {
transform: translateX(0);
opacity: 1;
@@ -299,5 +317,4 @@
.slide-in-from-left-2 {
animation-name: slide-in-from-left;
-}
-
+}
\ No newline at end of file
From fc32806440baf404c7e81a7175bc146acc4e2349 Mon Sep 17 00:00:00 2001
From: Gerome-Elassaad
Date: Sat, 27 Dec 2025 02:37:36 +1100
Subject: [PATCH 065/200] update code component styles with new depth tokens
---
app/styles/components/code.scss | 20 +++++++++++++-------
1 file changed, 13 insertions(+), 7 deletions(-)
diff --git a/app/styles/components/code.scss b/app/styles/components/code.scss
index 536596b0..298526a4 100644
--- a/app/styles/components/code.scss
+++ b/app/styles/components/code.scss
@@ -1,11 +1,17 @@
-.actions .shiki {
- background-color: var(--codinit-elements-actions-code-background) !important;
+.shiki {
+ background-color: var(--codinit-elements-code-background) !important;
border: 1px solid var(--codinit-elements-borderColor) !important;
-}
+ border-radius: 8px;
+ padding: 1rem;
+ font-family: ui-monospace, 'Fira Code', Menlo, Monaco, Consolas, monospace;
+ font-size: 13px;
+ line-height: 1.6;
-.shiki {
- &:not(:has(.actions), .actions *, .mcp-tool-invocation-code *) {
+ .actions & {
+ background-color: var(--codinit-elements-actions-code-background) !important;
+ }
+
+ &:not(.actions *) {
background-color: var(--codinit-elements-messages-code-background) !important;
- border: 1px solid var(--codinit-elements-borderColor) !important;
}
-}
+}
\ No newline at end of file
From 9caa12e87e15cd42bff93a52168eb0b3f106b2b9 Mon Sep 17 00:00:00 2001
From: Gerome-Elassaad
Date: Sat, 27 Dec 2025 02:37:38 +1100
Subject: [PATCH 066/200] update dialog component styles with new depth tokens
---
app/styles/components/dialog.scss | 31 ++++++++++++++++---------------
1 file changed, 16 insertions(+), 15 deletions(-)
diff --git a/app/styles/components/dialog.scss b/app/styles/components/dialog.scss
index cfd469d6..5cbeec32 100644
--- a/app/styles/components/dialog.scss
+++ b/app/styles/components/dialog.scss
@@ -1,19 +1,20 @@
@use '../variables.scss';
+/* Light theme dialog colors */
/* Light theme dialog colors */
:root[data-theme='light'] {
- --secondary-1: #ffffff;
- --secondary-2: #f8fafc;
- --secondary-3: #f1f5f9;
- --secondary-4: #e2e8f0;
+ --secondary-1: var(--codinit-elements-bg-depth-1);
+ --secondary-2: var(--codinit-elements-bg-depth-2);
+ --secondary-3: var(--codinit-elements-bg-depth-3);
+ --secondary-4: var(--codinit-elements-borderColor);
--secondary-5: rgba(0, 0, 0, 0.05);
--secondary-6: rgba(0, 0, 0, 0.08);
--secondary-7: rgba(0, 0, 0, 0.1);
--secondary-8: rgba(0, 0, 0, 0.12);
--secondary-9: rgba(0, 0, 0, 0.15);
--secondary-10: rgba(0, 0, 0, 0.2);
- --secondary-11: #64748b;
- --secondary-12: #0f172a;
+ --secondary-11: var(--codinit-elements-textSecondary);
+ --secondary-12: var(--codinit-elements-textPrimary);
--dialog-overlay-bg: rgba(0, 0, 0, 0.4);
--dialog-shadow-color: rgba(0, 0, 0, 0.1);
}
@@ -21,20 +22,20 @@
/* Dark theme dialog colors */
:root,
:root[data-theme='dark'] {
- --secondary-1: #1f1f1f;
- --secondary-2: #252525;
- --secondary-3: #2a2a2a;
- --secondary-4: #333333;
+ --secondary-1: var(--codinit-elements-bg-depth-3);
+ --secondary-2: var(--codinit-elements-bg-depth-2);
+ --secondary-3: var(--codinit-elements-bg-depth-1);
+ --secondary-4: var(--codinit-elements-borderColor);
--secondary-5: rgba(204, 204, 204, 0.1);
--secondary-6: rgba(204, 204, 204, 0.15);
--secondary-7: rgba(204, 204, 204, 0.2);
--secondary-8: rgba(204, 204, 204, 0.25);
--secondary-9: rgba(204, 204, 204, 0.3);
--secondary-10: rgba(204, 204, 204, 0.4);
- --secondary-11: #cccccc;
- --secondary-12: #ffffff;
- --dialog-overlay-bg: rgba(25, 25, 25, 0.7);
- --dialog-shadow-color: rgba(25, 25, 25, 0.3);
+ --secondary-11: var(--codinit-elements-textSecondary);
+ --secondary-12: var(--codinit-elements-textPrimary);
+ --dialog-overlay-bg: rgba(0, 0, 0, 0.7);
+ --dialog-shadow-color: rgba(0, 0, 0, 0.5);
}
/* Dialog specific styles */
@@ -49,4 +50,4 @@
box-shadow:
0 20px 25px -5px var(--dialog-shadow-color),
0 10px 10px -5px var(--dialog-shadow-color);
-}
+}
\ No newline at end of file
From 8c0c9f775203288a8556d4110296b9dcc8780847 Mon Sep 17 00:00:00 2001
From: Gerome-Elassaad
Date: Sat, 27 Dec 2025 02:37:40 +1100
Subject: [PATCH 067/200] update editor component styles with new depth tokens
---
app/styles/components/editor.scss | 132 +++++++++++++++---------------
1 file changed, 66 insertions(+), 66 deletions(-)
diff --git a/app/styles/components/editor.scss b/app/styles/components/editor.scss
index 4637cf95..9834439b 100644
--- a/app/styles/components/editor.scss
+++ b/app/styles/components/editor.scss
@@ -1,19 +1,19 @@
:root {
/* Base colors */
- --cm-backgroundColor: #0d1117;
+ --cm-backgroundColor: var(--codinit-elements-bg-depth-1);
/* editor background */
- --cm-textColor: #f0f6fc;
+ --cm-textColor: var(--codinit-elements-textPrimary);
/* primary text */
/* Gutter */
- --cm-gutter-backgroundColor: #0d1117;
- --cm-gutter-textColor: #8b949e;
+ --cm-gutter-backgroundColor: var(--codinit-elements-bg-depth-1);
+ --cm-gutter-textColor: var(--codinit-elements-textTertiary);
/* muted gray */
- --cm-gutter-activeLineTextColor: #f0f6fc;
+ --cm-gutter-activeLineTextColor: var(--codinit-elements-textSecondary);
/* Fold Gutter */
- --cm-foldGutter-textColor: #8b949e;
- --cm-foldGutter-textColorHover: #f0f6fc;
+ --cm-foldGutter-textColor: var(--codinit-elements-textTertiary);
+ --cm-foldGutter-textColorHover: var(--codinit-elements-textSecondary);
/* Active Line */
--cm-activeLineBackgroundColor: rgba(255, 255, 255, 0.04);
@@ -21,55 +21,55 @@
/* Cursor */
--cm-cursor-width: 2px;
- --cm-cursor-backgroundColor: #9ca3af;
+ --cm-cursor-backgroundColor: var(--codinit-elements-textSecondary);
/* Matching Brackets */
--cm-matching-bracket: rgba(80, 160, 255, 0.25);
/* Selection */
- --cm-selection-backgroundColorFocused: #42b4ff;
+ --cm-selection-backgroundColorFocused: var(--codinit-elements-terminals-brightBlue);
--cm-selection-backgroundOpacityFocused: 0.25;
- --cm-selection-backgroundColorBlured: #286b97;
+ --cm-selection-backgroundColorBlured: var(--codinit-elements-terminals-blue);
--cm-selection-backgroundOpacityBlured: 0.2;
/* Panels */
- --cm-panels-borderColor: rgba(255, 255, 255, 0.06);
+ --cm-panels-borderColor: var(--codinit-elements-borderColor);
/* Search */
- --cm-search-backgroundColor: #0d1117;
- --cm-search-textColor: #f0f6fc;
+ --cm-search-backgroundColor: var(--codinit-elements-bg-depth-2);
+ --cm-search-textColor: var(--codinit-elements-textPrimary);
--cm-search-closeButton-backgroundColor: transparent;
- --cm-search-closeButton-backgroundColorHover: rgba(255, 255, 255, 0.08);
+ --cm-search-closeButton-backgroundColorHover: var(--codinit-elements-bg-depth-3);
- --cm-search-closeButton-textColor: #9ca3af;
- --cm-search-closeButton-textColorHover: #ffffff;
+ --cm-search-closeButton-textColor: var(--codinit-elements-textTertiary);
+ --cm-search-closeButton-textColorHover: var(--codinit-elements-textPrimary);
- --cm-search-button-backgroundColor: #2c2c2f;
- --cm-search-button-backgroundColorHover: rgba(255, 255, 255, 0.08);
+ --cm-search-button-backgroundColor: var(--codinit-elements-bg-depth-3);
+ --cm-search-button-backgroundColorHover: var(--codinit-elements-bg-depth-4);
- --cm-search-button-textColor: #cbd5e1;
- --cm-search-button-textColorHover: #ffffff;
+ --cm-search-button-textColor: var(--codinit-elements-textSecondary);
+ --cm-search-button-textColorHover: var(--codinit-elements-textPrimary);
--cm-search-button-borderColor: transparent;
- --cm-search-button-borderColorHover: rgba(255, 255, 255, 0.15);
+ --cm-search-button-borderColorHover: var(--codinit-elements-borderColorActive);
- --cm-search-button-borderColorFocused: rgba(66, 180, 255, 0.8);
+ --cm-search-button-borderColorFocused: var(--codinit-elements-terminals-blue);
- --cm-search-input-backgroundColor: #2c2c31;
- --cm-search-input-textColor: white;
- --cm-search-input-borderColor: rgba(255, 255, 255, 0.12);
- --cm-search-input-borderColorFocused: rgba(66, 180, 255, 0.9);
+ --cm-search-input-backgroundColor: var(--codinit-elements-bg-depth-1);
+ --cm-search-input-textColor: var(--codinit-elements-textPrimary);
+ --cm-search-input-borderColor: var(--codinit-elements-borderColor);
+ --cm-search-input-borderColorFocused: var(--codinit-elements-terminals-blue);
/* Tooltip */
- --cm-tooltip-backgroundColor: #161b22;
- --cm-tooltip-textColor: #f0f6fc;
+ --cm-tooltip-backgroundColor: var(--codinit-elements-bg-depth-3);
+ --cm-tooltip-textColor: var(--codinit-elements-textPrimary);
--cm-tooltip-backgroundColorSelected: rgba(66, 180, 255, 0.2);
- --cm-tooltip-textColorSelected: #ffffff;
+ --cm-tooltip-textColorSelected: var(--codinit-elements-textPrimary);
- --cm-tooltip-borderColor: rgba(255, 255, 255, 0.08);
+ --cm-tooltip-borderColor: var(--codinit-elements-borderColor);
/* Search highlight */
--cm-searchMatch-backgroundColor: rgba(234, 92, 0, 0.4);
@@ -78,20 +78,20 @@
/* Light theme overrides */
html[data-theme='light'] {
/* Base colors */
- --cm-backgroundColor: #ffffff;
+ --cm-backgroundColor: var(--codinit-elements-bg-depth-1);
/* editor background */
- --cm-textColor: #1f2937;
+ --cm-textColor: var(--codinit-elements-textPrimary);
/* primary text */
/* Gutter */
- --cm-gutter-backgroundColor: #ffffff;
- --cm-gutter-textColor: #9ca3af;
+ --cm-gutter-backgroundColor: var(--codinit-elements-bg-depth-1);
+ --cm-gutter-textColor: var(--codinit-elements-textTertiary);
/* muted gray */
- --cm-gutter-activeLineTextColor: #374151;
+ --cm-gutter-activeLineTextColor: var(--codinit-elements-textSecondary);
/* Fold Gutter */
- --cm-foldGutter-textColor: #9ca3af;
- --cm-foldGutter-textColorHover: #374151;
+ --cm-foldGutter-textColor: var(--codinit-elements-textTertiary);
+ --cm-foldGutter-textColorHover: var(--codinit-elements-textSecondary);
/* Active Line */
--cm-activeLineBackgroundColor: rgba(0, 0, 0, 0.04);
@@ -99,55 +99,55 @@ html[data-theme='light'] {
/* Cursor */
--cm-cursor-width: 2px;
- --cm-cursor-backgroundColor: #6b7280;
+ --cm-cursor-backgroundColor: var(--codinit-elements-textSecondary);
/* Matching Brackets */
--cm-matching-bracket: rgba(59, 130, 246, 0.25);
/* Selection */
- --cm-selection-backgroundColorFocused: #3b82f6;
+ --cm-selection-backgroundColorFocused: var(--codinit-elements-terminals-brightBlue);
--cm-selection-backgroundOpacityFocused: 0.25;
- --cm-selection-backgroundColorBlured: #93c5fd;
+ --cm-selection-backgroundColorBlured: var(--codinit-elements-terminals-blue);
--cm-selection-backgroundOpacityBlured: 0.2;
/* Panels */
- --cm-panels-borderColor: rgba(0, 0, 0, 0.06);
+ --cm-panels-borderColor: var(--codinit-elements-borderColor);
/* Search */
- --cm-search-backgroundColor: #ffffff;
- --cm-search-textColor: #374151;
+ --cm-search-backgroundColor: var(--codinit-elements-bg-depth-1);
+ --cm-search-textColor: var(--codinit-elements-textPrimary);
--cm-search-closeButton-backgroundColor: transparent;
- --cm-search-closeButton-backgroundColorHover: rgba(0, 0, 0, 0.08);
+ --cm-search-closeButton-backgroundColorHover: var(--codinit-elements-bg-depth-2);
- --cm-search-closeButton-textColor: #6b7280;
- --cm-search-closeButton-textColorHover: #1f2937;
+ --cm-search-closeButton-textColor: var(--codinit-elements-textTertiary);
+ --cm-search-closeButton-textColorHover: var(--codinit-elements-textPrimary);
- --cm-search-button-backgroundColor: #f3f4f6;
- --cm-search-button-backgroundColorHover: rgba(0, 0, 0, 0.08);
+ --cm-search-button-backgroundColor: var(--codinit-elements-bg-depth-2);
+ --cm-search-button-backgroundColorHover: var(--codinit-elements-bg-depth-3);
- --cm-search-button-textColor: #374151;
- --cm-search-button-textColorHover: #1f2937;
+ --cm-search-button-textColor: var(--codinit-elements-textSecondary);
+ --cm-search-button-textColorHover: var(--codinit-elements-textPrimary);
--cm-search-button-borderColor: transparent;
- --cm-search-button-borderColorHover: rgba(0, 0, 0, 0.15);
+ --cm-search-button-borderColorHover: var(--codinit-elements-borderColorActive);
- --cm-search-button-borderColorFocused: rgba(59, 130, 246, 0.8);
+ --cm-search-button-borderColorFocused: var(--codinit-elements-terminals-blue);
- --cm-search-input-backgroundColor: #f9fafb;
- --cm-search-input-textColor: #1f2937;
- --cm-search-input-borderColor: rgba(0, 0, 0, 0.12);
- --cm-search-input-borderColorFocused: rgba(59, 130, 246, 0.9);
+ --cm-search-input-backgroundColor: var(--codinit-elements-bg-depth-2);
+ --cm-search-input-textColor: var(--codinit-elements-textPrimary);
+ --cm-search-input-borderColor: var(--codinit-elements-borderColor);
+ --cm-search-input-borderColorFocused: var(--codinit-elements-terminals-blue);
/* Tooltip */
- --cm-tooltip-backgroundColor: #ffffff;
- --cm-tooltip-textColor: #1f2937;
+ --cm-tooltip-backgroundColor: var(--codinit-elements-bg-depth-1);
+ --cm-tooltip-textColor: var(--codinit-elements-textPrimary);
--cm-tooltip-backgroundColorSelected: rgba(59, 130, 246, 0.2);
- --cm-tooltip-textColorSelected: #1f2937;
+ --cm-tooltip-textColorSelected: var(--codinit-elements-textPrimary);
- --cm-tooltip-borderColor: rgba(0, 0, 0, 0.08);
+ --cm-tooltip-borderColor: var(--codinit-elements-borderColor);
/* Search highlight */
--cm-searchMatch-backgroundColor: rgba(245, 101, 101, 0.4);
@@ -155,19 +155,19 @@ html[data-theme='light'] {
/* Dark theme overrides - pure neutral gray */
html[data-theme='dark'] {
- --cm-backgroundColor: #09090b;
+ --cm-backgroundColor: var(--codinit-elements-bg-depth-1);
/* Darker than depth-2 for contrast */
- --cm-gutter-backgroundColor: #09090b;
+ --cm-gutter-backgroundColor: var(--codinit-elements-bg-depth-1);
/* Consistent with editor background */
--cm-activeLineBackgroundColor: rgba(255, 255, 255, 0.08);
/* Subtle neutral highlight */
- --cm-selection-backgroundColorFocused: #cccccc;
+ --cm-selection-backgroundColorFocused: var(--codinit-elements-terminals-white);
/* Neutral gray selection */
--cm-selection-backgroundOpacityFocused: 0.25;
- --cm-tooltip-backgroundColor: #252525;
+ --cm-tooltip-backgroundColor: var(--codinit-elements-bg-depth-3);
/* Matches depth-3 */
- --cm-tooltip-borderColor: rgba(153, 153, 153, 0.2);
+ --cm-tooltip-borderColor: var(--codinit-elements-borderColor);
/* Neutral border */
- --cm-panels-borderColor: rgba(153, 153, 153, 0.1);
+ --cm-panels-borderColor: var(--codinit-elements-borderColor);
/* Neutral panel borders */
}
\ No newline at end of file
From 53ae259f8ab48ebce122ead10ce600559b102d77 Mon Sep 17 00:00:00 2001
From: Gerome-Elassaad
Date: Sat, 27 Dec 2025 02:38:00 +1100
Subject: [PATCH 068/200] update Switch component with new depth tokens
---
app/components/ui/Switch.tsx | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/app/components/ui/Switch.tsx b/app/components/ui/Switch.tsx
index 78426826..15fa18c9 100644
--- a/app/components/ui/Switch.tsx
+++ b/app/components/ui/Switch.tsx
@@ -12,11 +12,11 @@ export const Switch = memo(({ className, onCheckedChange, checked }: SwitchProps
return (
Date: Sat, 27 Dec 2025 02:38:03 +1100
Subject: [PATCH 069/200] update BackgroundRays styles with new depth tokens
---
app/components/ui/BackgroundRays/styles.module.scss | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/components/ui/BackgroundRays/styles.module.scss b/app/components/ui/BackgroundRays/styles.module.scss
index 0ba3d812..031c969e 100644
--- a/app/components/ui/BackgroundRays/styles.module.scss
+++ b/app/components/ui/BackgroundRays/styles.module.scss
@@ -16,7 +16,7 @@
pointer-events: none;
z-index: 0;
:global(html[data-theme='dark']) & {
- background-color: #141414; /* Changed from #1a1a1a to match description */
+ background-color: #141414; /* Changed from #999999 to match description */
}
:global(html[data-theme='dark']) & {
From 2ccc3c7994cf2697d3ce685874f08c37f4cf9dcc Mon Sep 17 00:00:00 2001
From: Gerome-Elassaad
Date: Sat, 27 Dec 2025 02:38:13 +1100
Subject: [PATCH 070/200] update ControlPanel with new depth tokens
---
app/components/@settings/core/ControlPanel.tsx | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/app/components/@settings/core/ControlPanel.tsx b/app/components/@settings/core/ControlPanel.tsx
index d4a13f05..ce8fa65e 100644
--- a/app/components/@settings/core/ControlPanel.tsx
+++ b/app/components/@settings/core/ControlPanel.tsx
@@ -103,7 +103,7 @@ const AnimatedSwitch = ({ checked, onCheckedChange, id, label }: AnimatedSwitchP
className={classNames(
'relative inline-flex h-6 w-11 items-center rounded-full',
'transition-all duration-300 ease-[cubic-bezier(0.87,_0,_0.13,_1)]',
- 'bg-codinit-elements-bg-depth-3',
+ 'bg-codinit-elements-background-depth-3',
'data-[state=checked]:bg-blue-500',
'focus:outline-none focus:ring-2 focus:ring-blue-500/20',
'cursor-pointer',
@@ -441,7 +441,7 @@ export const ControlPanel = ({ open, onClose }: ControlPanelProps) => {
Date: Sat, 27 Dec 2025 02:38:17 +1100
Subject: [PATCH 071/200] update ControlPanelDialog with new depth tokens
---
.../ControlPanelDialog/ControlPanelDialog.tsx | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/app/components/@settings/core/ControlPanelDialog/ControlPanelDialog.tsx b/app/components/@settings/core/ControlPanelDialog/ControlPanelDialog.tsx
index 0c17d37f..4a93383e 100644
--- a/app/components/@settings/core/ControlPanelDialog/ControlPanelDialog.tsx
+++ b/app/components/@settings/core/ControlPanelDialog/ControlPanelDialog.tsx
@@ -32,9 +32,9 @@ export function ControlPanelDialog({ isOpen, onClose, initialTab = 'settings' }:
-
+
);
}
From 5889b4bc9e25ede151f2158d6a6f10a8a4eb74cc Mon Sep 17 00:00:00 2001
From: Gerome-Elassaad
Date: Sat, 27 Dec 2025 02:38:26 +1100
Subject: [PATCH 072/200] update ControlPanelContent with new depth tokens
---
.../ControlPanelDialog/components/ControlPanelContent.tsx | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/app/components/@settings/core/ControlPanelDialog/components/ControlPanelContent.tsx b/app/components/@settings/core/ControlPanelDialog/components/ControlPanelContent.tsx
index 3fdc86b6..63531f94 100644
--- a/app/components/@settings/core/ControlPanelDialog/components/ControlPanelContent.tsx
+++ b/app/components/@settings/core/ControlPanelDialog/components/ControlPanelContent.tsx
@@ -106,13 +106,15 @@ export function ControlPanelContent({ activeTab }: ControlPanelContentProps) {
{/* Header */}
-
+
-
{TAB_LABELS[activeTab]}
+
+ {TAB_LABELS[activeTab]}
+
From 4042ee0a48e6b12c4c5cce1dff0b0aecdbd8bd2d Mon Sep 17 00:00:00 2001
From: Gerome-Elassaad
Date: Sat, 27 Dec 2025 02:38:40 +1100
Subject: [PATCH 073/200] update ControlPanelSidebar with new depth tokens
---
.../components/ControlPanelSidebar.tsx | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/app/components/@settings/core/ControlPanelDialog/components/ControlPanelSidebar.tsx b/app/components/@settings/core/ControlPanelDialog/components/ControlPanelSidebar.tsx
index 0baa74d1..2b61f14e 100644
--- a/app/components/@settings/core/ControlPanelDialog/components/ControlPanelSidebar.tsx
+++ b/app/components/@settings/core/ControlPanelDialog/components/ControlPanelSidebar.tsx
@@ -24,12 +24,12 @@ export function ControlPanelSidebar({ activeTab, onTabChange, tabs }: ControlPan
id={`settings-item-${tab.id}`}
onClick={() => onTabChange(tab.id)}
className={classNames(
- 'w-full flex items-center shrink-0 justify-center md:justify-start gap-3 h-[33px] px-2.5 rounded-md text-sm font-medium',
+ 'w-full flex items-center shrink-0 justify-center md:justify-start gap-3 h-[36px] px-3 rounded-full text-sm font-medium',
'focus-visible:outline-2 focus-visible:outline-codinit-elements-borderColor',
- 'transition-colors duration-200',
+ 'transition-all duration-200',
isActive
- ? 'bg-codinit-elements-item-backgroundActive text-codinit-elements-textPrimary'
- : 'bg-transparent hover:bg-codinit-elements-background-depth-3 text-codinit-elements-textTertiary hover:text-codinit-elements-textPrimary',
+ ? 'bg-codinit-elements-item-backgroundActive text-codinit-elements-textPrimary font-semibold shadow-sm'
+ : 'bg-transparent hover:bg-codinit-elements-background-depth-2 text-codinit-elements-textSecondary hover:text-codinit-elements-textPrimary',
)}
>
@@ -43,9 +43,9 @@ export function ControlPanelSidebar({ activeTab, onTabChange, tabs }: ControlPan
From 01fada47794a4cd3b48ae064c72e02261f6b02f6 Mon Sep 17 00:00:00 2001
From: Gerome-Elassaad
Date: Sat, 27 Dec 2025 02:38:57 +1100
Subject: [PATCH 074/200] update settings constants with new depth tokens
---
app/components/@settings/core/constants.ts | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/app/components/@settings/core/constants.ts b/app/components/@settings/core/constants.ts
index bd0a95ab..f342ad10 100644
--- a/app/components/@settings/core/constants.ts
+++ b/app/components/@settings/core/constants.ts
@@ -64,10 +64,10 @@ export const DEFAULT_TAB_CONFIG = [
{ id: 'notifications', visible: true, window: 'user' as const, order: 5 },
// User Window Tabs (In dropdown, initially hidden)
- { id: 'profile', visible: false, window: 'user' as const, order: 7 },
- { id: 'settings', visible: false, window: 'user' as const, order: 8 },
+ { id: 'profile', visible: true, window: 'user' as const, order: 7 },
+ { id: 'settings', visible: true, window: 'user' as const, order: 8 },
{ id: 'api-keys', visible: true, window: 'user' as const, order: 9 },
- { id: 'service-status', visible: false, window: 'user' as const, order: 11 },
+ { id: 'service-status', visible: true, window: 'user' as const, order: 11 },
// User Window Tabs (Hidden, controlled by TaskManagerTab)
{ id: 'debug', visible: false, window: 'user' as const, order: 12 },
From a0c5ea2cd10b42ba9ce0ac343d5d081584771452 Mon Sep 17 00:00:00 2001
From: Gerome-Elassaad
Date: Sat, 27 Dec 2025 02:39:09 +1100
Subject: [PATCH 075/200] update DraggableTabList with new depth tokens
---
app/components/@settings/shared/components/DraggableTabList.tsx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/components/@settings/shared/components/DraggableTabList.tsx b/app/components/@settings/shared/components/DraggableTabList.tsx
index 2ae83eaa..a0f0d37c 100644
--- a/app/components/@settings/shared/components/DraggableTabList.tsx
+++ b/app/components/@settings/shared/components/DraggableTabList.tsx
@@ -79,7 +79,7 @@ const DraggableTabItem = ({
}}
className={classNames(
'flex items-center justify-between p-4 rounded-lg',
- 'bg-[#F5F5F5] dark:bg-[#1A1A1A]',
+ 'bg-[#F5F5F5] dark:bg-[#999999]',
'border border-[#E5E5E5] dark:border-[#333333]',
isDragging ? 'z-50' : '',
)}
From 5599e7936c4d340a0dd0369314d649d26ab2cffe Mon Sep 17 00:00:00 2001
From: Gerome-Elassaad
Date: Sat, 27 Dec 2025 02:39:12 +1100
Subject: [PATCH 076/200] update SettingsCard with new depth tokens
---
.../@settings/shared/components/SettingsCard.tsx | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/app/components/@settings/shared/components/SettingsCard.tsx b/app/components/@settings/shared/components/SettingsCard.tsx
index a6a849e2..ee9eb0a3 100644
--- a/app/components/@settings/shared/components/SettingsCard.tsx
+++ b/app/components/@settings/shared/components/SettingsCard.tsx
@@ -14,7 +14,7 @@ export const SettingsCard: React.FC = ({ children, variant =
switch (variant) {
case 'elevated':
return classNames(
- 'bg-white dark:bg-[#0F0F0F]',
+ 'bg-white dark:bg-gray-800/50',
'border border-[#E5E5E5] dark:border-[#2A2A2A]',
'shadow-lg dark:shadow-xl',
'hover:shadow-xl dark:hover:shadow-2xl',
@@ -24,7 +24,7 @@ export const SettingsCard: React.FC = ({ children, variant =
);
case 'gradient':
return classNames(
- 'bg-gradient-to-br from-white to-gray-50/50 dark:from-[#0F0F0F] dark:to-[#1A1A1A]',
+ 'bg-gradient-to-br from-white to-gray-50/50 dark:from-[#0F0F0F] dark:to-[#999999]',
'border border-[#E5E5E5] dark:border-[#2A2A2A]',
'shadow-md dark:shadow-lg',
'hover:shadow-lg dark:hover:shadow-xl',
@@ -35,8 +35,8 @@ export const SettingsCard: React.FC = ({ children, variant =
);
case 'compact':
return classNames(
- 'bg-white dark:bg-[#0A0A0A]',
- 'border border-[#E5E5E5] dark:border-[#1A1A1A]',
+ 'bg-white dark:bg-gray-800/50',
+ 'border border-[#E5E5E5] dark:border-[#999999]',
'shadow-sm dark:shadow-none',
'hover:shadow-md dark:hover:shadow-lg',
'hover:border-blue-200 dark:hover:border-blue-800/20',
@@ -44,8 +44,8 @@ export const SettingsCard: React.FC = ({ children, variant =
);
default:
return classNames(
- 'bg-white dark:bg-[#0A0A0A]',
- 'border border-[#E5E5E5] dark:border-[#1A1A1A]',
+ 'bg-white dark:bg-gray-800/50',
+ 'border border-[#E5E5E5] dark:border-[#999999]',
'shadow-sm dark:shadow-none',
'hover:shadow-md dark:hover:shadow-lg',
'hover:border-blue-200 dark:hover:border-blue-800/20',
From c6887bf5630008e3bb952c00b37c86b1aa0e2cd2 Mon Sep 17 00:00:00 2001
From: Gerome-Elassaad
Date: Sat, 27 Dec 2025 02:39:14 +1100
Subject: [PATCH 077/200] update TabTile with new depth tokens
---
app/components/@settings/shared/components/TabTile.tsx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/components/@settings/shared/components/TabTile.tsx b/app/components/@settings/shared/components/TabTile.tsx
index 0eb95800..d9e653f5 100644
--- a/app/components/@settings/shared/components/TabTile.tsx
+++ b/app/components/@settings/shared/components/TabTile.tsx
@@ -36,7 +36,7 @@ export const TabTile: React.FC = ({
className={classNames(
'relative flex flex-col items-center p-10 rounded-2xl',
'w-full h-full min-h-[200px]',
- 'bg-gradient-to-br from-white to-gray-50/30 dark:from-[#0F0F0F] dark:to-[#1A1A1A]',
+ 'bg-gradient-to-br from-white to-gray-50/30 dark:from-[#0F0F0F] dark:to-[#999999]',
'border-2',
isActive
? 'border-blue-400 dark:border-blue-500/60 bg-gradient-to-br from-blue-50/80 to-purple-50/40 dark:from-blue-950/30 dark:to-purple-950/20'
From a89a8142429dae1632c5075411bd649276728bc9 Mon Sep 17 00:00:00 2001
From: Gerome-Elassaad
Date: Sat, 27 Dec 2025 02:39:24 +1100
Subject: [PATCH 078/200] update APIKeysTab with new depth tokens
---
app/components/@settings/tabs/api-keys/APIKeysTab.tsx | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/app/components/@settings/tabs/api-keys/APIKeysTab.tsx b/app/components/@settings/tabs/api-keys/APIKeysTab.tsx
index 0389ba73..9252247f 100644
--- a/app/components/@settings/tabs/api-keys/APIKeysTab.tsx
+++ b/app/components/@settings/tabs/api-keys/APIKeysTab.tsx
@@ -250,7 +250,7 @@ export default function ApiKeysTab() {
defaultValue={apiKeys[provider.name] || ''}
className={classNames(
'flex-1 px-3 py-2 rounded-lg text-sm',
- 'bg-white dark:bg-[#0F0F0F]',
+ 'bg-white dark:bg-gray-800/50',
'border border-gray-200 dark:border-[#2A2A2A]',
'text-codinit-elements-textPrimary',
'focus:outline-none focus:ring-2 focus:ring-blue-500/30 focus:border-blue-400',
@@ -282,7 +282,7 @@ export default function ApiKeysTab() {
) : (
-
+
{maskApiKey(apiKeys[provider.name])}
Date: Sat, 27 Dec 2025 02:39:33 +1100
Subject: [PATCH 079/200] update CloudflareConnection with new depth tokens
---
.../@settings/tabs/connections/CloudflareConnection.tsx | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/app/components/@settings/tabs/connections/CloudflareConnection.tsx b/app/components/@settings/tabs/connections/CloudflareConnection.tsx
index 4a835d89..369b47dc 100644
--- a/app/components/@settings/tabs/connections/CloudflareConnection.tsx
+++ b/app/components/@settings/tabs/connections/CloudflareConnection.tsx
@@ -70,7 +70,7 @@ export default function CloudflareConnection() {
return (
-
+
Account: {connection.user.name || 'Cloudflare Account'}
@@ -200,7 +200,7 @@ export default function CloudflareConnection() {
placeholder="Enter your Cloudflare API token"
className={classNames(
'w-full px-3 py-2 rounded-lg text-sm',
- 'bg-[#F8F8F8] dark:bg-[#1A1A1A]',
+ 'bg-[#F8F8F8] dark:bg-[#999999]',
'border border-[#E5E5E5] dark:border-[#333333]',
'text-codinit-elements-textPrimary placeholder-codinit-elements-textTertiary',
'focus:outline-none focus:ring-1 focus:ring-codinit-elements-borderColorActive',
@@ -230,7 +230,7 @@ export default function CloudflareConnection() {
placeholder="Enter your Cloudflare Account ID"
className={classNames(
'w-full px-3 py-2 rounded-lg text-sm',
- 'bg-[#F8F8F8] dark:bg-[#1A1A1A]',
+ 'bg-[#F8F8F8] dark:bg-[#999999]',
'border border-[#E5E5E5] dark:border-[#333333]',
'text-codinit-elements-textPrimary placeholder-codinit-elements-textTertiary',
'focus:outline-none focus:ring-1 focus:ring-codinit-elements-borderColorActive',
From 5d772c34f4e63e800099afc13de03311b9ef5e1e Mon Sep 17 00:00:00 2001
From: Gerome-Elassaad
Date: Sat, 27 Dec 2025 02:39:35 +1100
Subject: [PATCH 080/200] update ConnectionDiagnostics with new depth tokens
---
.../tabs/connections/ConnectionDiagnostics.tsx | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/app/components/@settings/tabs/connections/ConnectionDiagnostics.tsx b/app/components/@settings/tabs/connections/ConnectionDiagnostics.tsx
index 8faa9da0..39d8e64a 100644
--- a/app/components/@settings/tabs/connections/ConnectionDiagnostics.tsx
+++ b/app/components/@settings/tabs/connections/ConnectionDiagnostics.tsx
@@ -245,7 +245,7 @@ export default function ConnectionDiagnostics() {
{/* Connection Status Cards */}
{/* GitHub Connection Card */}
-
+
@@ -311,7 +311,7 @@ export default function ConnectionDiagnostics() {
{/* Netlify Connection Card */}
-
+
@@ -376,7 +376,7 @@ export default function ConnectionDiagnostics() {
{/* Vercel Connection Card */}
-
+
@@ -441,7 +441,7 @@ export default function ConnectionDiagnostics() {
{/* Supabase Connection Card */}
-
+
@@ -565,7 +565,7 @@ export default function ConnectionDiagnostics() {
-
+
@@ -581,7 +581,7 @@ export default function ConnectionDiagnostics() {
-
+
{JSON.stringify(diagnosticResults, null, 2)}
From 8c5ad43a5407588007f89a8cc4282b72217f30bb Mon Sep 17 00:00:00 2001
From: Gerome-Elassaad
Date: Sat, 27 Dec 2025 02:39:37 +1100
Subject: [PATCH 081/200] update ConnectionsTab with new depth tokens
---
.../@settings/tabs/connections/ConnectionsTab.tsx | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/app/components/@settings/tabs/connections/ConnectionsTab.tsx b/app/components/@settings/tabs/connections/ConnectionsTab.tsx
index bde6505b..1e44eb38 100644
--- a/app/components/@settings/tabs/connections/ConnectionsTab.tsx
+++ b/app/components/@settings/tabs/connections/ConnectionsTab.tsx
@@ -12,7 +12,7 @@ const CloudflareConnection = React.lazy(() => import('./CloudflareConnection'));
// Loading fallback component
const LoadingFallback = () => (
-
+
Loading connection...
@@ -99,12 +99,12 @@ export default function ConnectionsTab() {
You can configure connections using environment variables in your{' '}
-
+
.env.local
{' '}
file:
-
+
# GitHub Authentication
@@ -131,7 +131,7 @@ export default function ConnectionsTab() {
classic - Personal Access Token with{' '}
-
+
repo, read:org, read:user
{' '}
scopes
@@ -166,7 +166,7 @@ export default function ConnectionsTab() {
{/* Additional help text */}
-
+
Troubleshooting Tip:
From 879712a2abc9ae590365ffa25e423c2a2e9c23a3 Mon Sep 17 00:00:00 2001
From: Gerome-Elassaad
Date: Sat, 27 Dec 2025 02:39:39 +1100
Subject: [PATCH 082/200] update GithubConnection with new depth tokens
---
.../tabs/connections/GithubConnection.tsx | 29 +++++++++----------
1 file changed, 14 insertions(+), 15 deletions(-)
diff --git a/app/components/@settings/tabs/connections/GithubConnection.tsx b/app/components/@settings/tabs/connections/GithubConnection.tsx
index 272ad5d0..6daf4944 100644
--- a/app/components/@settings/tabs/connections/GithubConnection.tsx
+++ b/app/components/@settings/tabs/connections/GithubConnection.tsx
@@ -552,18 +552,18 @@ export default function GitHubConnection() {
{!connection.user && (
-
+
Tip: You can also set the{' '}
-
+
VITE_GITHUB_ACCESS_TOKEN
{' '}
environment variable to connect automatically.
For fine-grained tokens, also set{' '}
-
+
VITE_GITHUB_TOKEN_TYPE=fine-grained
@@ -584,7 +584,7 @@ export default function GitHubConnection() {
disabled={isConnecting || !!connection.user}
className={classNames(
'w-full px-3 py-2 rounded-lg text-sm',
- 'bg-codinit-elements-background-depth-1 dark:bg-codinit-elements-background-depth-1',
+ 'bg-codinit-elements-background-depth-1 dark:bg-gray-800/50',
'border border-codinit-elements-borderColor dark:border-codinit-elements-borderColor',
'text-codinit-elements-textPrimary dark:text-codinit-elements-textPrimary',
'focus:outline-none focus:ring-1 focus:ring-codinit-elements-item-contentAccent dark:focus:ring-codinit-elements-item-contentAccent',
@@ -605,12 +605,11 @@ export default function GitHubConnection() {
value={connection.token}
onChange={(e) => setConnection((prev) => ({ ...prev, token: e.target.value }))}
disabled={isConnecting || !!connection.user}
- placeholder={`Enter your GitHub ${
- connection.tokenType === 'classic' ? 'personal access token' : 'fine-grained token'
- }`}
+ placeholder={`Enter your GitHub ${connection.tokenType === 'classic' ? 'personal access token' : 'fine-grained token'
+ }`}
className={classNames(
'w-full px-3 py-2 rounded-lg text-sm',
- 'bg-[#F8F8F8] dark:bg-[#1A1A1A]',
+ 'bg-[#F8F8F8] dark:bg-[#999999]',
'border border-[#E5E5E5] dark:border-[#333333]',
'text-codinit-elements-textPrimary placeholder-codinit-elements-textTertiary',
'focus:outline-none focus:ring-1 focus:ring-codinit-elements-borderColorActive',
@@ -721,7 +720,7 @@ export default function GitHubConnection() {
{connection.user && connection.stats && (
-
+
-
+
GitHub Stats
@@ -794,7 +793,7 @@ export default function GitHubConnection() {
].map((stat, index) => (
{stat.label}
{stat.value}
@@ -820,7 +819,7 @@ export default function GitHubConnection() {
].map((stat, index) => (
{stat.label}
@@ -858,7 +857,7 @@ export default function GitHubConnection() {
].map((stat, index) => (
{stat.label}
@@ -885,7 +884,7 @@ export default function GitHubConnection() {
].map((stat, index) => (
{stat.label}
@@ -914,7 +913,7 @@ export default function GitHubConnection() {
href={repo.html_url}
target="_blank"
rel="noopener noreferrer"
- className="group block p-4 rounded-lg bg-codinit-elements-background-depth-1 dark:bg-codinit-elements-background-depth-1 border border-codinit-elements-borderColor dark:border-codinit-elements-borderColor hover:border-codinit-elements-borderColorActive dark:hover:border-codinit-elements-borderColorActive transition-all duration-200"
+ className="group block p-4 rounded-lg bg-codinit-elements-background-depth-1 dark:bg-gray-800/50 border border-codinit-elements-borderColor dark:border-codinit-elements-borderColor hover:border-codinit-elements-borderColorActive dark:hover:border-codinit-elements-borderColorActive transition-all duration-200"
>
From 294a902af46b852afafb9594584c7e7051cdf1c2 Mon Sep 17 00:00:00 2001
From: Gerome-Elassaad
Date: Sat, 27 Dec 2025 02:39:49 +1100
Subject: [PATCH 083/200] update NetlifyConnection with new depth tokens
---
.../tabs/connections/NetlifyConnection.tsx | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/app/components/@settings/tabs/connections/NetlifyConnection.tsx b/app/components/@settings/tabs/connections/NetlifyConnection.tsx
index ff4205fe..7c3d6010 100644
--- a/app/components/@settings/tabs/connections/NetlifyConnection.tsx
+++ b/app/components/@settings/tabs/connections/NetlifyConnection.tsx
@@ -299,7 +299,7 @@ export default function NetlifyConnection() {
-
+
@@ -343,7 +343,7 @@ export default function NetlifyConnection() {
{sites.length > 0 && (
-
+
@@ -370,7 +370,7 @@ export default function NetlifyConnection() {
{activeSiteIndex !== -1 && deploys.length > 0 && (
-
+
@@ -485,7 +485,7 @@ export default function NetlifyConnection() {
{deploys.map((deploy) => (
@@ -578,7 +578,7 @@ export default function NetlifyConnection() {
)}
{activeSiteIndex !== -1 && builds.length > 0 && (
-
+
@@ -589,7 +589,7 @@ export default function NetlifyConnection() {
{builds.map((build) => (
@@ -659,7 +659,7 @@ export default function NetlifyConnection() {
placeholder="Enter your Netlify API token"
className={classNames(
'w-full px-3 py-2 rounded-lg text-sm',
- 'bg-[#F8F8F8] dark:bg-[#1A1A1A]',
+ 'bg-[#F8F8F8] dark:bg-[#999999]',
'border border-[#E5E5E5] dark:border-[#333333]',
'text-codinit-elements-textPrimary placeholder-codinit-elements-textTertiary',
'focus:outline-none focus:ring-1 focus:ring-codinit-elements-borderColorActive',
From b434def4aba55941c0f785b7e00acad74f3d5bc2 Mon Sep 17 00:00:00 2001
From: Gerome-Elassaad
Date: Sat, 27 Dec 2025 02:39:50 +1100
Subject: [PATCH 084/200] update ConnectionForm with new depth tokens
---
.../connections/components/ConnectionForm.tsx | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/app/components/@settings/tabs/connections/components/ConnectionForm.tsx b/app/components/@settings/tabs/connections/components/ConnectionForm.tsx
index b71dd436..01293b39 100644
--- a/app/components/@settings/tabs/connections/components/ConnectionForm.tsx
+++ b/app/components/@settings/tabs/connections/components/ConnectionForm.tsx
@@ -37,11 +37,11 @@ export function ConnectionForm({ authState, setAuthState, onSave, onDisconnect }
}, []);
return (
-
+
-
+
@@ -62,9 +62,9 @@ export function ConnectionForm({ authState, setAuthState, onSave, onDisconnect }
value={authState.username}
onChange={(e) => setAuthState((prev: GitHubAuthState) => ({ ...prev, username: e.target.value }))}
className={classNames(
- 'w-full px-4 py-2.5 bg-[#F5F5F5] dark:bg-[#1A1A1A] border rounded-lg',
+ 'w-full px-4 py-2.5 bg-[#F5F5F5] dark:bg-[#999999] border rounded-lg',
'text-codinit-elements-textPrimary placeholder-codinit-elements-textTertiary text-base',
- 'border-[#E5E5E5] dark:border-[#1A1A1A]',
+ 'border-[#E5E5E5] dark:border-[#999999]',
'focus:ring-2 focus:ring-blue-500/50 focus:border-blue-500',
'transition-all duration-200',
)}
@@ -113,9 +113,9 @@ export function ConnectionForm({ authState, setAuthState, onSave, onDisconnect }
}))
}
className={classNames(
- 'w-full px-4 py-2.5 bg-[#F5F5F5] dark:bg-[#1A1A1A] border rounded-lg',
+ 'w-full px-4 py-2.5 bg-[#F5F5F5] dark:bg-[#999999] border rounded-lg',
'text-codinit-elements-textPrimary placeholder-codinit-elements-textTertiary text-base',
- 'border-[#E5E5E5] dark:border-[#1A1A1A]',
+ 'border-[#E5E5E5] dark:border-[#999999]',
'focus:ring-2 focus:ring-blue-500/50 focus:border-blue-500',
'transition-all duration-200',
)}
@@ -123,7 +123,7 @@ export function ConnectionForm({ authState, setAuthState, onSave, onDisconnect }
/>
-