// Metro module 11884 (f11885). import { useMemo } from "react"; import { View } from "react-native"; import { EXTERNAL_PRODUCT_SKU_IDS } from "../CollectiblesShopConstants"; import { BUNDLE_PREVIEW_CONFIG, SAMPLE_PROFILE_ASPECT_RATIO } from "./CollectiblesPreviewConstants"; import { createStyles } from "../../../design/components/Styles/native/createStyles"; import Module712 from "../../../_bundle/Module712"; import useProfileEffect from "../profile_effects/useProfileEffect"; import FastImage from "../../../components_native/common/FastImage"; import Module11885 from "../../../_bundle/Module11885"; import useMaybeFetchProfileFrame from "../profile_frames/hooks/useMaybeFetchProfileFrame"; import ProfileFrameSamplePreview from "../profile_frames/native/previews/ProfileFrameSamplePreview"; import { useShopProductItems } from "../hooks/useShopProductItems"; import { useCollectiblesMobileFlexibleBundlesExperiment } from "../experiments/CollectiblesMobileFlexibleBundlesExperiment"; import BundleSampleV2 from "./BundleSampleV2"; import { getNameplateData } from "../nameplates/utils"; import Nameplate from "../nameplates/native/Nameplate"; import { CollectiblesItemType } from "../../../_bundle/Module1901"; import { FractionalPremiumSKUsSets } from "../../../_bundle/Module679"; import { FractionalNitroCoinIllustration, FRACTIONAL_NITRO_COIN_SIZE } from "./FractionalNitroCoinIllustration"; import Module8713 from "../../../_bundle/Module8713"; import AvatarDecorationSampleV2 from "./AvatarDecorationSampleV2"; import { intl, t } from "../../../intl/index.native"; import { Text } from "../../../design/components/Text/native/Text"; import { getProductOrbPrice } from "../utils/CollectiblesProductUtils"; import { getFormattedPriceForCollectiblesProduct } from "./CollectiblesUtils"; import OrbCheckoutAmountTag from "../../virtual_currency/native/OrbCheckoutAmountTag"; import { useCurrentUser } from "../hooks/useCurrentUser"; import PremiumUtils from "../../../utils/PremiumUtils"; import { getProductNameAndTypeLabel } from "../utils/getProductName"; let useStyles, useStyles2, useStyles3, useStyles4, ProfileFrameAssetPreview, BundleAssetPreview, NameplateAssetPreview, CollectibleProductPreview, CollectibleProductPreviewContent, ProductDetails, ProductPriceAmountTag; const ProfileEffectAssetPreview = function ProfileEffectAssetPreview(props) { const item = props.item; const styles3 = useStyles3(); const profileEffect = useProfileEffect(item.skuId); return profileEffect != null ? : null; }; ProfileFrameAssetPreview = function ProfileFrameAssetPreview(props) { const { item, width: width2, height: height3 } = props; const maybeFetchProfileFrame = useMaybeFetchProfileFrame(item.skuId, "CollectiblesShopCheckoutDetails"); return maybeFetchProfileFrame != null ? : null; }; BundleAssetPreview = function BundleAssetPreview(props) { const { product: product4, width, height } = props; const styles = useStyles(); const shopProductItems = useShopProductItems(product4); const { firstProfileEffect, firstAvatarDecoration, firstNameplate } = shopProductItems; const enabled = useCollectiblesMobileFlexibleBundlesExperiment("CollectiblesShopCheckoutDetails").enabled; const bundleWidth = BUNDLE_PREVIEW_CONFIG.small.bundleWidth; const height2 = enabled ? bundleWidth : Math.round(1.1494252873563218 * bundleWidth); const scale = width / height2; return [styles.bundlePreviewContainer, { width, height }], [styles.bundlePreviewContainer, width, height])}> [styles.bundlePreviewScale, { width: bundleWidth, height: height2, transform: [{ scale }] }], [styles.bundlePreviewScale, bundleWidth, height2, scale])}> ({ width, height }), [width, height])} exposureLocation="CollectiblesShopCheckoutDetails" /> ; }; NameplateAssetPreview = function NameplateAssetPreview(props) { const item = props.item; const styles4 = useStyles4(); return ; }; CollectibleProductPreview = function CollectibleProductPreview(props) { const { product: product4, recipientUser } = props; const styles2 = useStyles(); const width2 = product4.type !== CollectiblesItemType.PROFILE_EFFECT ? product4.type === CollectiblesItemType.PROFILE_FRAME ? 42 : 55 : 42; return ; }; CollectibleProductPreviewContent = function CollectibleProductPreviewContent(props) { const { product: product4, width: width2, height: height3, userAvatarSource } = props; const styles2 = useStyles(); if (FractionalPremiumSKUsSets.ALL.has(product4.skuId)) { return ; } if (product4.skuId === EXTERNAL_PRODUCT_SKU_IDS.ORB_PROFILE_BADGE) { return ; } const type = product4.type; if (CollectiblesItemType.AVATAR_DECORATION === type) { return ; } if (CollectiblesItemType.PROFILE_EFFECT === type) { return ; } if (CollectiblesItemType.NAMEPLATE === type) { return ; } if (CollectiblesItemType.PROFILE_FRAME === type) { return ; } if (CollectiblesItemType.BUNDLE === type) { return ; } return null; }; ProductDetails = function ProductDetails(props) { const { product, recipientUser } = props; const styles2 = useStyles(); const memo = useMemo(() => { if (FractionalPremiumSKUsSets.ALL.has(product.skuId)) { return intl.string(t.DFMPWS); } if (product.skuId === EXTERNAL_PRODUCT_SKU_IDS.ORB_PROFILE_BADGE) { return intl.string(t["0+rBWT"]); } const type = product.type; if (CollectiblesItemType.AVATAR_DECORATION === type) { return intl.string(t["7v0T9P"]); } if (CollectiblesItemType.PROFILE_EFFECT === type) { return intl.string(t.wR5wOo); } if (CollectiblesItemType.NAMEPLATE === type) { return intl.string(t.x5CoXR); } if (CollectiblesItemType.PROFILE_FRAME === type) { return intl.string(t.GWrZOd); } if (CollectiblesItemType.BUNDLE === type) { return intl.string(t.Zr5tjn); } return null; }, [product.type, product.skuId]); return memo == null ? {product.name} : {product.name} {memo} ; }; ProductPriceAmountTag = function ProductPriceAmountTag(props) { const { product: product2, hasShopDiscount, useOrbPrice } = props; const memo = useMemo(() => { let orbPrice, priceText; if (useOrbPrice) { orbPrice = getProductOrbPrice({ product: product2, hasShopDiscount }); priceText = void 0; } else { priceText = getFormattedPriceForCollectiblesProduct(product2, hasShopDiscount, true); orbPrice = void 0; } return { orbPrice, priceText }; }, [product2, hasShopDiscount, useOrbPrice]); const { orbPrice, priceText } = memo; return useOrbPrice ? : {priceText}; }; useStyles = createStyles({ externalProductImage: { width: 45, height: 45 }, bundlePreviewContainer: { alignItems: "center", justifyContent: "center", overflow: "hidden", borderRadius: Module712.radii.xs }, bundlePreviewScale: { overflow: "hidden", alignItems: "center", justifyContent: "center" }, productContainer: { borderRadius: Module712.radii.lg, flexDirection: "column", backgroundColor: Module712.colors.BACKGROUND_MOD_SUBTLE }, productDetailsContainer: { flexDirection: "row", alignItems: "center", justifyContent: "space-between", paddingHorizontal: Module712.space.PX_16, paddingVertical: Module712.space.PX_16 }, productPreviewContainer: { justifyContent: "center", alignItems: "center" }, productDetails: { display: "flex", flexDirection: "row", alignItems: "center", gap: Module712.space.PX_12 }, productDetailsTextContainer: { gap: Module712.space.PX_4 }, errorContainer: { height: 36, backgroundColor: Module712.colors.BACKGROUND_SURFACE_HIGH, justifyContent: "center", paddingHorizontal: Module712.space.PX_16, borderBottomLeftRadius: Module712.radii.lg, borderBottomRightRadius: Module712.radii.lg } }); useStyles2 = createStyles((a0) => ({ giftProductContainer: { borderWidth: 2, borderColor: a0 ? Module712.colors.BACKGROUND_BRAND : Module712.colors.BORDER_FEEDBACK_CRITICAL, marginHorizontal: Module712.space.PX_16, backgroundColor: void 0 } })); useStyles3 = createStyles({ profileEffectContainer: { position: "relative", width: "100%", height: "100%", borderRadius: Module712.radii.xs, overflow: "hidden" }, profileEffect: { position: "absolute", width: "100%", aspectRatio: SAMPLE_PROFILE_ASPECT_RATIO, top: 0 } }); useStyles4 = createStyles({ nameplate: { borderRadius: Module712.radii.xs } }); export default function CollectiblesShopCheckoutDetails(props) { const { product: product3, recipientUser, isValidRecipient = false, useOrbPrice: useOrbPrice2 = false } = props; let c19252_1 = useOrbPrice2; let isGift = props.isGift; if (isGift === void 0) { isGift = false; } const styles2 = useStyles(); const styles22 = useStyles2(isValidRecipient); const canUseShopDiscounts = PremiumUtils.canUseShopDiscounts(useCurrentUser()); const memo = useMemo(() => { let r19; const productNameAndTypeLabel = getProductNameAndTypeLabel(product3); if (c19252_1) { const W4DfeF = t.W4DfeF; let orbAmount = getProductOrbPrice({ product: product3, hasShopDiscount: canUseShopDiscounts })?.amount; if (orbAmount == null) { orbAmount = ""; } r19 = intl.formatToPlainString(W4DfeF, { orbAmount }); } else { r19 = getFormattedPriceForCollectiblesProduct(product3, canUseShopDiscounts, true); if (r19 == null) { r19 = ""; } } return `${productNameAndTypeLabel}, ${r19}`; }, [product3, useOrbPrice2, canUseShopDiscounts]); const style = [styles2.productContainer, isGift ? styles22.giftProductContainer : isGift]; const r47 = [ , ,]; if (isGift) { isGift = !isValidRecipient; } if (isGift) { isGift = {intl.string(t["3YfczA"])} ; } r47[1] = isGift; return {r47}; };