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
diff --git a/app/components/@settings/core/constants.ts b/app/components/@settings/core/constants.ts
index d74c211a..f342ad10 100644
--- a/app/components/@settings/core/constants.ts
+++ b/app/components/@settings/core/constants.ts
@@ -62,14 +62,12 @@ export const DEFAULT_TAB_CONFIG = [
{ id: 'local-providers', visible: true, window: 'user' as const, order: 3 },
{ id: 'connection', visible: true, window: 'user' as const, order: 4 },
{ id: 'notifications', visible: true, window: 'user' as const, order: 5 },
- { id: 'event-logs', visible: true, window: 'user' as const, order: 6 },
// 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: 'task-manager', visible: false, window: 'user' as const, order: 10 },
- { 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 },
@@ -82,11 +80,9 @@ export const DEFAULT_TAB_CONFIG = [
{ id: 'local-providers', visible: true, window: 'developer' as const, order: 3 },
{ id: 'connection', visible: true, window: 'developer' as const, order: 4 },
{ id: 'notifications', visible: true, window: 'developer' as const, order: 5 },
- { id: 'event-logs', visible: true, window: 'developer' as const, order: 6 },
{ id: 'profile', visible: true, window: 'developer' as const, order: 7 },
{ id: 'settings', visible: true, window: 'developer' as const, order: 8 },
{ id: 'api-keys', visible: true, window: 'developer' as const, order: 9 },
- { id: 'task-manager', visible: true, window: 'developer' as const, order: 10 },
{ id: 'service-status', visible: true, window: 'developer' as const, order: 11 },
{ id: 'debug', visible: true, window: 'developer' as const, order: 12 },
{ id: 'update', visible: true, window: 'developer' as const, order: 13 },
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' : '',
)}
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',
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'
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])}
-
+
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',
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)}
diff --git a/app/components/@settings/tabs/connections/ConnectionsTab.tsx b/app/components/@settings/tabs/connections/ConnectionsTab.tsx
index bde6505b..cc732060 100644
--- a/app/components/@settings/tabs/connections/ConnectionsTab.tsx
+++ b/app/components/@settings/tabs/connections/ConnectionsTab.tsx
@@ -1,6 +1,5 @@
import { motion } from 'framer-motion';
import React, { Suspense, useState } from 'react';
-import { classNames } from '~/utils/classNames';
import ConnectionDiagnostics from './ConnectionDiagnostics';
import { Button } from '~/components/ui/Button';
import VercelConnection from './VercelConnection';
@@ -12,7 +11,7 @@ const CloudflareConnection = React.lazy(() => import('./CloudflareConnection'));
// Loading fallback component
const LoadingFallback = () => (
-
+
Loading connection...
@@ -21,7 +20,6 @@ const LoadingFallback = () => (
);
export default function ConnectionsTab() {
- const [isEnvVarsExpanded, setIsEnvVarsExpanded] = useState(false);
const [showDiagnostics, setShowDiagnostics] = useState(false);
return (
@@ -64,92 +62,6 @@ export default function ConnectionsTab() {
{/* Diagnostics Tool - Conditionally rendered */}
{showDiagnostics &&
}
- {/* Environment Variables Info - Collapsible */}
-
-
-
setIsEnvVarsExpanded(!isEnvVarsExpanded)}
- className={classNames(
- 'w-full bg-transparent flex items-center justify-between',
- 'hover:bg-codinit-elements-item-backgroundActive/10 hover:text-codinit-elements-textPrimary',
- 'dark:hover:bg-codinit-elements-item-backgroundActive/10 dark:hover:text-codinit-elements-textPrimary',
- 'rounded-md p-2 -m-2 transition-colors',
- )}
- >
-
-
-
- Environment Variables
-
-
-
-
-
- {isEnvVarsExpanded && (
-
-
- You can configure connections using environment variables in your{' '}
-
- .env.local
- {' '}
- file:
-
-
-
- # GitHub Authentication
-
-
- VITE_GITHUB_ACCESS_TOKEN=your_token_here
-
-
- # Optional: Specify token type (defaults to 'classic' if not specified)
-
-
- VITE_GITHUB_TOKEN_TYPE=classic|fine-grained
-
-
- # Netlify Authentication
-
-
- VITE_NETLIFY_ACCESS_TOKEN=your_token_here
-
-
-
-
- Token types:
-
-
-
- classic - Personal Access Token with{' '}
-
- repo, read:org, read:user
- {' '}
- scopes
-
-
- fine-grained - Fine-grained token with Repository and
- Organization access
-
-
-
- When set, these variables will be used automatically without requiring manual connection.
-
-
-
- )}
-
-
-
}>
@@ -166,7 +78,7 @@ export default function ConnectionsTab() {
{/* Additional help text */}
-
+
Troubleshooting Tip:
diff --git a/app/components/@settings/tabs/connections/GithubConnection.tsx b/app/components/@settings/tabs/connections/GithubConnection.tsx
index 272ad5d0..99cee4ef 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',
@@ -610,7 +610,7 @@ export default function GitHubConnection() {
}`}
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 +721,7 @@ export default function GitHubConnection() {
{connection.user && connection.stats && (
-
+
-
+
GitHub Stats
@@ -794,7 +794,7 @@ export default function GitHubConnection() {
].map((stat, index) => (
{stat.label}
{stat.value}
@@ -820,7 +820,7 @@ export default function GitHubConnection() {
].map((stat, index) => (
{stat.label}
@@ -858,7 +858,7 @@ export default function GitHubConnection() {
].map((stat, index) => (
{stat.label}
@@ -885,7 +885,7 @@ export default function GitHubConnection() {
].map((stat, index) => (
{stat.label}
@@ -914,7 +914,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"
>
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',
diff --git a/app/components/@settings/tabs/connections/components/ConnectionForm.tsx b/app/components/@settings/tabs/connections/components/ConnectionForm.tsx
deleted file mode 100644
index b71dd436..00000000
--- a/app/components/@settings/tabs/connections/components/ConnectionForm.tsx
+++ /dev/null
@@ -1,183 +0,0 @@
-import React, { useEffect } from 'react';
-import { classNames } from '~/utils/classNames';
-import type { GitHubAuthState } from '~/components/@settings/tabs/connections/types/GitHub';
-import Cookies from 'js-cookie';
-import { getLocalStorage } from '~/lib/persistence';
-
-const GITHUB_TOKEN_KEY = 'github_token';
-
-interface ConnectionFormProps {
- authState: GitHubAuthState;
- setAuthState: React.Dispatch
>;
- onSave: (e: React.FormEvent) => void;
- onDisconnect: () => void;
-}
-
-export function ConnectionForm({ authState, setAuthState, onSave, onDisconnect }: ConnectionFormProps) {
- // Check for saved token on mount
- useEffect(() => {
- const savedToken = Cookies.get(GITHUB_TOKEN_KEY) || Cookies.get('githubToken') || getLocalStorage(GITHUB_TOKEN_KEY);
-
- if (savedToken && !authState.tokenInfo?.token) {
- setAuthState((prev: GitHubAuthState) => ({
- ...prev,
- tokenInfo: {
- token: savedToken,
- scope: [],
- avatar_url: '',
- name: null,
- created_at: new Date().toISOString(),
- followers: 0,
- },
- }));
-
- // Ensure the token is also saved with the correct key for API requests
- Cookies.set('githubToken', savedToken);
- }
- }, []);
-
- return (
-
-
-
-
-
-
-
Connection Settings
-
Configure your GitHub connection
-
-
-
-
-
-
-
- );
-}
diff --git a/app/components/@settings/tabs/connections/components/GitHubAuthDialog.tsx b/app/components/@settings/tabs/connections/components/GitHubAuthDialog.tsx
index 1bec738c..147b35db 100644
--- a/app/components/@settings/tabs/connections/components/GitHubAuthDialog.tsx
+++ b/app/components/@settings/tabs/connections/components/GitHubAuthDialog.tsx
@@ -75,7 +75,7 @@ export function GitHubAuthDialog({ isOpen, onClose }: GitHubAuthDialogProps) {
return (
!open && onClose()}>
-
+
-
+
-
+
Access Private Repositories
-
+
To access private repositories, you need to connect your GitHub account by providing a personal access
token.
-
-
Connect with GitHub Token
+
+
Connect with GitHub Token