Files
discord-decomp/modules/premium/referral_program/hooks/useReferralProgramEligibleUsers.tsx
T
2026-11-01 12:12:55 +02:00

422 lines
14 KiB
TypeScript

// Metro module 12477 (f12478).
import _slicedToArray from "../../../../_bundle/_slicedToArray";
import { useState, useRef, useEffect } from "react";
import ReferralTrialStore from "../../ReferralTrialStore";
import { useStateFromStores } from "../../../../_bundle/Module589";
import Module38 from "../../../../_bundle/Module38";
import { ReferralOfferStatus, fetchReferralEligibleUsers } from "../../ReferralTrialActionCreators";
import { getUser } from "../../../../actions/UserActionCreators";
import { HermesBuiltin } from "../../../../_hermes/prelude";
function $mk118353($env) {
return (a0) => {
let r28;
const r6 = $env;
const r4 = $env.$parent;
let env32032 = {
$parent: r4
};
r6[2] = r6[2].filter($mk118891(r4));
env32032[0] = new Set(r6[2].map((item) => item.id));
const r26 = r6[7].users.filter((user) => {
const r7 = env32032.$parent[1].has(user.id);
return r7 ? !r7 : !env32032[0].has(user.id);
});
if (r6[0] === 0) {
const r35 = r4[1].values();
const r36 = [];
const r39 = HermesBuiltin.arraySpread(r36, r35, 0);
HermesBuiltin.arraySpread(r36, r26, HermesBuiltin.arraySpread(r36, r6[2].values(), r39));
r28 = r36;
} else {
r28 = [...a0, ...r26];
}
return r28;
};
}
function $mk118354($env) {
return (a0) => {
const map = new Map(a0);
for (const item of $env[2]) {
map.set(item.id, item);
}
return map;
};
}
function $mk118891($env) {
return (a0) => !$env[1].has(a0.id);
}
let env8623 = {};
export function useReferralProgramEligibleUsers(a0) {
let env19859 = {
$parent: env8623
};
const searchQuery = a0.searchQuery;
env19859[0] = searchQuery;
env19859[1] = a0.selectedUsers;
const limit = a0.limit;
env19859[2] = limit;
env19859[3] = void 0;
env19859[4] = void 0;
env19859[5] = void 0;
env19859[6] = void 0;
env19859[7] = void 0;
env19859[8] = void 0;
env19859[9] = void 0;
env19859[10] = void 0;
env19859[11] = void 0;
env19859[12] = void 0;
env19859[13] = void 0;
env19859[17] = void 0;
env19859[18] = void 0;
env19859[14] = function _getLocalReferrals() {
const r9 = async () => {
let r29;
let c31657_0, c31657_1, c31657_2, c31657_3, c31657_4;
let c30522_0, c30522_1, c30522_4;
let c30522_5 = 0;
L23: {
L22: {
try {
c31657_0 = void 0;
c31657_1 = void 0;
c31657_2 = void 0;
c31657_3 = void 0;
c31657_4 = void 0;
c31657_0 = new Map();
const r42 = env19859[3];
c30522_1 = r42;
const r44 = r42[Symbol.iterator]();
c30522_1 = r44.next;
c30522_0 = r44;
while (true) {
const r46 = c30522_1;
let r47 = c30522_0;
const r48 = r47 === void 0 ? void 0 : (r29 = r46.call(r47)).done ? r47 = void 0 : r29.value;
c30522_0 = r47;
if (r47 === void 0) {
(0, env19859[13])(c31657_0);
(0, env19859[7])(Array.from(c31657_0.values()));
break L23;
}
c30522_5 = 1;
c31657_1 = r48;
c31657_2 = (0, _slicedToArray)(c31657_1, 2);
c31657_3 = c31657_2[0];
if (c31657_2[1] === ReferralOfferStatus.PENDING && !env19859[12].has(c31657_3)) {
let r98 = await getUser(c31657_3);
loop14: while (true) {
c31657_4 = r98;
c31657_0.set(c31657_4.id, c31657_4);
while (true) {
c30522_5 = 0;
const r116 = c30522_1;
let r117 = c30522_0;
const r118 = r117 === void 0 ? void 0 : (r29 = r116.call(r117)).done ? r117 = void 0 : r29.value;
c30522_0 = r117;
if (r117 === void 0) {
(0, env19859[13])(c31657_0);
(0, env19859[7])(Array.from(c31657_0.values()));
break L22;
}
c30522_5 = 1;
c31657_1 = r118;
c31657_2 = (0, _slicedToArray)(c31657_1, 2);
c31657_3 = c31657_2[0];
if (c31657_2[1] === ReferralOfferStatus.PENDING && !env19859[12].has(c31657_3)) {
r98 = await getUser(c31657_3);
continue loop14;
}
}
}
}
c30522_5 = 0;
}
} catch ($e) {
const r37 = $e;
let r7 = r37;
c30522_4 = r37;
if (c30522_5 !== 0) {
while (true) {
try {
const r185 = c30522_4;
c30522_5 = 0;
const r187 = c30522_0;
if (r187 !== void 0 && typeof r187.return === "function") {
try {
r187.return();
} catch {}
}
throw r185;
} catch (r183) {
r7 = r183;
c30522_4 = r183;
if (c30522_5 === 0) {
break;
}
}
}
}
throw r7;
}
}
return void 0;
}
};
env19859[14] = r9;
return r9.apply(this, arguments);
};
const getNextRows = function getNextRows(a0, a1) {
return env19859[16].apply(this, arguments);
};
env19859[15] = getNextRows;
env19859[16] = function _getNextRows() {
const r9 = async (c30523_0, c30523_1) => {
let r34, r148;
let c30523_2, c30523_3, c30523_4, c30523_5, c30523_6, c30523_7;
let c30523_8 = 0;
const r10 = env19859;
L43: {
L38: {
try {
let env31658;
c30523_6 = r10;
const r18 = env31658 = {
$parent: r10
};
c30523_5 = r18;
env31658[0] = c30523_0;
env31658[1] = c30523_1;
env31658[2] = void 0;
env31658[3] = void 0;
env31658[4] = void 0;
env31658[5] = void 0;
env31658[6] = void 0;
env31658[7] = void 0;
if (env19859[8]) {
break L43;
}
if (env19859[10]) {
break L43;
}
if (c30523_0 == null) {
break L43;
}
if (env19859[4] === 0) {
break L43;
}
c30523_8 = 2;
(0, env19859[9])(true);
c30523_2 = 0;
const r23 = env19859[12].values();
const r57 = [];
c30523_2 = HermesBuiltin.arraySpread(r57, r23, c30523_2);
env31658[2] = r57;
const r59 = env19859[3];
c30523_4 = r59;
const r61 = r59[Symbol.iterator]();
c30523_4 = r61.next;
c30523_3 = r61;
while (true) {
const r63 = c30523_4;
let r64 = c30523_3;
const r65 = r64 === void 0 ? void 0 : (r34 = r63.call(r64)).done ? r64 = void 0 : r34.value;
c30523_3 = r64;
if (r64 === void 0) {
const referralEligibleUsers = await fetchReferralEligibleUsers(env31658[0], env19859[0], env31658[1]);
const r308 = c30523_5;
env31658[7] = referralEligibleUsers;
(0, env19859[7])($mk118353(r308));
(0, env19859[13])($mk118354(r308));
(0, env19859[6])(env31658[7].nextIndex);
c30523_8 = 1;
c30523_8 = 0;
(0, env19859[9])(false);
break L38;
}
c30523_8 = 3;
env31658[3] = r65;
env31658[4] = (0, _slicedToArray)(env31658[3], 2);
env31658[5] = env31658[4][0];
if (env31658[4][1] === ReferralOfferStatus.PENDING && !env19859[12].has(env31658[5])) {
env31658[6] = await getUser(env31658[5]);
env31658[2].push(env31658[6]);
while (true) {
c30523_8 = 2;
L34: {
const r134 = c30523_4;
let r135 = c30523_3;
const r136 = r135 === void 0 ? void 0 : (r34 = r134.call(r135)).done ? r135 = void 0 : r34.value;
c30523_3 = r135;
if (r135 === void 0) {
r148 = fetchReferralEligibleUsers(env31658[0], env19859[0], env31658[1]);
} else {
c30523_8 = 3;
env31658[3] = r136;
env31658[4] = (0, _slicedToArray)(env31658[3], 2);
env31658[5] = env31658[4][0];
if (env31658[4][1] !== ReferralOfferStatus.PENDING) {
continue;
}
if (env19859[12].has(env31658[5])) {
continue;
}
let r181 = getUser(env31658[5]);
loop26: while (true) {
env31658[6] = await r181;
env31658[2].push(env31658[6]);
while (true) {
c30523_8 = 2;
const r207 = c30523_4;
let r208 = c30523_3;
const r209 = r208 === void 0 ? void 0 : (r34 = r207.call(r208)).done ? r208 = void 0 : r34.value;
c30523_3 = r208;
if (r208 === void 0) {
r148 = fetchReferralEligibleUsers(env31658[0], env19859[0], env31658[1]);
break L34;
}
c30523_8 = 3;
env31658[3] = r209;
env31658[4] = (0, _slicedToArray)(env31658[3], 2);
env31658[5] = env31658[4][0];
if (env31658[4][1] === ReferralOfferStatus.PENDING && !env19859[12].has(env31658[5])) {
r181 = getUser(env31658[5]);
continue loop26;
}
}
}
}
}
const r40 = await r148;
const r273 = c30523_5;
env31658[7] = r40;
(0, env19859[7])($mk118353(r273));
(0, env19859[13])($mk118354(r273));
(0, env19859[6])(env31658[7].nextIndex);
c30523_8 = 1;
c30523_8 = 0;
(0, env19859[9])(false);
break L38;
}
}
c30523_8 = 2;
}
break L43;
} catch ($e) {
const r46 = $e;
let r7 = r46;
c30523_7 = r46;
let r47 = c30523_8;
if (r47 !== 0) {
while (true) {
if (r47 === 1) {
try {
const r346 = c30523_7;
c30523_8 = 0;
(0, env19859[9])(false);
throw r346;
} catch (r344) {
r7 = r344;
c30523_7 = r344;
r47 = c30523_8;
if (r47 === 0) {
break;
}
}
} else if (r47 === 2) {
try {
c30523_8 = 1;
(0, env19859[11])(true);
c30523_8 = 0;
(0, env19859[9])(false);
break L38;
} catch (r333) {
r7 = r333;
c30523_7 = r333;
r47 = c30523_8;
if (r47 === 0) {
break;
}
}
} else {
try {
const r328 = c30523_7;
c30523_8 = 2;
const r330 = c30523_3;
if (r330 !== void 0 && typeof r330.return === "function") {
try {
r330.return();
} catch {}
}
throw r328;
} catch (r327) {
r7 = r327;
c30523_7 = r327;
r47 = c30523_8;
if (r47 === 0) {
break;
}
}
}
}
}
throw r7;
}
}
return void 0;
}
};
env19859[16] = r9;
return r9.apply(this, arguments);
};
env19859[3] = useStateFromStores([ReferralTrialStore], () => ReferralTrialStore.getRecipientStatus());
const stateFromStores = useStateFromStores([ReferralTrialStore], () => ReferralTrialStore.getReferralsRemaining());
env19859[4] = stateFromStores;
const r37 = _slicedToArray(useState(0), 2);
env19859[5] = r37[0];
env19859[6] = r37[1];
const r43 = _slicedToArray(useState([]), 2);
const eligibleUsers = r43[0];
env19859[7] = r43[1];
const r48 = _slicedToArray(useState(false), 2);
const isFetching = r48[0];
env19859[8] = isFetching;
env19859[9] = r48[1];
const r53 = _slicedToArray(useState(false), 2);
const hasError = r53[0];
env19859[10] = hasError;
env19859[11] = r53[1];
const r61 = _slicedToArray(useState(new Map()), 2);
const resendUsers = r61[0];
env19859[12] = resendUsers;
env19859[13] = r61[1];
Module38(stateFromStores != null, "Referrals remaining should not be null");
const r71 = {
limit,
getNextRows,
getLocalReferrals: function getLocalReferrals() {
return env19859[14].apply(this, arguments);
}
};
env19859[17] = r71;
env19859[18] = useRef(r71);
useEffect(() => {
env19859[18].current = env19859[17];
});
useEffect(() => {
const current = env19859[18].current;
const { getNextRows: getNextRows2, limit, getLocalReferrals: getLocalReferrals2 } = current;
if (env19859[4] > 0) {
getNextRows2(0, limit);
} else {
getLocalReferrals2();
}
}, [searchQuery, stateFromStores]);
return {
eligibleUsers,
fetchUsers: () => (0, env19859[15])(env19859[5], env19859[2]),
hasError,
isFetching,
resendUsers
};
}