update nfc android sheet logic

This commit is contained in:
turnoffthiscomputer
2024-07-31 16:09:23 +02:00
parent c4a0c114ad
commit a6aab56e78
3 changed files with 17 additions and 8 deletions

View File

@@ -93,6 +93,8 @@ const MainScreen: React.FC = () => {
toast,
showRegistrationErrorSheet,
registrationErrorMessage,
nfcSheetIsOpen,
setNfcSheetIsOpen,
} = useNavigationStore();
const handleRestart = () => {
@@ -342,7 +344,7 @@ const MainScreen: React.FC = () => {
<Separator borderColor={separatorColor} />
</YStack>
)} */}
<Sheet open={NFCScanIsOpen} onOpenChange={setNFCScanIsOpen} dismissOnSnapToBottom modal dismissOnOverlayPress={false} disableDrag animation="medium" snapPoints={[35]}>
<Sheet open={nfcSheetIsOpen} onOpenChange={setNfcSheetIsOpen} dismissOnSnapToBottom modal dismissOnOverlayPress={false} disableDrag animation="medium" snapPoints={[35]}>
<Sheet.Overlay />
<Sheet.Frame>
<YStack gap="$5" f={1} pt="$3">
@@ -505,7 +507,7 @@ const MainScreen: React.FC = () => {
<Sheet open={HelpIsOpen} onOpenChange={setHelpIsOpen} dismissOnSnapToBottom modal animation="medium" snapPoints={[76]}>
<Sheet.Overlay />
<Sheet.Frame bg={bgWhite} borderTopLeftRadius="$9" borderTopRightRadius="$9" pt="$2" mb="$3">
<Sheet.Frame bg={bgWhite} borderTopLeftRadius="$9" borderTopRightRadius="$9" pt="$2" pb="$3">
<YStack p="$4" f={1} gap="$3">
<XStack>
@@ -567,12 +569,12 @@ const MainScreen: React.FC = () => {
</Sheet.Frame>
</Sheet>
<Sheet open={sheetIsOpen} onOpenChange={setSheetIsOpen} dismissOnSnapToBottom modal animation="medium" snapPoints={[42]} moveOnKeyboardChange>
<Sheet open={sheetIsOpen} onOpenChange={setSheetIsOpen} dismissOnSnapToBottom modal animation="medium" snapPoints={[44]} moveOnKeyboardChange>
<Sheet.Overlay />
<Sheet.Frame bg={bgWhite} borderTopLeftRadius="$9" borderTopRightRadius="$9" pt="$2" mb="$3">
<Sheet.Frame bg={bgWhite} borderTopLeftRadius="$9" borderTopRightRadius="$9" pt="$2" pb="$3">
<YStack p="$4" f={1} gap="$3">
<XStack>
<Text fontSize="$8" mb="$2">Manual input </Text>
<Text fontSize="$8" mb="$">Manual input </Text>
<XStack f={1} />
<XStack onPress={() => setSheetIsOpen(false)} p="$2">
<X color={borderColor} size="$1.5" mr="$2" />

View File

@@ -19,6 +19,8 @@ interface NavigationState {
setToast: (toast: ReturnType<typeof useToastController>) => void;
setStep: (step: number) => void
update: (patch: any) => void
nfcSheetIsOpen: boolean
setNfcSheetIsOpen: (isOpen: boolean) => void
}
const useNavigationStore = create<NavigationState>((set, get) => ({
@@ -54,6 +56,8 @@ const useNavigationStore = create<NavigationState>((set, get) => ({
...patch,
});
},
nfcSheetIsOpen: false,
setNfcSheetIsOpen: (isOpen) => set({ nfcSheetIsOpen: isOpen }),
}))
export default useNavigationStore

View File

@@ -22,7 +22,7 @@ export const scan = async (setModalProofStep: (modalProofStep: number) => void)
dateOfExpiry,
} = useUserStore.getState()
const { toast, setStep } = useNavigationStore.getState();
const { toast, setStep, nfcSheetIsOpen, setNfcSheetIsOpen } = useNavigationStore.getState();
const check = checkInputs(
passportNumber,
@@ -57,7 +57,9 @@ const scanAndroid = async (setModalProofStep: (modalProofStep: number) => void)
dateOfExpiry,
dscCertificate
} = useUserStore.getState()
const { toast, setStep } = useNavigationStore.getState();
const { toast, setNfcSheetIsOpen } = useNavigationStore.getState();
setNfcSheetIsOpen(true);
try {
const response = await PassportReader.scan({
@@ -66,11 +68,12 @@ const scanAndroid = async (setModalProofStep: (modalProofStep: number) => void)
dateOfExpiry: dateOfExpiry
});
console.log('scanned');
setNfcSheetIsOpen(false);
//amplitude.track('NFC scan successful');
handleResponseAndroid(response, setModalProofStep);
} catch (e: any) {
console.log('error during scan:', e);
setStep(Steps.MRZ_SCAN_COMPLETED);
setNfcSheetIsOpen(false);
//amplitude.track('NFC scan unsuccessful', { error: JSON.stringify(e) });
toast.show('Error', {
message: e.message,