import React, { useRef, useState } from "react"; import { Button, ButtonSize, Checkbox, Colors, KeyboardAwareScrollView, LoaderScreen, Text, TextField, TextFieldRef, TouchableOpacity, View, } from "react-native-ui-lib"; import { useSignUp } from "@/hooks/firebase/useSignUp"; import { KeyboardAvoidingView, Platform, StyleSheet } from "react-native"; import { AntDesign } from "@expo/vector-icons"; import KeyboardManager from "react-native-keyboard-manager"; import { SafeAreaView } from "react-native-safe-area-context"; import { useRouter } from "expo-router"; if (Platform.OS === "ios") KeyboardManager.setEnableAutoToolbar(true); const SignUpPage = () => { const [email, setEmail] = useState(""); const [firstName, setFirstName] = useState(""); const [lastName, setLastName] = useState(""); const [password, setPassword] = useState(""); const [isPasswordVisible, setIsPasswordVisible] = useState(false); const [allowFaceID, setAllowFaceID] = useState(false); const [acceptTerms, setAcceptTerms] = useState(false); const { mutateAsync: signUp, isLoading } = useSignUp(); const lnameRef = useRef(null); const emailRef = useRef(null); const passwordRef = useRef(null); const router = useRouter(); const handleSignUp = async () => { await signUp({ email, password, firstName, lastName }); router.replace("/(unauth)/cal_sync"); }; return ( Get started with Cally Please enter your details. { lnameRef.current?.focus(); }} blurOnSubmit={false} accessibilityLabel="First name input" accessibilityHint="Enter your first name" accessible returnKeyType="next" textContentType="givenName" importantForAccessibility="yes" /> { emailRef.current?.focus(); }} blurOnSubmit={false} accessibilityLabel="Last name input" accessibilityHint="Enter your last name" accessible returnKeyType="next" textContentType="familyName" importantForAccessibility="yes" /> { passwordRef.current?.focus(); }} /> setIsPasswordVisible(!isPasswordVisible)} > } /> { setAllowFaceID(value); }} /> Allow FaceID for login in future setAcceptTerms(value)} /> I accept the {" "} terms and conditions and {" "} privacy policy