import React, { useState } from 'react'; import { View, Text, TouchableOpacity, SafeAreaView, Alert } from 'react-native'; import { InputField, Button, InlineButton } from '@components'; import { styles } from './signup.styles'; interface SignupScreenProps { onSignupSuccess: (token: string) => void; onSignInPress: () => void; } export function SignupScreen({ onSignupSuccess, onSignInPress, }: SignupScreenProps) { const [fullName, setFullName] = useState(''); const [emailOrPhone, setEmailOrPhone] = useState(''); const [password, setPassword] = useState(''); const [confirmPassword, setConfirmPassword] = useState(''); const [securePasswordEntry, setSecurePasswordEntry] = useState(true); const [secureConfirmPasswordEntry, setSecureConfirmPasswordEntry] = useState(true); const [loading, setLoading] = useState(false); const handleSignUp = async () => { if (!fullName.trim() || !emailOrPhone.trim() || !password.trim() || !confirmPassword.trim()) { Alert.alert('Error', 'Please fill in all fields'); return; } if (password !== confirmPassword) { Alert.alert('Error', 'Passwords do not match'); return; } setLoading(true); try { // Simulating signup API call await new Promise((resolve) => { setTimeout(() => { resolve(''); }, 1000); }); Alert.alert('Success', 'Account created successfully!'); onSignupSuccess('mock-access-token'); } finally { setLoading(false); } }; return ( {/* Header */} Create Account Join us to manage orders, addresses, and wishlist items. {/* Full Name Input */} {/* Email or Phone Input */} {/* Password Input */} ( setSecurePasswordEntry(prev => !prev)} activeOpacity={0.7} > {securePasswordEntry ? '👁️' : '🙈'} )} /> {/* Confirm Password Input */} ( setSecureConfirmPasswordEntry(prev => !prev)} activeOpacity={0.7} > {secureConfirmPasswordEntry ? '👁️' : '🙈'} )} /> {/* Sign Up Button */}