import {useColorScheme, ScrollView, View} from 'react-native'; import React from 'react'; const AppColors = { darker: '#222222', lighter: '#F3F3F3' }; import Footer from '../components/footer/footer.component'; import Header from '../components/header/header.component'; import {useMyStepsVerification} from '../provider/verification.context'; import KYCForm from '../components/KYC-form/KYC-form.component'; import {styles} from './styles'; import RequirementsDocuments from '../components/requirements-documents/requirements-documents'; import CaptureUserWebcam from '../components/capture-user-webcam/capture-user-webcam.component'; import PassportPhotoGuide from '../components/passport-photo-guide/passport-photo-guide'; import ClarityCheck from '../components/clarity-check/clarity-check.component'; import SelfieGuide from '../components/selfie-guide/selfie-guide.component'; import CaptureSelfie from '../components/capture-selfie/capture-selfie.component'; import Loading from '../components/loading/loading.component'; import Confirmation from '../components/confirmation/confirmation.component'; import {SlideType} from '../../App'; import AnimationComponent from '../components/animation-container'; type props = { slides?: SlideType[]; logoURL?: string; loadingURL?: string; }; /** * Renders a slideshow with a series of verification steps. * * @param {Object} props - The component props. * @param {Array} props.slides - An array of image URLs to display in the slideshow. * @param {string} props.logoURL - The URL of the logo to display in the footer. * @param {string} props.loadingURL - The URL of the logo to display in the loading screen. * @returns {JSX.Element} - The rendered component as a JSX element. */ const CarouselWrapper = ({slides, logoURL, loadingURL}: props) => { const isDarkMode = useColorScheme() === 'dark'; const backgroundStyle = { backgroundColor: isDarkMode ? AppColors.darker : AppColors.lighter, }; const { handlerUserSteps, userStep, isChecked, handleCheckbox, webcamRef, handleSingleCapturePhoto, findOutStepContent, goBackUserSteps, imgUrls, selectedOption, handleOptionChange, routeOfHandler, allowedKycDocuments, finalResult, loading, kycRuleError, skipGuidanceScreens, allowSingle, consenttermofuseLink, skipFirstScreen, skipResultScreen, livenessScoreOverride, t, } = useMyStepsVerification(); const content = (userStep: number) => { // if (([4, 9].includes(userStep) && skipGuidanceScreens)) { // handlerUserSteps() // } switch (userStep) { case 1: // return ; return ; case 2: return ( ); case 3: return ( ); case 4: return ; case 5: return ( ); case 6: return ( ); case 7: return ( ); case 8: return ( ); case 9: return ; case 10: return ( ); case 11: return ; case 12: return ; default: return ; } }; const buttonText = (userStep: number) => { // changes based on steps switch (userStep) { case 1: return t.next; case 2: return t.next; case 3: return t.start; case 4: return t.ready; default: return undefined; case 9: return t.ready; } }; return ( <> {!loading && ( <> {![5, 6, 7, 8, 10].includes(userStep) && (
{content(userStep)}