import { SafeAreaView, Button, StyleSheet, Text, View, StatusBar, } from 'react-native'; import React, { useState } from 'react'; import { GetIdSdk } from '@get-id/react-native-sdk'; import GetidDocScanWrapper from './components/GetidDocScanWrapper'; import Config from 'react-native-config'; import GetidLivenessScanWrapper from './components/GetidLivenessScanWrapper'; import GetidSelfieScanWrapper from './components/GetidSelfieScanWrapper'; const API_URL = Config.API_URL || ''; const SDK_KEY = Config.SDK_KEY || ''; const FLOW = Config.FLOW || 'klarna-native'; export default function App() { const [getidSdkInstance, setGetidSdkInstance] = useState(); const [step, setStep] = useState(0); const [verificationCompleted, setVerificationCompleted] = useState(false); const [verificationStatus, setVerificationStatus] = useState(); const [applicationId, setApplicationId] = useState(); const [loading, setLoading] = useState(false); const [forceLiveness, setForceLiveness] = useState(false); const [forceDoc, setForceDoc] = useState(false); const [forceSelfie, setForceSelfie] = useState(false); const [appError, setAppError] = useState(null); const startGetIdSdk = () => { if (!getidSdkInstance) { GetIdSdk.initialiseSDK({ sdkKey: SDK_KEY, flow: FLOW, apiUrl: API_URL, externalId: 'test123', profile: [ { value: 'John', category: 'First name', }, { value: 'Doe', category: 'Last name', }, { value: '1985-10-25', category: 'Date of birth', }, ], acceptableDocuments: (supportedDocuments) => { const excludedDocumentVersions = ['CAN_P_ePassport_1580780960']; return supportedDocuments.map((doc) => ({ ...doc, excludedDocumentVersions, })); }, }) .then((sdk) => { setGetidSdkInstance(sdk); }) .catch((error) => { console.error('Error:', error); }); } setAppError(null); }; const nextStep = (additional: number = 0) => setStep((s) => s + 1 + additional); const verifyApp = async () => { const verificationResults = await getidSdkInstance?.submitForVerification({ timeoutInSeconds: 120, onVerificationStatusChange: (status) => { console.log('Verification status:', status); setVerificationStatus(status); }, onApplicationIdChange: (appId) => { console.log('Application Id:', appId); setApplicationId(appId); }, }); console.log('Verification results:', verificationResults); }; const onComplete = async () => { try { setLoading(true); await verifyApp(); } catch (error) { console.error('Error:', error); } finally { setVerificationCompleted(true); setLoading(false); } }; const onError = (error: any) => { setGetidSdkInstance(null); setAppError(error.message); }; if (!getidSdkInstance || appError) { return ( Klarna APP