44 lines
2.7 KiB
TypeScript
44 lines
2.7 KiB
TypeScript
// Metro module 8773 (f8774).
|
|
import { useState, useCallback } from "react";
|
|
import ModalActionCreators from "../../../../actions/ModalActionCreators";
|
|
import { Navigator, useNavigatorScreens } from "../../../../design/components/Navigator/native/Navigator.native";
|
|
import { UnifiedGiftModalScreens } from "./UnifiedGiftModalTypes";
|
|
import { intl, t } from "../../../../intl/index.native";
|
|
import { getHeaderCloseButton, getHeaderBackButton } from "../../../../design/components/Navigator/native/NavigatorHeader.native";
|
|
import UnifiedGiftModalDetailsScreen from "./UnifiedGiftModalDetailsScreen";
|
|
import UnifiedGiftModalRecipientSelectScreen from "./UnifiedGiftModalRecipientSelectScreen";
|
|
import { AnalyticsLocationProvider } from "../../../app_analytics/useAnalyticsLocations";
|
|
export default function UnifiedGiftModal(props) {
|
|
const { skuId: skuId2, applicationId: applicationId2, analyticsLocations, lockedRecipientUser: lockedRecipientUser2, onGiftModalDismiss: onGiftModalDismiss2, validateRecipient: validateRecipient2, renderProductDetails: renderProductDetails2, renderPurchaseSection: renderPurchaseSection2 } = props;
|
|
const skuId = skuId2;
|
|
const applicationId = applicationId2;
|
|
const lockedRecipientUser = lockedRecipientUser2;
|
|
const onGiftModalDismiss = onGiftModalDismiss2;
|
|
const validateRecipient = validateRecipient2;
|
|
const renderProductDetails = renderProductDetails2;
|
|
const renderPurchaseSection = renderPurchaseSection2;
|
|
const [state, setState] = useState(lockedRecipientUser);
|
|
const callback = useCallback(() => {
|
|
ModalActionCreators.pop();
|
|
if (onGiftModalDismiss != null) {
|
|
onGiftModalDismiss();
|
|
}
|
|
}, [onGiftModalDismiss]);
|
|
return <AnalyticsLocationProvider value={analyticsLocations}>
|
|
<Navigator initialRouteName={UnifiedGiftModalScreens.GIFT_DETAIL} screens={useNavigatorScreens(() => {
|
|
const r1 = {};
|
|
r1[UnifiedGiftModalScreens.GIFT_DETAIL] = {
|
|
title: intl.string(t["JCFN/y"]),
|
|
headerLeft: getHeaderCloseButton(callback),
|
|
render: () => <UnifiedGiftModalDetailsScreen skuId={skuId} applicationId={applicationId} recipientUser={state} setRecipientUser={setState} lockedRecipient={lockedRecipientUser != null} validateRecipient={validateRecipient} renderProductDetails={renderProductDetails} renderPurchaseSection={renderPurchaseSection} />
|
|
};
|
|
r1[UnifiedGiftModalScreens.RECIPENT_SELECT] = {
|
|
title: intl.string(t.R0vK0N),
|
|
headerLeft: getHeaderBackButton(),
|
|
render: () => <UnifiedGiftModalRecipientSelectScreen setRecipientUser={setState} />
|
|
};
|
|
return r1;
|
|
}, [lockedRecipientUser, state, skuId, applicationId, callback, validateRecipient, renderProductDetails, renderPurchaseSection])} />
|
|
</AnalyticsLocationProvider>;
|
|
};
|