import { Button } from "@/components/ui/button"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card"; import { Eye, EyeOff, Loader2, ArrowLeft } from "lucide-react"; import { SignupFormData } from "@/types/auth"; import { ErrorMessage } from "./ErrorMessage"; import { useRouter } from "next/navigation"; interface SignupFormProps { formData: SignupFormData; isLoading: boolean; error: string; showPassword: boolean; validationErrors: Record; touchedFields: Record; isFormValid: boolean; onInputChange: (e: React.ChangeEvent) => void; onBlur: (e: React.FocusEvent) => void; onSubmit: (e: React.FormEvent) => void; onTogglePassword: () => void; } /** * 회원가입 폼 컴포넌트 */ export function SignupForm({ formData, isLoading, error, showPassword, validationErrors, touchedFields, isFormValid, onInputChange, onBlur, onSubmit, onTogglePassword, }: SignupFormProps) { const router = useRouter(); return ( 회원가입 새로운 계정을 만들어보세요
{/* 아이디 */}
{touchedFields?.userId && validationErrors.userId && (

{validationErrors.userId}

)}
{/* 비밀번호 */}
{touchedFields?.password && validationErrors.password && (

{validationErrors.password}

)}
{/* 비밀번호 확인 */}
{touchedFields?.passwordConfirm && validationErrors.passwordConfirm && (

{validationErrors.passwordConfirm}

)}
{/* 이름 */}
{touchedFields?.userName && validationErrors.userName && (

{validationErrors.userName}

)}
{/* 연락처 */}
{touchedFields?.phoneNumber && validationErrors.phoneNumber && (

{validationErrors.phoneNumber}

)}
{/* 면허번호 */}
{touchedFields?.licenseNumber && validationErrors.licenseNumber && (

{validationErrors.licenseNumber}

)}
{/* 차량번호 */}
{touchedFields?.vehicleNumber && validationErrors.vehicleNumber && (

{validationErrors.vehicleNumber}

)}
{/* 차량 타입 */}
{touchedFields?.vehicleType && validationErrors.vehicleType && (

{validationErrors.vehicleType}

)}
{/* 회원가입 버튼 */} {/* 로그인으로 돌아가기 버튼 */}
); }