import { Button } from '@/components/ui/button'; import { GroupedInput, GroupedInputItem, Input } from '@/components/ui/input'; import { View } from '@/components/ui/view'; import { Calendar, CreditCard, Lock, Mail, Phone, User, } from 'lucide-react-native'; import React, { useState } from 'react'; export function InputForm() { const [formData, setFormData] = useState({ firstName: '', lastName: '', email: '', password: '', confirmPassword: '', phone: '', cardNumber: '', expiryDate: '', cvv: '', }); const [errors, setErrors] = useState>({}); const validateForm = () => { const newErrors: Record = {}; if (!formData.firstName) newErrors.firstName = 'First name is required'; if (!formData.email) newErrors.email = 'Email is required'; else if (!formData.email.includes('@')) newErrors.email = 'Invalid email format'; if (!formData.password) newErrors.password = 'Password is required'; else if (formData.password.length < 6) newErrors.password = 'Password must be at least 6 characters'; if (formData.password !== formData.confirmPassword) newErrors.confirmPassword = 'Passwords do not match'; setErrors(newErrors); return Object.keys(newErrors).length === 0; }; const handleSubmit = () => { if (validateForm()) { alert('Form submitted successfully!'); } }; return ( setFormData((prev) => ({ ...prev, firstName: text })) } error={errors.firstName} /> setFormData((prev) => ({ ...prev, lastName: text })) } /> setFormData((prev) => ({ ...prev, email: text })) } error={errors.email} keyboardType='email-address' /> setFormData((prev) => ({ ...prev, phone: text })) } keyboardType='phone-pad' /> setFormData((prev) => ({ ...prev, password: text })) } error={errors.password} secureTextEntry variant='outline' /> setFormData((prev) => ({ ...prev, confirmPassword: text })) } error={errors.confirmPassword} secureTextEntry variant='outline' /> setFormData((prev) => ({ ...prev, cardNumber: text })) } keyboardType='numeric' /> setFormData((prev) => ({ ...prev, expiryDate: text })) } keyboardType='numeric' /> setFormData((prev) => ({ ...prev, cvv: text })) } keyboardType='numeric' /> ); }