decord/beta/source/modules/collectibles/hooks/useHandleUseNow.tsx
2026-10-12 16:32:48 +00:00

222 lines
7.6 KiB
TypeScript

// Module ID: 10638
// Function ID: 10639
// Name: hooks/useHandleUseNow
// Dependencies: [5, 32, 19, 1087, 1993, 1126, 8296, 10639, 8292, 6671, 2]
// Exports: useHandleUseNow
// Module 10638 (hooks/useHandleUseNow)
import CollectiblesShopConstants from "CollectiblesShopConstants" /* 1087 */;
import _asyncToGenerator from "_asyncToGenerator" /* 5 */;
import _slicedToArray_mod from "_slicedToArray" /* 32 */;
import react from "react" /* 19 */;
import size from "module_2" /* 2 */;
let c6, c7, closure_4, set;
let _slicedToArray = _slicedToArray_mod;
const isExternalProduct = CollectiblesShopConstants.isExternalProduct;
const result = size.fileFinishedImporting("modules/collectibles/hooks/useHandleUseNow.tsx");
export const useHandleUseNow = function useHandleUseNow(product) {
let closure_3;
let first;
let items1;
let stringResult;
product = product.product;
require = product;
const onSuccess = product.onSuccess;
const onError = product.onError;
_slicedToArray = undefined;
let firstAvatarDecoration;
let memo;
let obj = firstAvatarDecoration;
[first, _slicedToArray] = firstAvatarDecoration.useState(false);
const tmp3 = require;
const tmp4 = onSuccess;
let obj2 = require("useShopProductItems");
const shopProductItems = obj2.useShopProductItems(product);
firstAvatarDecoration = shopProductItems.firstAvatarDecoration;
const firstProfileEffect = shopProductItems.firstProfileEffect;
const firstNameplate = shopProductItems.firstNameplate;
const firstProfileFrame = shopProductItems.firstProfileFrame;
const type = product.type;
if (require("CollectiblesItemType").CollectiblesItemType.AVATAR_DECORATION === type) {
const intl5 = tmp3(tmp4[5]).intl;
stringResult = intl5.string(tmp3(tmp4[5]).t.zOA4ax);
} else if (tmp3(tmp4[4]).CollectiblesItemType.NAMEPLATE === type) {
const intl4 = tmp3(tmp4[5]).intl;
stringResult = intl4.string(tmp3(tmp4[5]).t.gOzMvx);
} else if (tmp3(tmp4[4]).CollectiblesItemType.PROFILE_FRAME === type) {
const intl3 = tmp3(tmp4[5]).intl;
stringResult = intl3.string(tmp3(tmp4[5]).t.lOF4zR);
} else if (tmp3(tmp4[4]).CollectiblesItemType.PROFILE_EFFECT === type) {
const intl2 = tmp3(tmp4[5]).intl;
stringResult = intl2.string(tmp3(tmp4[5]).t.SWm2ai);
} else {
const BUNDLE = tmp3(tmp4[4]).CollectiblesItemType.BUNDLE;
const intl = tmp3(tmp4[5]).intl;
stringResult = intl.string(tmp3(tmp4[5]).t.tf1ZZ4);
}
let items = [product];
memo = obj.useMemo(() => {
function computeCanUseNow(product) {
if (firstProfileEffect(product.skuId)) {
return false;
} else if (product.type !== closure_1_0(onSuccess[4]).CollectiblesItemType.BUNDLE) {
return true;
} else {
const _Set = Set;
const self = this;
const self2 = this;
set = new Set();
const items = product.items;
for (const item10023 of items) {
let tmp7 = item10023;
if (set.has(item10023.type)) {
obj2.return();
let flag = false;
return false;
} else {
let addResult = set.add(tmp7.type);
continue;
}
}
return true;
}
}
return computeCanUseNow(require);
}, items);
let obj3 = {
handleUseNow: obj.useCallback(onError(function*(arg0, value) {
let obj4;
let obj7;
let pendingProfileEffect;
let pendingProfileFrame;
if (c7 === 2) {
c7 = 3;
throw new TypeError("Generator functions may not be called on executing generators");
} else if (tmp3 === 3) {
if (arg0 === 1) {
throw value;
} else if (arg0 === 2) {
const obj2 = { value, done: true };
return obj2;
} else {
return { value: "IconComponent", done: null };
}
} else {
let c5;
try {
c7 = 2;
if (0 === c6) {
if (arg0 === 1) {
c7 = 3;
throw value;
} else if (arg0 === 2) {
c7 = 3;
const obj3 = { value, done: true };
return obj3;
} else {
let closure_2 = tmp4;
let obj5;
const tmp62 = memo;
if (tmp62) {
tmp(true);
obj5 = {};
c5 = 2;
if (null != firstAvatarDecoration) {
obj5.avatarDecoration = firstAvatarDecoration;
}
if (null == firstProfileEffect) {
if (null == firstProfileFrame) {
if (null != closure_131_6) {
obj5.nameplate = closure_131_6;
}
const _Object = Object;
if (Object.keys(obj5).length > 0) {
c6 = 4;
c7 = 1;
const obj6 = { value: obj4.saveProfileAndAccountChanges(obj5), done: false };
obj4 = pendingProfileEffect(pendingProfileFrame[9]);
return obj6;
} else {
if (closure_131_1 != null) {
closure_131_1();
}
c5 = 1;
}
}
}
const tmp38 = pendingProfileEffect(pendingProfileFrame[7]);
pendingProfileEffect = tmp17;
const getProfileChangesForUpdateRequest = tmp38.getProfileChangesForUpdateRequest;
if (firstProfileEffect == null) {
pendingProfileEffect = undefined;
}
const obj8 = { pendingProfileEffect, pendingProfileFrame };
pendingProfileFrame = firstProfileFrame;
if (firstProfileFrame == null) {
pendingProfileFrame = undefined;
}
const profileChangesForUpdateRequest = getProfileChangesForUpdateRequest(obj8);
c6 = 3;
c7 = 1;
const obj9 = { value: obj7.saveProfileChanges(profileChangesForUpdateRequest), done: false };
obj7 = pendingProfileEffect(pendingProfileFrame[8]);
return obj9;
}
c7 = 3;
return { value: "IconComponent", done: null };
}
} else if (1 === c6) {
c5 = 0;
closure_131_3(false);
throw closure_4;
} else if (2 === c6) {
c5 = 1;
let closure_1 = closure_4;
if (closure_131_2 != null) {
tmp9(closure_1);
}
} else if (3 === c6) {
if (arg0 === 1) {
c7 = 3;
throw value;
} else if (arg0 === 2) {
c5 = 0;
closure_131_3(false);
c7 = 3;
const obj10 = { value, done: true };
return obj10;
}
} else if (arg0 === 1) {
c7 = 3;
throw value;
} else if (arg0 === 2) {
c5 = 0;
closure_131_3(false);
c7 = 3;
const obj = { value, done: true };
return obj;
}
c5 = 0;
closure_131_3(false);
} catch (tmp45) {
closure_4 = tmp45;
if (0 === c5) {
c7 = 3;
throw tmp45;
} else if (1 === tmp47) {
c6 = 1;
} else {
c6 = 2;
}
}
}
}), items1),
isApplying: first,
canUseNow: memo
};
items1 = [memo, firstAvatarDecoration, firstProfileEffect, firstNameplate, firstProfileFrame, onSuccess, stringResult, onError];
return obj3;
};