diff --git a/app/globals.css b/app/globals.css index 4083b72..14d3a88 100644 --- a/app/globals.css +++ b/app/globals.css @@ -152,7 +152,7 @@ --sidebar-project-background: #1e1e1e; --sidebar-primary: #007acc; --sidebar-primary-foreground: #ffffff; - --sidebar-accent: #264f78; + --sidebar-accent: #2d2d30; --sidebar-accent-foreground: #ffffff; --sidebar-border: #1e1e1e; --sidebar-ring: #007fd4; diff --git a/app/projects/[id]/auth/page.tsx b/app/projects/[id]/auth/page.tsx index 4f0f498..984930a 100644 --- a/app/projects/[id]/auth/page.tsx +++ b/app/projects/[id]/auth/page.tsx @@ -88,11 +88,11 @@ function AuthPageContent() { return ( -
+
{/* GitHub OAuth Section */}
diff --git a/app/projects/[id]/database/page.tsx b/app/projects/[id]/database/page.tsx index d5d82e3..92e783d 100644 --- a/app/projects/[id]/database/page.tsx +++ b/app/projects/[id]/database/page.tsx @@ -7,6 +7,7 @@ import { Info } from 'lucide-react'; import { notFound, redirect } from 'next/navigation'; +import { ConfigLayout } from '@/components/config/config-layout'; import { auth } from '@/lib/auth'; import { prisma } from '@/lib/db'; @@ -48,91 +49,85 @@ export default async function DatabasePage({ params }: { params: Promise<{ id: s } return ( -
- {/* Header */} -
-
-

Database Information

-

View database connection details

-
-
- - {/* Content */} -
-
- {connectionString ? ( - <> - {/* Connection Details */} -
-

PostgreSQL Connection

- - {/* Host */} -
- -
- {host} + +
+ {/* Content */} +
+
+ {connectionString ? ( + <> + {/* Connection Details */} +
+

PostgreSQL Connection

+ + {/* Host */} +
+ +
+ {host} +
-
- {/* Port */} -
- -
- {port} + {/* Port */} +
+ +
+ {port} +
-
- {/* Database Name */} -
- -
- {dbName} + {/* Database Name */} +
+ +
+ {dbName} +
-
- {/* Username */} -
- -
- {username} + {/* Username */} +
+ +
+ {username} +
-
- {/* Password */} -
- -
- {'•'.repeat(Math.min(password.length, 20))} + {/* Password */} +
+ +
+ {'•'.repeat(Math.min(password.length, 20))} +
-
- {/* Full Connection String */} - -
+ {/* Full Connection String */} + +
- {/* Info Panel */} -
-
- -
-

• Database is automatically provisioned with your sandbox

-

• Managed by KubeBlocks with high availability

-

• SSL encryption enabled by default

-

• Connection string available via DATABASE_URL environment variable

+ {/* Info Panel */} +
+
+ +
+

• Database is automatically provisioned with your sandbox

+

• Managed by KubeBlocks with high availability

+

• SSL encryption enabled by default

+

• Connection string available via DATABASE_URL environment variable

+
+ + ) : ( +
+

No database configured

+

+ Database will be automatically provisioned when sandbox is created +

- - ) : ( -
-

No database configured

-

- Database will be automatically provisioned when sandbox is created -

-
- )} + )} +
-
+ ); } diff --git a/components/config/config-layout.tsx b/components/config/config-layout.tsx index 6df82d4..6e45792 100644 --- a/components/config/config-layout.tsx +++ b/components/config/config-layout.tsx @@ -9,6 +9,7 @@ import type { ReactNode } from 'react'; import { Spinner } from '@/components/ui/spinner'; + interface ConfigLayoutProps { /** Page title */ title: string; @@ -26,29 +27,32 @@ interface ConfigLayoutProps { export function ConfigLayout({ title, description, children, loading }: ConfigLayoutProps) { if (loading) { return ( -
+
- - Loading configuration... + + Loading configuration...
); } return ( -
- {/* Header - Clean VSCode style */} -
-
-

{title}

-

{description}

+
+
+ {/* Header - Clean VSCode style */} +
+
+

{title}

+

{description}

+
-
- {/* Content - Scrollable area */} -
-
{children}
+ {/* Content - Scrollable area */} +
+ {children} +
+ ); } diff --git a/components/sidebars/primary-sidebar.tsx b/components/sidebars/primary-sidebar.tsx index 06e6f90..c7800c9 100644 --- a/components/sidebars/primary-sidebar.tsx +++ b/components/sidebars/primary-sidebar.tsx @@ -61,7 +61,7 @@ export default function PrimarySidebar({ currentProjectId }: PrimarySidebarProps {/* Home Link */} {isExpanded && (