// Metro module 8766 (f8767).
import { useCallback } from "react";
import { View } from "react-native";
import { useNativeCheckoutStore } from "../../checkout/native/NativeCheckoutStore";
import CollectiblesPurchaseStore from "../CollectiblesPurchaseStore";
import { EXTERNAL_PRODUCT_SKU_IDS, ShopCtaEnum } from "../CollectiblesShopConstants";
import { HelpdeskArticles, MarketingURLs, UserSettingsSections } from "../../../Constants";
import { RootNavigatorScreen } from "../../main_tabs_v2/native/MainTabsConstants";
import { PremiumTypes, SubscriptionIntervalTypes } from "../../premium/PremiumConstants";
import { createStyles } from "../../../design/components/Styles/native/createStyles";
import Module712 from "../../../_bundle/Module712";
import { IconButton } from "../../../design/components/Button/native/IconButton.native";
import { GiftIcon } from "../../../design/components/Icon/native/redesign/generated/GiftIcon";
import ActionSheetActionCreators from "../../action_sheet/native/ActionSheetActionCreators";
import { PRODUCT_DETAILS_ACTION_SHEET_KEY } from "./openProductDetailsActionSheet";
import { openShopGiftModal } from "./openGiftModal";
import { intl, t } from "../../../intl/index.native";
import { useVirtualCurrencyData } from "./hooks/useVirtualCurrencyData";
import { useProductDisableState } from "../hooks/useProductDisableState";
import { useProductPurchaseState } from "../hooks/useProductPurchaseState";
import { useNavigation } from "../../../design/components/Navigator/native/useNavigation.native";
import useAnalyticsLocations, { AnalyticsLocationProvider } from "../../app_analytics/useAnalyticsLocations";
import ModalActionCreators from "../../../actions/ModalActionCreators";
import { fetchCollectiblesPurchases } from "../CollectiblesActionCreators";
import { FractionalPremiumSKUsSets } from "../../../_bundle/Module679";
import ProductPurchaseSuccessActionCreators from "./ProductPurchaseSuccessActionCreators";
import { OrbsIcon } from "../../../design/components/Icon/native/redesign/generated/OrbsIcon";
import { Text } from "../../../design/components/Text/native/Text";
import { BaseTextButton } from "../../../design/components/Button/native/BaseTextButton.native";
import { CollectiblesItemType } from "../../../_bundle/Module1901";
import useTheme from "../../../hooks/useTheme";
import * as _shared from "../../../design/shared";
import { useToken } from "../../../design/tokens/native/useToken";
import { useCurrentUser } from "../hooks/useCurrentUser";
import { useStateFromStoresArray } from "../../../_bundle/Module589";
import { useIsPremiumSubscriber } from "../../premium/useIsPremiumSubscriber";
import PremiumUtils from "../../../utils/PremiumUtils";
import * as _CollectiblesUtils from "../CollectiblesUtils";
import * as _CollectiblesProductUtils from "../utils/CollectiblesProductUtils";
import { useFetchVirtualCurrencyBalance } from "../../virtual_currency/hooks/index";
import { useHandleUseNow } from "./useHandleUseNow";
import useHandleBuyNow from "./useHandleBuyNow";
import { useHandleClaim } from "./useHandleClaim";
import useShouldShowPremiumProfileFrameCTA from "../hooks/useShouldShowPremiumProfileFrameCTA";
import { useIsEligibleForBogoOffer } from "../../premium/native/hooks/useIsEligibleForBogoOffer.android";
import { useCanGiftProduct } from "../hooks/useCanGiftProduct";
import useSafeAreaInsets_native from "../../safe_area/useSafeAreaInsets.native";
import { isAndroid } from "../../../_bundle/Module501";
import Module4611 from "../../../_bundle/Module4611";
import Module8531, { Defs, RadialGradient, Stop, Rect } from "../../../_bundle/Module8531";
import { Button } from "../../../design/components/Button/native/Button.native";
import AnalyticsLocation from "../../app_analytics/AnalyticsLocation";
import HelpdeskUtils from "../../../utils/HelpdeskUtils";
import { UnlockWithNitroButton } from "./UnlockWithNitroButton";
let modalKey, c5725_20, useStyles, VCButton, PurchaseDisclaimer;
const GiftButton = function GiftButton(props) {
const { product, analyticsLocations, variant = "primary", onTrackPress } = props;
return } onPress={() => {
if (onTrackPress != null) {
onTrackPress(ShopCtaEnum.SEND_AS_GIFT);
}
ActionSheetActionCreators.hideActionSheet(PRODUCT_DETAILS_ACTION_SHEET_KEY);
openShopGiftModal({
skuId: product.skuId,
analyticsLocations
});
}} accessibilityLabel={intl.string(t.PEjaCx)} />;
};
VCButton = function VCButton(props) {
let INTERACTIVE_TEXT_ACTIVE, color;
const { balance, product: product2, hasShopDiscount = false, onTrackPress: onTrackPress2 } = props;
INTERACTIVE_TEXT_ACTIVE = void 0;
color = void 0;
const styles = useStyles();
const virtualCurrencyData = useVirtualCurrencyData(product2, hasShopDiscount);
const { price, canAfford } = virtualCurrencyData;
let isDisabled = useProductDisableState(product2.skuId).isDisabled;
const isPartiallyOwnedBundle = useProductPurchaseState(product2).isPartiallyOwnedBundle;
if (!isDisabled) {
isDisabled = !canAfford;
}
if (!isDisabled) {
isDisabled = isPartiallyOwnedBundle;
}
const navigation = useNavigation();
const analyticsLocations2 = useAnalyticsLocations().analyticsLocations;
const callback = useCallback(() => {
ActionSheetActionCreators.hideActionSheet();
ModalActionCreators.pushLazy(import("../../virtual_currency/checkout/native/OrbCheckoutModal"), {
skuId: product2.skuId,
analyticsLocations: analyticsLocations2,
onCheckoutSuccess: ({ entitlements }) => {
fetchCollectiblesPurchases();
ModalActionCreators.popWithKey(c5725_20);
if (product2.skuId === EXTERNAL_PRODUCT_SKU_IDS.ORB_PROFILE_BADGE) {
ModalActionCreators.pushLazy(import("./OrbBadgeCollectedModal"), {
modalKey,
onPressViewBadge: () => navigation.navigate(RootNavigatorScreen.YOU, {
showOrbsBadgeCoachmark: true
}),
orbBalancePriorToPurchase: balance
}, modalKey);
} else if (FractionalPremiumSKUsSets.ALL.has(product2.skuId)) {
const r43 = import("./FractionalNitroCollectedActionSheet");
let consumed = entitlements[0]?.consumed;
if (consumed == null) {
consumed = false;
}
ActionSheetActionCreators.openLazy(r43, "FractionalNitroCollectedActionSheet", {
skuId: product2.skuId,
consumed,
onPressExplorePerks: () => {
navigation.navigate(UserSettingsSections.PREMIUM);
ActionSheetActionCreators.hideActionSheet();
},
onPressViewCredits: () => {
navigation.navigate(UserSettingsSections.PREMIUM_MANAGE_PLAN);
ActionSheetActionCreators.hideActionSheet();
}
});
} else {
ProductPurchaseSuccessActionCreators.open({
product: product2,
useCategoryImage: true,
showOrbBalancePill: true,
orbBalancePriorToPurchase: balance
});
}
}
}, c5725_20);
}, [navigation, product2, balance, analyticsLocations2]);
if (price == null) {
return null;
}
INTERACTIVE_TEXT_ACTIVE = isDisabled ? Module712.colors.INTERACTIVE_TEXT_ACTIVE : Module712.colors.WHITE;
color = isDisabled ? "interactive-text-active" : "text-overlay-light";
const r60 = intl.format(t.JC15qj, {
orbPrice: price.amount,
orbIconHook: () =>
});
const r65 = Array.isArray(r60) ? r60 : [r60];
return
{r65.map((item, index) => typeof item !== "string" ? typeof item === "number" ?
{item}
: item :
{item}
)}
} onPress={() => {
if (onTrackPress2 != null) {
onTrackPress2(ShopCtaEnum.BUY_WITH_ORBS);
}
callback();
}} disabled={isDisabled} size="lg" variant={isDisabled ? "secondary" : "primary"} grow />
;
};
PurchaseDisclaimer = function PurchaseDisclaimer(props) {
const { product: product4, buyButtonLabel } = props;
return
{product4.type !== CollectiblesItemType.EXTERNAL_SKU && intl.format(t.iIglwJ, {
buyButtonLabel,
paidServiceTermURL: MarketingURLs.PAID_TERMS
})}
;
};
modalKey = "ORB_BADGE_COLLECTED_MODAL";
c5725_20 = "ORB_CHECKOUT_MODAL";
useStyles = createStyles({
container: {
backgroundColor: Module712.colors.MOBILE_ACTIONSHEET_BACKGROUND,
paddingHorizontal: Module712.space.PX_16,
paddingTop: Module712.space.PX_8
},
containerFramesEA: {
borderWidth: 1,
borderStyle: "solid",
borderColor: Module712.colors.BORDER_MUTED
},
gradientOverlay: {
position: "absolute",
top: 0,
left: 0,
right: 0,
bottom: 0
},
purchaseSection: {
gap: Module712.space.PX_12
},
disclaimer: {
opacity: 0.75
},
buttonContainer: {
flexDirection: "row",
gap: Module712.space.PX_12
},
framesEAContainer: {
flexDirection: "column",
gap: Module712.space.PX_8
},
orbsButtonLabel: {
flexDirection: "row",
alignItems: "center"
},
orbsButtonText: {
flexShrink: 1
}
});
export default function ProductDetailsActionSheetPurchaseSection(props) {
let r198, children;
let handleUseNow, handleEditProfile, handleBuyNow, handleClaim;
const { product: product3, analyticsLocations: analyticsLocations3, onBuy, onTrackPress: onTrackPress3 } = props;
handleUseNow = void 0;
handleEditProfile = void 0;
handleBuyNow = void 0;
handleClaim = void 0;
const styles2 = useStyles();
const isThemeDark = _shared.isThemeDark(useTheme());
const token = useToken(Module712.colors.MOBILE_ACTIONSHEET_BACKGROUND);
const currentUser = useCurrentUser();
const productPurchaseState = useProductPurchaseState(product3);
const { isPurchased, isPartiallyOwnedBundle } = productPurchaseState;
const [loading] = useStateFromStoresArray([CollectiblesPurchaseStore], () => [CollectiblesPurchaseStore.isClaiming === product3.skuId], [product3]);
const isPremiumSubscriber = useIsPremiumSubscriber(PremiumTypes.TIER_2);
const canUseShopDiscounts = PremiumUtils.canUseShopDiscounts(currentUser);
const isPremiumCollectiblesProduct = _CollectiblesUtils.isPremiumCollectiblesProduct(product3);
const isFreeCollectiblesProduct = _CollectiblesUtils.isFreeCollectiblesProduct(product3);
const isOrbsExclusiveProduct = _CollectiblesProductUtils.isOrbsExclusiveProduct(product3);
const balance2 = useFetchVirtualCurrencyBalance().balance;
const canAfford = useVirtualCurrencyData(product3, canUseShopDiscounts).canAfford;
const handleUseNow2 = useHandleUseNow({
product: product3,
analyticsLocations: analyticsLocations3
});
handleUseNow = handleUseNow2.handleUseNow;
const { isApplying, canUseNow } = handleUseNow2;
handleEditProfile = handleUseNow2.handleEditProfile;
const handleBuyNow2 = useHandleBuyNow({
product: product3,
analyticsLocations: analyticsLocations3,
onBuy,
orderId: useNativeCheckoutStore((a0) => a0.orderRecord)?.id
});
handleBuyNow = handleBuyNow2.handleBuyNow;
const isBuying = handleBuyNow2.isBuying;
handleClaim = useHandleClaim({
product: product3
}).handleClaim;
const shouldShowPremiumProfileFrameCTA = useShouldShowPremiumProfileFrameCTA({
location: "ProductDetailsActionSheetPurchaseSection",
product: product3
});
let r27 = shouldShowPremiumProfileFrameCTA && !isPurchased;
const r33 = useIsEligibleForBogoOffer() ? SubscriptionIntervalTypes.MONTH : SubscriptionIntervalTypes.YEAR;
let r12 = useCanGiftProduct(product3);
let bottom = useSafeAreaInsets_native().bottom;
const style = [styles2.container, r27 ? styles2.containerFramesEA : r27, ,];
if (bottom == null) {
bottom = Module712.space.PX_16;
}
style[2] = {
paddingBottom: bottom
};
const props2 = {
style,
children: null
};
if (r27) {
r27 = !isAndroid();
}
if (r27) {
r27 = <>
>;
}
L69: {
children = [r27, ,];
if (isPurchased) {
let r407 = product3.type !== CollectiblesItemType.EXTERNAL_SKU;
if (r407) {
const r437 = [