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 { ResetPasswordViewData } from '@/lib/view-data/ResetPasswordViewData'; import { Button } from '@/ui/Button'; import { Group } from '@/ui/Group'; import { Icon } from '@/ui/Icon'; import { Link } from '@/ui/Link'; import { LoadingSpinner } from '@/ui/LoadingSpinner'; import { PasswordField } from '@/ui/PasswordField'; import { Text } from '@/ui/Text'; import { AlertCircle, ArrowLeft, CheckCircle2, Shield } from 'lucide-react'; import React from 'react'; interface ResetPasswordTemplateProps { viewData: ResetPasswordViewData; formActions: { handleChange: (e: React.ChangeEvent) => void; handleSubmit: (e: React.FormEvent) => Promise; setShowSuccess: (show: boolean) => void; setShowPassword: (show: boolean) => void; setShowConfirmPassword: (show: boolean) => void; }; uiState: { showPassword: boolean; showConfirmPassword: boolean; }; mutationState: { isPending: boolean; error: string | null; }; } export function ResetPasswordTemplate({ viewData, formActions, uiState, mutationState, }: ResetPasswordTemplateProps) { const isSubmitting = mutationState.isPending; return ( {!viewData.showSuccess ? ( formActions.setShowPassword(!uiState.showPassword)} /> formActions.setShowConfirmPassword(!uiState.showConfirmPassword)} /> {mutationState.error && ( {mutationState.error} )} Back to Login ) : ( Password Reset {viewData.successMessage} )} Need help?{' '} Contact support ); }