Files
discord-decomp/modules/wishlists/WishlistUtils.tsx
T
2026-11-01 12:12:55 +02:00

85 lines
2.6 KiB
TypeScript

// Metro module 12176 (f12177).
import _slicedToArray from "../../_bundle/_slicedToArray";
import SKURecord from "../skus/SKURecord";
import { isCollectiblesWishlistItemRecord } from "./records/CollectiblesWishlistItemRecord";
import { isPremiumWishlistItemRecord } from "./records/PremiumWishlistItemRecord";
import { isSKUWishlistItemRecord } from "./records/SKUWishlistItemRecord";
import { SKUProductLines } from "../../Constants";
import { PremiumSubscriptionSKUs } from "../premium/PremiumConstants";
import { intl, t } from "../../intl/index.native";
import { isSlayerSkuAvailableOnThisPlatform } from "../storefront/StorefrontUtils";
import PremiumUtils from "../../utils/PremiumUtils";
export function createNitroSuggestedSku() {
return new SKURecord({
id: PremiumSubscriptionSKUs.TIER_2,
productLine: SKUProductLines.PREMIUM,
name: intl.string(t.lG6a5x),
features: new Set(),
genres: new Set(),
manifests: [],
availableRegions: [],
locales: [],
bundledSkuIds: [],
selectedOptions: [],
eligibleOffers: [],
prices: {}
});
}
export function isEligibleWishlistItemOnMobile(a0, a1) {
let r14;
let isWishlistOwner = a1.isWishlistOwner;
const isSocialLayerStorefrontMobilePurchasingEnabled = a1.isSocialLayerStorefrontMobilePurchasingEnabled;
if (isSKUWishlistItemRecord(a0) && a0.sku.productLine === SKUProductLines.SOCIAL_LAYER_GAME_ITEM) {
let r16 = !!isSocialLayerStorefrontMobilePurchasingEnabled;
if (r16) {
if (!isWishlistOwner) {
isWishlistOwner = isSlayerSkuAvailableOnThisPlatform(a0.sku);
}
r16 = isWishlistOwner;
}
r14 = r16;
} else {
r14 = isCollectiblesWishlistItemRecord(a0) || isPremiumWishlistItemRecord(a0);
}
return r14;
}
export function buildReorderedWishlistData(a0, a1, a2, a3) {
let nextSkuId, previousSkuId;
if (a2 < a3) {
let r20 = a1[a3]?.skuId;
if (r20 == null) {
r20 = null;
}
let r9 = a1[a3 + 1]?.skuId;
if (r9 == null) {
r9 = null;
}
nextSkuId = r9;
previousSkuId = r20;
} else {
previousSkuId = a1[a3 - 1]?.skuId;
if (previousSkuId == null) {
previousSkuId = null;
}
nextSkuId = a1[a3]?.skuId;
if (nextSkuId == null) {
nextSkuId = null;
}
}
const r27 = [...a1];
r27.splice(a3, 0, _slicedToArray(r27.splice(a2, 1), 1)[0]);
return {
newWishlistData: a0.set("items", r27),
previousSkuId,
nextSkuId
};
}
export function buildReorderedNitroFirstWishlistItems(a0) {
const r6 = a0.findIndex((item) => PremiumUtils.isPremiumSku(item.skuId));
if (r6 <= 0) {
return a0;
}
const r10 = [...a0];
return [_slicedToArray(r10.splice(r6, 1), 1)[0], ...r10];
}