diff --git a/app/frontend/src/app/App.tsx b/app/frontend/src/app/App.tsx index c06bb4e..725e0ab 100644 --- a/app/frontend/src/app/App.tsx +++ b/app/frontend/src/app/App.tsx @@ -63,11 +63,11 @@ export default function App() { } /> } /> } /> - - {/* Enhanced Dashboard & Showcase */} - } /> } /> + + {/* Full-bleed design demo — renders its own chrome, no app shell */} + } /> } /> diff --git a/app/frontend/src/features/auth/pages.tsx b/app/frontend/src/features/auth/pages.tsx index 6859ea8..a1db858 100644 --- a/app/frontend/src/features/auth/pages.tsx +++ b/app/frontend/src/features/auth/pages.tsx @@ -2,7 +2,8 @@ import { useMemo, useState } from 'react'; import type { FormEvent } from 'react'; import { Link, Navigate, useNavigate, useSearchParams } from 'react-router-dom'; import { useQuery, useQueryClient } from '@tanstack/react-query'; -import { AlertCircle, ArrowRight, Github, Loader2, Mail, User2 } from 'lucide-react'; +import { AlertCircle, ArrowRight, Github, Globe, Layers, Loader2, Mail, ScrollText, User2, Zap } from 'lucide-react'; +import { LineAreaChart, DonutChart } from '@/shared/components'; import { AuthError, getAuthBootstrap, @@ -32,40 +33,62 @@ function buildOAuthCallbackURL(path: string): string { } function AuthCanvas() { - const bars = [32, 44, 28, 60, 52, 64, 36, 48, 54, 72, 66, 78]; + const features = [ + { icon: Zap, title: 'Instant deploys', body: 'Images or Git repositories to running containers.' }, + { icon: Globe, title: 'Domains & routing', body: 'Traefik-managed endpoints per service.' }, + { icon: ScrollText, title: 'Logs & metrics', body: 'Live container telemetry and log streams.' }, + { icon: Layers, title: 'Project canvas', body: 'Services, groups, and dependencies on one map.' }, + ]; + const previewSparkline = [18, 22, 19, 31, 28, 42, 38, 51, 47, 58, 52, 64]; return (
-

Containr Access

-

- Secure Sessions, +
+ Containr + Containr +
+

+ Your containers,
- Better Auth + one platform.

- Email/password plus GitHub and Google sign-in run through secure cookie sessions. First account bootstraps platform ownership; every later user is created from inside Containr. + Self-hosted deployment platform. Projects, services, builds, and live telemetry — owned end to end.

+ +
+ {features.map((feature) => ( +
+
+ +
+
+

{feature.title}

+

{feature.body}

+
+
+ ))} +
-

Auth Health

- - - Live - +

Platform Preview

+ Active
-
- {bars.map((height, index) => ( -
- ))} +
+
+

api-gateway

+

3 instances · deployed 4m ago

+ +
+
+ +

Memory

+
@@ -83,9 +106,13 @@ function AuthCard({ children: React.ReactNode; }) { return ( -
-
-

Containr

+
+
+
+ Containr + Containr +
+

Containr

{title}

{subtitle}

@@ -231,7 +258,11 @@ export function SignInPage() { -
+
+
+ or continue with +
+