// Metro module 6771 (f6772). import _slicedToArray from "../../../_bundle/_slicedToArray"; import { useState, useEffect, useMemo, useRef, useCallback } from "react"; import { ActivityIndicator } from "react-native"; import { HelpdeskArticles } from "../../../Constants"; import { jsx } from "react/jsx-runtime"; import { AgeAssuranceMethod } from "../../../_bundle/Module1892"; import { WalletIcon } from "../../../design/components/Icon/native/redesign/generated/WalletIcon"; import { UserCircleIcon } from "../../../design/components/Icon/native/redesign/generated/UserCircleIcon"; import { IdIcon } from "../../../design/components/Icon/native/redesign/generated/IdIcon"; import { createStyles } from "../../../design/components/Styles/native/createStyles"; import Module712 from "../../../_bundle/Module712"; import { useIsSuspendedUser } from "../../safety_hub/SafetyHubUtils"; import { useAgeVerificationMethodsV2 } from "../hooks/useAgeVerificationMethodsV2"; import { checkGoogleWalletAvailable } from "../GoogleWalletActionCreators.native"; import { useInitiateAgeVerification, getAgeVerificationGetStartedTitle, getAgeVerificationGetStartedSubtitle } from "../AgeVerificationUtils"; import { V2_METHOD_TO_VERIFICATION_METHOD, V2_VENDOR_TO_VERIFICATION_VENDOR } from "../AgeVerificationMethodsV2"; import { ModalScreen } from "../../../design/components/Modal/native/ModalScreen.native"; import { ModalContent } from "../../../design/components/Modal/native/ModalContent.native"; import { Stack } from "../../../design/components/Stack/native/Stack.native"; import { AgeVerificationSpotIllustration } from "../../../design/assets/native"; import { Text } from "../../../design/components/Text/native/Text"; import AgeVerificationActionCreators_native from "../AgeVerificationActionCreators.native"; import HelpdeskUtils from "../../../utils/HelpdeskUtils"; import { HelpMessage, HelpMessageTypes } from "../../../design/void/native"; import { Button } from "../../../design/components/Button/native/Button.native"; import { intl, t } from "../../../intl/index.native"; import AgeAssurance_messages from "../AgeAssurance.messages"; import { TableRowGroup } from "../../../design/components/TableRow/native/TableRowGroup.native"; import { TableRow } from "../../../design/components/TableRow/native/TableRow.native"; import ModalActionCreators from "../../../actions/ModalActionCreators"; import { getHeaderCloseButton, getHeaderBackButton } from "../../../design/components/Navigator/native/NavigatorHeader.native"; import GoogleWalletVerificationScreen from "./GoogleWalletVerificationScreen"; import { v4 } from "../../../_bundle/Module514"; import { Navigator } from "../../../design/components/Navigator/native/Navigator.native"; let MethodErrorScreen, c4353_10, useStyles, c4353_12; let env4353 = {}; const MethodsScreen = function MethodsScreen(props) { let c15906_0; let env15905 = { $parent: env4353 }; const { entryPoint: entryPoint3, navigation } = props; env15905[0] = navigation; const onClose3 = props.onClose; env15905[1] = void 0; env15905[2] = void 0; env15905[3] = void 0; env15905[4] = void 0; env15905[5] = void 0; env15905[6] = void 0; const styles = useStyles(); const isSuspendedUser = useIsSuspendedUser(); const ageVerificationMethodsV2 = useAgeVerificationMethodsV2(); const { loading, error, methods } = ageVerificationMethodsV2; env15905[1] = methods; const refetch = ageVerificationMethodsV2.refetch; const r42 = _slicedToArray(useState(false), 2); const r43 = r42[0]; env15905[2] = r43; env15905[3] = r42[1]; useEffect(() => { let c25998_0 = false; checkGoogleWalletAvailable().then((result) => { if (!c25998_0) { (0, env15905[3])(result); } }); return () => { c25998_0 = true; }; }, []); const memo3 = useMemo(() => env15905[1].filter((item) => item.method !== AgeAssuranceMethod.GOOGLE_WALLET || env15905[2]), [methods, r43]); const r3 = memo3.length > 0; const initiateAgeVerification = useInitiateAgeVerification({ onComplete: onClose3, entryPoint: entryPoint3, shouldShowExpressiveModal: true }).initiateAgeVerification; env15905[4] = initiateAgeVerification; env15905[5] = useRef(false); c15906_0 = void 0; c15906_0 = async (c29840_0) => { let c29840_3; let c29840_4 = 0; L18: { L17: { try { if (env15905[5].current) { break L18; } if (c29840_0.method !== AgeAssuranceMethod.GOOGLE_WALLET) { const r43 = V2_METHOD_TO_VERIFICATION_METHOD[c29840_0.method]; const r48 = V2_VENDOR_TO_VERIFICATION_VENDOR[c29840_0.vendor]; if (r43 != null && r48 != null) { env15905[5].current = true; c29840_4 = 1; await (0, env15905[4])(r43, r48); c29840_4 = 0; env15905[5].current = false; break L17; } env15905[0].navigate(c4353_12.METHOD_ERROR); break L18; } env15905[0].navigate(c4353_12.GOOGLE_WALLET_VERIFICATION); break L18; } catch ($e) { const r30 = $e; let r7 = r30; c29840_3 = r30; if (c29840_4 !== 0) { while (true) { try { const r90 = c29840_3; c29840_4 = 0; env15905[5].current = false; throw r90; } catch (r87) { r7 = r87; c29840_3 = r87; if (c29840_4 === 0) { break; } } } } throw r7; } } return void 0; } }; env15905[6] = useCallback(function() { return c15906_0.apply(this, arguments); }, [navigation, initiateAgeVerification]); const r109 = [ {getAgeVerificationGetStartedTitle(entryPoint3)} {getAgeVerificationGetStartedSubtitle(entryPoint3, () => { AgeVerificationActionCreators_native.openUrl(HelpdeskUtils.getArticleURL(HelpdeskArticles.TIGGER_PAWTECT_LEARN_MORE)); }, isSuspendedUser)} , loading && , (loading ? !loading : !r3) && }> {intl.string(error ? AgeAssurance_messages.Bkmk4Y : AgeAssurance_messages.cR6336)} , (loading ? !loading : r3) && {memo3.map((item) => { const IconComponent = c4353_10[item.method]; return : void 0} label={item.title} subLabel={ {item.description} {item.providedBy != null && {item.providedBy}} } onPress={() => { (0, env15905[6])(item); }} />; })} ]; return {r109} ; }; MethodErrorScreen = function MethodErrorScreen() { return {intl.string(AgeAssurance_messages["1RD2jW"])} ; }; const r32 = {}; r32[AgeAssuranceMethod.GOOGLE_WALLET] = WalletIcon; r32[AgeAssuranceMethod.FACIAL_AGE_ESTIMATION] = UserCircleIcon; r32[AgeAssuranceMethod.ID_SELFIE_MATCH] = IdIcon; c4353_10 = r32; useStyles = createStyles({ headerStyle: { backgroundColor: Module712.colors.BACKGROUND_BASE_LOWER, shadowColor: "transparent" }, container: { alignSelf: "stretch" }, header: { textAlign: "center" }, loadingContainer: { marginTop: Module712.space.PX_24 }, emptyContainer: { marginTop: Module712.space.PX_24 }, errorMessage: { marginTop: Module712.space.PX_24 } }); c4353_12 = { METHODS: "METHODS", GOOGLE_WALLET_VERIFICATION: "GOOGLE_WALLET_VERIFICATION", METHOD_ERROR: "METHOD_ERROR" }; export default function AgeVerificationExpressiveV2Modal(props) { const { entryPoint, onClose } = props; const styles = useStyles(); let c15907_2 = styles; const memo = useMemo(() => v4(), []); return { const memo2 = memo; const entryPoint2 = entryPoint; const onClose2 = onClose; const closeModal2 = function closeModal() { ModalActionCreators.pop(); onClose2(); }; const r14 = {}; r14[c4353_12.METHODS] = { headerStyle: c15907_2.headerStyle, headerTitle: () => null, headerLeft: getHeaderCloseButton(closeModal2), render: (a0, a1) => (0, jsx)(MethodsScreen, { entryPoint: entryPoint2, navigation: a1, onClose: closeModal2 }) }; r14[c4353_12.GOOGLE_WALLET_VERIFICATION] = { headerStyle: c15907_2.headerStyle, headerTitle: () => null, headerLeft: getHeaderBackButton(), render: () => (0, jsx)(GoogleWalletVerificationScreen, { onClose: closeModal2, modalSessionId: memo2 }) }; r14[c4353_12.METHOD_ERROR] = { headerStyle: c15907_2.headerStyle, headerTitle: () => null, headerLeft: getHeaderBackButton(), render: () => (0, jsx)(MethodErrorScreen, {}) }; return r14; }, [styles, memo, entryPoint, onClose])} initialRouteName={c4353_12.METHODS} headerBackTitle={intl.string(t["13/7kX"])} />; };