import clsx from 'clsx' import {InputHTMLAttributes, ReactNode} from 'react' // Shared building blocks for the /register and /signin pages so the two stay in // visual lockstep. Mirrors the home page design language: warm tokens, a soft // radial glow for depth, and staggered fade-up entrances. /** Page wrapper: centers the card and paints the hero-style radial glow behind it. */ export function AuthShell({children}: {children: ReactNode}) { return (
{/* Soft radial glow behind the card for depth — mirrors the home hero. Dark mode uses a brighter, lighter-hued, faster-falloff core so it reads as light, not brown haze. */} {/**/}
{children}
) } /** Favicon + title + optional subtitle. */ export function AuthHeader({title, subtitle}: {title: string; subtitle?: string}) { return (
{/*
*/} {/* */} {/*
*/}

{title}

{subtitle &&

{subtitle}

}
) } /** The form element, with the standard entrance animation. */ export function AuthForm({ onSubmit, children, }: { onSubmit: (event: React.FormEvent) => void children: ReactNode }) { return (
{children}
) } /** Wraps stacked inputs so adjacent borders collapse into one. */ export function AuthFieldGroup({children}: {children: ReactNode}) { return
{children}
} const authInputBase = 'bg-canvas-50 appearance-none relative block w-full px-4 py-3 border-[1.5px] border-canvas-200 text-ink-1000 placeholder-ink-400 transition-colors focus:outline-none focus:border-primary-500 focus:ring-1 focus:ring-primary-500 focus:z-10 sm:text-sm' /** Email/password input with a screen-reader label. `position` rounds the outer corner. */ export function AuthInput({ position, label, below, className, ...props }: { position: 'top' | 'bottom' label: string below?: ReactNode } & InputHTMLAttributes) { return (
{below}
) } /** Gradient rule with a centered label. */ export function AuthDivider({label}: {label: string}) { return (
{label}
) } /** Primary CTA, matching the home hero button (amber, shadow, hover lift). */ export function AuthSubmitButton({ isLoading, children, }: { isLoading?: boolean children: ReactNode }) { return ( ) } /** Centered error message. Renders nothing when empty. */ export function AuthError({children}: {children: ReactNode}) { if (!children) return null return
{children}
} /** Footer line ("Already have an account?" etc.) with link styling + entrance. */ export function AuthFooter({children}: {children: ReactNode}) { return (

{children}

) }