import { Check } from "lucide-react"; import Image from "next/image"; import type { ReactNode } from "react"; import { cn } from "@/lib/utils"; 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, children, footer, }: { title: string; subtitle?: ReactNode; children: ReactNode; footer?: ReactNode; }) { return (
{/* soft glow behind the form on small screens (no brand panel) */}
temetro

{title}

{subtitle && (

{subtitle}

)}
{children} {footer && (
{footer}
)}
); } export function Field({ label, htmlFor, hint, children, }: { label: string; htmlFor: string; hint?: ReactNode; children: ReactNode; }) { return (
{children} {hint &&

{hint}

}
); } export function FormAlert({ tone = "error", children, }: { tone?: "error" | "success"; children: ReactNode; }) { return (

{children}

); }