Files
discord-decomp/modules/collectibles/hooks/useCanGiftProduct.tsx
T
2026-11-01 12:12:55 +02:00

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;
}