38 lines
1.7 KiB
TypeScript
38 lines
1.7 KiB
TypeScript
// Metro module 11913 (f11914).
|
|
import { useCurrentUser } from "./useCurrentUser";
|
|
import { useIsProfileFrameGiftingEnabled } from "../experiments/CollectiblesProfileFrameGiftingExperiment";
|
|
import * as _CollectiblesUtils from "../CollectiblesUtils";
|
|
import { isPremiumCollectiblesProduct, extractPriceByPurchaseTypes, getDefaultPriceSetAssignmentPurchaseType, shouldHideGiftingForCurrency } from "../CollectiblesUtils";
|
|
import * as _CollectiblesProductUtils from "../utils/CollectiblesProductUtils";
|
|
import { CollectiblesItemType } from "../../../_bundle/Module1901";
|
|
import PremiumUtils from "../../../utils/PremiumUtils";
|
|
import { isCollectibleGiftingSupported } from "../../device/BillingPlatformUtils";
|
|
export function useCanGiftProduct(a0) {
|
|
const currentUser = useCurrentUser();
|
|
const isProfileFrameGiftingEnabled = useIsProfileFrameGiftingEnabled("useCanGiftProduct");
|
|
let r21 = isPremiumCollectiblesProduct(a0);
|
|
const isFreeCollectiblesProduct = _CollectiblesUtils.isFreeCollectiblesProduct(a0);
|
|
const isOrbsExclusiveProduct = _CollectiblesProductUtils.isOrbsExclusiveProduct(a0);
|
|
const r1 = a0.type === CollectiblesItemType.PROFILE_FRAME && !isProfileFrameGiftingEnabled;
|
|
const r45 = extractPriceByPurchaseTypes(a0, getDefaultPriceSetAssignmentPurchaseType(PremiumUtils.canUseShopDiscounts(currentUser)));
|
|
if (!r21) {
|
|
r21 = isFreeCollectiblesProduct;
|
|
}
|
|
if (!r21) {
|
|
r21 = isOrbsExclusiveProduct;
|
|
}
|
|
if (!r21) {
|
|
r21 = r1;
|
|
}
|
|
if (!r21) {
|
|
r21 = a0.type === CollectiblesItemType.EXTERNAL_SKU;
|
|
}
|
|
if (!r21) {
|
|
r21 = shouldHideGiftingForCurrency(r45?.currency);
|
|
}
|
|
if (!r21) {
|
|
r21 = !isCollectibleGiftingSupported();
|
|
}
|
|
return !r21;
|
|
}
|