import { AuthCard } from '@/components/auth/AuthCard'; import { AuthFooterLinks } from '@/components/auth/AuthFooterLinks'; import { AuthForm } from '@/components/auth/AuthForm'; import { routes } from '@/lib/routing/RouteConfig'; import { ForgotPasswordViewData } from '@/lib/view-data/ForgotPasswordViewData'; import { Button } from '@/ui/Button'; import { Group } from '@/ui/Group'; import { Icon } from '@/ui/Icon'; import { Input } from '@/ui/Input'; import { Link } from '@/ui/Link'; import { LoadingSpinner } from '@/ui/LoadingSpinner'; import { Text } from '@/ui/Text'; import { AlertCircle, ArrowLeft, CheckCircle2, Mail, Shield } from 'lucide-react'; import React from 'react'; interface ForgotPasswordTemplateProps { viewData: ForgotPasswordViewData; formActions: { handleChange: (e: React.ChangeEvent) => void; handleSubmit: (e: React.FormEvent) => Promise; setShowSuccess: (show: boolean) => void; }; mutationState: { isPending: boolean; error: string | null; }; } export function ForgotPasswordTemplate({ viewData, formActions, mutationState }: ForgotPasswordTemplateProps) { const isSubmitting = mutationState.isPending; return ( {!viewData.showSuccess ? ( } /> {mutationState.error && ( {mutationState.error} )} Back to Login ) : ( Check your email {viewData.successMessage} {viewData.magicLink && ( DEVELOPMENT MAGIC LINK {viewData.magicLink} )} )} Need help?{' '} Contact support ); }