teqo-backup/src/components/campaign/CampaignAuthPageShell.tsx
Francisco Ignácio Fontoura Solla 1b6de775a0 Unify campaign auth pages with shared shell and improve login UX.
Extract CampaignAuthPageShell and shared copy tokens across login, forgot-password, and reset-password flows; add adaptive inputMode, credential error a11y, and roadmap skill updates from the FD2 critique pass.
2026-07-19 13:02:47 -03:00

33 lines
931 B
TypeScript

import { Megaphone } from 'lucide-react'
import type { ComponentProps, ReactNode } from 'react'
import { cn } from '@/lib/utils'
type CampaignAuthPageShellProps = {
children: ReactNode
className?: string
} & Omit<ComponentProps<'main'>, 'children' | 'className'>
export const CampaignAuthPageShell = ({
children,
className,
...props
}: CampaignAuthPageShellProps) => (
<main
className={cn(
'flex min-h-svh flex-col items-center justify-center gap-6 bg-muted p-6 md:p-10',
className,
)}
{...props}
>
<div className="flex w-full max-w-sm flex-col gap-6">
<div className="flex items-center gap-2 self-center font-semibold">
<div className="flex size-8 items-center justify-center rounded-md bg-primary text-primary-foreground">
<Megaphone className="size-4" aria-hidden="true" />
</div>
Campanha
</div>
{children}
</div>
</main>
)