// Metro module 8775 (f8776). import * as Module19 from "react"; import { useState, useCallback, useMemo, useEffect, useRef } from "react"; import { ScrollView, View } from "react-native"; import { AnalyticEvents } from "../../../../Constants"; import { createStyles } from "../../../../design/components/Styles/native/createStyles"; import Module712 from "../../../../_bundle/Module712"; import { useNavigation } from "../../../../design/components/Navigator/native/useNavigation.native"; import { UnifiedGiftModalScreens } from "./UnifiedGiftModalTypes"; import useAnalyticsLocations from "../../../app_analytics/useAnalyticsLocations"; import useInitialValue from "../../../../hooks/useInitialValue"; import { v4 } from "../../../../_bundle/Module514"; import AnalyticsUtils from "../../../../utils/AnalyticsUtils"; import { useGiftStyles } from "../../../premium/gifting/hooks/useGiftStyles"; import { GiftBackgroundSelect } from "../../../premium/native/gifting/PremiumGiftBackgroundSelect"; import { Text } from "../../../../design/components/Text/native/Text"; import { intl, t } from "../../../../intl/index.native"; import LockedRecipientField from "./LockedRecipientField"; import SelectedUserField from "./SelectedUserField"; import { GiftCustomMessage } from "../../../premium/native/gifting/PremiumGiftCustomMessage"; const useStyles = createStyles({ container: { flex: 1, paddingTop: Module712.space.PX_12, alignItems: "stretch" }, scrollView: { paddingBottom: Module712.space.PX_24 }, sectionHeader: { marginTop: Module712.space.PX_24, marginBottom: Module712.space.PX_8, paddingHorizontal: Module712.space.PX_16, textTransform: "capitalize" } }); const r58 = Module19.memo(function({ skuId, applicationId, recipientUser, setRecipientUser, lockedRecipient, validateRecipient, renderProductDetails, renderPurchaseSection }) { let analyticsLocations, load_id, memo, state, ref, state2, state3; analyticsLocations = void 0; load_id = void 0; memo = void 0; state = void 0; ref = void 0; state2 = void 0; state3 = void 0; const styles = useStyles(); const navigation = useNavigation(); const [isValidRecipient, setState] = useState(true); const [state4, setState2] = useState(false); const callback2 = useCallback(() => { navigation.navigate(UnifiedGiftModalScreens.RECIPENT_SELECT); }, [navigation]); analyticsLocations = useAnalyticsLocations().analyticsLocations; load_id = useInitialValue(() => v4()); memo = useMemo(() => ({ is_gift: true, location_stack: analyticsLocations, payment_type: "sku", sku_id: skuId, application_id: applicationId, load_id }), [analyticsLocations, skuId, applicationId, load_id]); useEffect(() => { setState(true); if (recipientUser != null) { setState2(true); validateRecipient(recipientUser.id).then((result) => { setState(result); }).finally(() => { setState2(false); }); } }, [recipientUser, skuId, validateRecipient]); useEffect(() => { AnalyticsUtils.track(AnalyticEvents.PAYMENT_FLOW_STARTED, memo); AnalyticsUtils.track(AnalyticEvents.PAYMENT_FLOW_LOADED, { ...memo, initial_step: "gift_customization" }); }, [memo]); let setGiftStyle; [state, setGiftStyle] = useState(useGiftStyles()[0]); ref = useRef(null); let setMessagePosition; [state2, setMessagePosition] = useState(0); let setCustomGiftMessage; [state3, setCustomGiftMessage] = useState(void 0); const callback = useCallback(() => { setTimeout(() => { const current = ref.current; return current == null ? void 0 : current.scrollTo({ y: state2, animated: true }); }, 100); }, [state2]); const memo2 = useMemo(() => ({ gift_style: state, recipient_id: recipientUser?.id, custom_message: state3 }), [state, recipientUser, state3]); return {intl.string(t.xFn72s)} {lockedRecipient && recipientUser != null ? : } {intl.string(t.PpoJzt)} {renderProductDetails({ recipientUser, isValidRecipient })} {renderPurchaseSection({ isPurchaseDisabled: recipientUser == null || state4 || !isValidRecipient, giftOptions: memo2, baseAnalyticsFields: memo })} ; }); export default r58;