diff --git a/frontend/components/auth/auth-ui.tsx b/frontend/components/auth/auth-ui.tsx index 350e5e4..d55b6eb 100644 --- a/frontend/components/auth/auth-ui.tsx +++ b/frontend/components/auth/auth-ui.tsx @@ -1,9 +1,82 @@ +import { Check } from "lucide-react"; import Image from "next/image"; import type { ReactNode } from "react"; import { cn } from "@/lib/utils"; -// Centered, branded shell shared by every auth page. +const FEATURES = [ + "Look up any patient just by asking", + "Rich record cards — vitals, labs, meds, history", + "Open-source, built around patient-owned data", +]; + +// Left brand panel (desktop only): gradient glow, product pitch, feature list. +function BrandPanel() { + return ( +
+
+
+
+ +
+ temetro + temetro +
+ +
+

+ Patient records, organized by conversation. +

+

+ The AI middleman between you and patient data — retrieve, review and + update charts from a simple chat, so you spend less time clicking. +

+
    + {FEATURES.map((feature) => ( +
  • + + + + {feature} +
  • + ))} +
+
+ +
+ © temetro — open-source clinical tooling +
+
+ ); +} + +// Centered, branded shell shared by every auth page (split layout on desktop). export function AuthShell({ title, subtitle, @@ -16,32 +89,40 @@ export function AuthShell({ footer?: ReactNode; }) { return ( -
-
-
- temetro -
-

{title}

+
+ + +
+ {/* soft glow behind the form on small screens (no brand panel) */} +
+
+
+ +
+
+ temetro +

{title}

{subtitle && ( -

{subtitle}

+

{subtitle}

)}
-
-
+ {children} + + {footer && ( +
{footer}
+ )}
- {footer && ( -
- {footer} -
- )}
);