417 lines
15 KiB
TypeScript
417 lines
15 KiB
TypeScript
// Module ID: 15683
|
|
// Function ID: 15684
|
|
// Name: checkNodeAndIterate
|
|
// Dependencies: [32, 19, 17, 5388, 4201, 5083, 15613, 14518, 21, 4668, 8163, 1629, 14511, 14520, 636, 643, 589, 4119, 15684, 2]
|
|
|
|
// Module 15683 (checkNodeAndIterate)
|
|
import renderDefaultEmpty from "renderDefaultEmpty" /* 8163 */;
|
|
import closure_3 from "_slicedToArray" /* 32 */;
|
|
import importAllResult from "noop" /* 19 */;
|
|
import { View } from "get ActivityIndicator" /* 17 */;
|
|
import closure_6 from "updateGuildUnreadSentinel" /* 5388 */;
|
|
import closure_7 from "handleConnectionOpen" /* 4201 */;
|
|
import closure_8 from "insertUnsortedGuilds" /* 5083 */;
|
|
import { GuildsNodeType } from "insertUnsortedGuilds" /* 5083 */;
|
|
import GUILD_ITEM_SIZE from "GUILD_ITEM_SIZE" /* 15613 */;
|
|
import CONNECTION_BANNER_HEIGHT from "CONNECTION_BANNER_HEIGHT" /* 14518 */;
|
|
import { jsx } from "jsxProd" /* 21 */;
|
|
import createCacheKey from "createCacheKey" /* 4668 */;
|
|
|
|
require = arg1;
|
|
function checkNodeAndIterate(arg0) {
|
|
let tmp4;
|
|
let tmp5Result;
|
|
({ node, section, item, direction, selectedGuildId } = arg0);
|
|
if (null != node) {
|
|
if (node.type === GuildsNodeType.GUILD) {
|
|
if (node.id !== selectedGuildId) {
|
|
let tmp2;
|
|
if (store.getMentionCount(node.id) > 0) {
|
|
tmp2 = node;
|
|
}
|
|
if (null != tmp2) {
|
|
let obj = { node: null, section: null, item: null };
|
|
obj[0] = tmp2;
|
|
if (section == null) {
|
|
section = 0;
|
|
}
|
|
obj[1] = section;
|
|
if (item == null) {
|
|
item = 0;
|
|
}
|
|
obj[2] = item;
|
|
return obj;
|
|
}
|
|
}
|
|
}
|
|
let num4 = 0;
|
|
if (1 !== direction) {
|
|
num4 = node.children.length - 1;
|
|
}
|
|
if (0 <= num4) {
|
|
if (num4 < node.children.length) {
|
|
while (true) {
|
|
let tmp3 = num4;
|
|
tmp4 = num4;
|
|
if (null != section) {
|
|
tmp4 = section;
|
|
}
|
|
obj = { node: null, section: null, item: null, direction: null, selectedGuildId: null };
|
|
obj[0] = node.children[num4];
|
|
obj[1] = tmp4;
|
|
let tmp6;
|
|
let tmp5 = checkNodeAndIterate;
|
|
if (null != section) {
|
|
tmp6 = num4;
|
|
}
|
|
obj[2] = tmp6;
|
|
obj[3] = direction;
|
|
obj[4] = selectedGuildId;
|
|
tmp5Result = tmp5(obj);
|
|
if (null != tmp5Result) {
|
|
break;
|
|
} else {
|
|
let sum = num4 + direction;
|
|
if (sum >= 0) {
|
|
num4 = sum;
|
|
}
|
|
}
|
|
}
|
|
let tmp10 = tmp5Result;
|
|
if (node.type === GuildsNodeType.FOLDER) {
|
|
tmp10 = tmp5Result;
|
|
if (!node.expanded) {
|
|
obj = { node: null, section: null };
|
|
obj[0] = node;
|
|
obj[1] = tmp4;
|
|
tmp10 = obj;
|
|
}
|
|
}
|
|
return tmp10;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
function findFirstOrLastMentionedItem(scrollPosValue) {
|
|
guildsTree = guildsTree.getGuildsTree();
|
|
const root = guildsTree.root;
|
|
({ scrollPosValue, getSectionItemFromPosition } = scrollPosValue);
|
|
const item = getSectionItemFromPosition(scrollPosValue.get() + arg4).item;
|
|
let layoutStart;
|
|
if (item != null) {
|
|
layoutStart = item.layoutStart;
|
|
}
|
|
if (layoutStart == null) {
|
|
const scrollPosValue2 = scrollPosValue.scrollPosValue;
|
|
layoutStart = scrollPosValue2.get();
|
|
}
|
|
const scrollPosValue3 = scrollPosValue.scrollPosValue;
|
|
section = -1;
|
|
item2 = -1;
|
|
let flag = false;
|
|
const diff = scrollPosValue3.get() + scrollPosValue.containerSize - arg3 - (closure_12 + closure_13);
|
|
const iter = scrollPosValue.state.items[Symbol.iterator]();
|
|
const nextResult = iter.next();
|
|
while (iter !== undefined) {
|
|
let tmp4 = nextResult;
|
|
if (nextResult.layoutStart >= layoutStart) {
|
|
let tmp40 = nextResult;
|
|
let tmp41 = require;
|
|
let tmp42 = dependencyMap;
|
|
if (tmp4.type === renderDefaultEmpty.FastListItemTypes.ITEM) {
|
|
let tmp6 = nextResult;
|
|
if (tmp4.layoutStart > diff) {
|
|
let tmp30 = iter;
|
|
iter.return();
|
|
break;
|
|
} else {
|
|
let tmp43 = nextResult;
|
|
let tmp44 = constants;
|
|
let tmp45 = constants;
|
|
if (tmp4.section < constants.GUILDS) {
|
|
if (arg1) {
|
|
flag = true;
|
|
let tmp29 = iter;
|
|
iter.return();
|
|
break;
|
|
}
|
|
break;
|
|
} else {
|
|
let tmp46 = nextResult;
|
|
if (0 !== tmp4.layoutSize) {
|
|
let tmp47 = section;
|
|
if (-1 === section) {
|
|
let tmp7 = nextResult;
|
|
({ section, item: item2 } = tmp4);
|
|
}
|
|
let tmp8 = nextResult;
|
|
let type = tmp4.type;
|
|
if (tmp41(8163).FastListItemTypes.SECTION === type) {
|
|
let tmp18 = nextResult;
|
|
let node = guildsTree.getNode(tmp4.recyclerKey);
|
|
let element = node;
|
|
if (null != node) {
|
|
let tmp48 = node;
|
|
let tmp49 = GuildsNodeType;
|
|
if (element.type === GuildsNodeType.FOLDER) {
|
|
let tmp20 = node;
|
|
if (!element.expanded) {
|
|
let tmp21 = node;
|
|
let children = element.children;
|
|
let tmp22 = children;
|
|
let tmp23 = children;
|
|
for (const item10094 of children) {
|
|
let tmp25 = GuildsNodeType;
|
|
if (item10094.type === GuildsNodeType.GUILD) {
|
|
let tmp26 = store;
|
|
let tmp27 = item10094;
|
|
if (store.getMentionCount(tmp24.id) > 0) {
|
|
flag = true;
|
|
let tmp28 = obj1;
|
|
obj1.return();
|
|
break;
|
|
}
|
|
}
|
|
continue;
|
|
}
|
|
continue;
|
|
}
|
|
continue;
|
|
}
|
|
}
|
|
continue;
|
|
} else {
|
|
if (tmp41(8163).FastListItemTypes.ITEM === type) {
|
|
let tmp10 = nextResult;
|
|
let node1 = guildsTree.getNode(tmp4.recyclerKey);
|
|
let tmp12 = node1;
|
|
if (null != node1) {
|
|
let tmp13 = node1;
|
|
let tmp14 = GuildsNodeType;
|
|
if (tmp12.type === GuildsNodeType.GUILD) {
|
|
let tmp15 = store;
|
|
let tmp16 = node1;
|
|
if (store.getMentionCount(tmp12.id) > 0) {
|
|
flag = true;
|
|
let tmp17 = iter;
|
|
iter.return();
|
|
break;
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
continue;
|
|
} else {
|
|
let tmp9 = nextResult;
|
|
let type2 = tmp4.type;
|
|
continue;
|
|
}
|
|
continue;
|
|
}
|
|
continue;
|
|
}
|
|
continue;
|
|
}
|
|
}
|
|
if (flag) {
|
|
let tmp39 = closure_17;
|
|
return closure_17;
|
|
} else {
|
|
let tmp31 = arg2;
|
|
let tmp32;
|
|
if (!arg1) {
|
|
let tmp33 = checkNodeAndIterate;
|
|
let obj = { node: null, direction: 1, selectedGuildId: null };
|
|
obj[0] = root;
|
|
obj[2] = arg2;
|
|
tmp32 = checkNodeAndIterate(obj);
|
|
}
|
|
if (null != tmp32) {
|
|
if (null == tmp32) {
|
|
let tmp34 = closure_17;
|
|
return closure_17;
|
|
}
|
|
}
|
|
if (null == tmp32) {
|
|
let tmp38 = closure_18;
|
|
return closure_18;
|
|
} else {
|
|
let tmp51 = constants;
|
|
let sum = tmp32.section + constants.GUILDS;
|
|
let tmp53 = section;
|
|
if (sum >= section) {
|
|
if (sum === section) {
|
|
let num = tmp32.item;
|
|
if (num == null) {
|
|
num = 0;
|
|
}
|
|
}
|
|
let tmp35 = checkNodeAndIterate;
|
|
obj = { node: null, direction: -1, selectedGuildId: null };
|
|
obj[0] = root;
|
|
obj[2] = arg2;
|
|
let tmp36 = checkNodeAndIterate(obj);
|
|
if (null != tmp36) {
|
|
obj1 = { beforeItem: "Array", afterItem: 0 };
|
|
let obj2 = { section: null, row: null, mention: true };
|
|
obj2[0] = tmp36.section + tmp50.GUILDS;
|
|
obj2[1] = tmp36.item;
|
|
obj1[1] = obj2;
|
|
let tmp37 = obj1;
|
|
} else {
|
|
tmp37 = closure_17;
|
|
}
|
|
return tmp37;
|
|
}
|
|
let obj3 = { beforeItem: null, afterItem: "r" };
|
|
let obj4 = { section: null, row: null, mention: true };
|
|
obj4[0] = sum;
|
|
obj4[1] = tmp32.item;
|
|
obj3[0] = obj4;
|
|
return obj3;
|
|
}
|
|
}
|
|
} else {
|
|
let tmp5 = nextResult;
|
|
}
|
|
}
|
|
continue;
|
|
}
|
|
}
|
|
let c4 = importAllResult;
|
|
({ FastListRenderSections: c10, useGuildWrapperSize: unpackModuleId, GUILD_LIST_WIDTH } = GUILD_ITEM_SIZE);
|
|
({ YOU_BAR_HEIGHT: closure_12, YOU_BAR_MARGIN: map1 } = CONNECTION_BANNER_HEIGHT);
|
|
let closure_15 = createCacheKey.createStyles({ wrapper: { position: "absolute", top: 0, left: 0, bottom: 0, width: GUILD_LIST_WIDTH } });
|
|
let closure_17 = { beforeItem: "Array", afterItem: "ct" };
|
|
let closure_18 = { beforeItem: { section: 0, row: 0, mention: true }, afterItem: "r" };
|
|
let closure_20 = { code: "function GuildsBarUnreadBarsTsx1(){const{scrollPosValue}=this.__closure;return scrollPosValue.get();}" };
|
|
let closure_21 = { code: "function GuildsBarUnreadBarsTsx2(position,lastPosition){const{runOnJS,debouncedUpdate}=this.__closure;if(position!==lastPosition){runOnJS(debouncedUpdate)();}}" };
|
|
const memoResult = importAllResult.memo(function GuildsBarUnreadBars(fastList) {
|
|
fastList = fastList.fastList;
|
|
let _require = fastList;
|
|
let top2;
|
|
let mobileQuestDockHeight;
|
|
youBarTotalHeight = undefined;
|
|
let memo;
|
|
let scrollPosValue;
|
|
let paddingStart;
|
|
let paddingEnd;
|
|
const top = top2(mobileQuestDockHeight[11])().top;
|
|
top2 = top;
|
|
const result = callback() / 2;
|
|
mobileQuestDockHeight = result;
|
|
let obj = memo;
|
|
[tmp5, youBarTotalHeight] = youBarTotalHeight(memo.useState(() => {
|
|
let guildId = paddingEnd.getGuildId();
|
|
if (guildId == null) {
|
|
guildId = null;
|
|
}
|
|
return closure_1_19(closure_0, paddingStart.getPrivateChannelMentionCount() > 0, guildId, top2, mobileQuestDockHeight);
|
|
}), 2);
|
|
let items = [fastList, top, result];
|
|
({ beforeItem, afterItem } = tmp5);
|
|
memo = memo.useMemo(() => top2(mobileQuestDockHeight[14])(() => {
|
|
let guildId = closure_1_7.getGuildId();
|
|
if (guildId == null) {
|
|
guildId = null;
|
|
}
|
|
closure_0 = closure_1_19(closure_0, closure_1_6.getPrivateChannelMentionCount() > 0, guildId, closure_1, closure_2);
|
|
callback((afterItem) => {
|
|
if (afterItem === closure_0) {
|
|
let tmp4 = afterItem;
|
|
} else {
|
|
tmp4 = tmp;
|
|
if (closure_1_1(closure_1_2[15])(afterItem.afterItem, tmp.afterItem)) {
|
|
tmp4 = tmp;
|
|
}
|
|
const tmp2 = closure_1_1;
|
|
const tmp3 = closure_1_2;
|
|
}
|
|
return tmp4;
|
|
});
|
|
}, 100), items);
|
|
const items1 = [memo];
|
|
const effect = memo.useEffect(() => {
|
|
const items = [paddingStart, paddingEnd, closure_1_8];
|
|
const batchedStoreListener = new lib(mobileQuestDockHeight[16]).BatchedStoreListener(items, memo);
|
|
batchedStoreListener.attach("guild-mention-bars");
|
|
return () => {
|
|
batchedStoreListener.detach();
|
|
};
|
|
}, items1);
|
|
scrollPosValue = fastList.scrollPosValue;
|
|
const tmp = top2;
|
|
let tmp2 = mobileQuestDockHeight;
|
|
let tmp4 = youBarTotalHeight(memo.useState(() => {
|
|
let guildId = paddingEnd.getGuildId();
|
|
if (guildId == null) {
|
|
guildId = null;
|
|
}
|
|
return closure_1_19(closure_0, paddingStart.getPrivateChannelMentionCount() > 0, guildId, top2, mobileQuestDockHeight);
|
|
}), 2);
|
|
class D {
|
|
constructor() {
|
|
return scrollPosValue.get();
|
|
}
|
|
}
|
|
D.__closure = { scrollPosValue };
|
|
D.__workletHash = 16367582542434;
|
|
D.__initData = closure_20;
|
|
class O {
|
|
constructor(arg0, arg1) {
|
|
if (fastList !== arg1) {
|
|
tmp = closure_0;
|
|
tmp2 = closure_2;
|
|
obj = closure_0(closure_2[17]);
|
|
tmp3 = closure_4;
|
|
tmp4 = obj.runOnJS(closure_4)();
|
|
}
|
|
return;
|
|
}
|
|
}
|
|
obj = { runOnJS: _require(mobileQuestDockHeight[17]).runOnJS, debouncedUpdate: memo };
|
|
O.__closure = obj;
|
|
O.__workletHash = 13727289405147;
|
|
O.__initData = closure_21;
|
|
const animatedReaction = _require(mobileQuestDockHeight[17]).useAnimatedReaction(D, O);
|
|
_require = undefined;
|
|
top2 = undefined;
|
|
mobileQuestDockHeight = undefined;
|
|
youBarTotalHeight = undefined;
|
|
const tmp9 = callback2();
|
|
_require = tmp9;
|
|
top2 = top2(mobileQuestDockHeight[11])().top;
|
|
const obj2 = _require(mobileQuestDockHeight[17]);
|
|
mobileQuestDockHeight = _require(mobileQuestDockHeight[12]).useMobileQuestDockHeight();
|
|
const obj4 = _require(mobileQuestDockHeight[12]);
|
|
let num = 8;
|
|
if (mobileQuestDockHeight > 0) {
|
|
num = 0;
|
|
}
|
|
youBarTotalHeight = _require(mobileQuestDockHeight[13]).useYouBarTotalHeight(num);
|
|
const items2 = [tmp9.wrapper, top2, mobileQuestDockHeight, youBarTotalHeight];
|
|
const memo1 = obj.useMemo(() => {
|
|
let obj = { style: items, paddingStart: top2, paddingEnd: mobileQuestDockHeight + 4 + youBarTotalHeight };
|
|
items = [lib.wrapper, ];
|
|
obj = { top: top2, bottom: mobileQuestDockHeight + youBarTotalHeight };
|
|
items[1] = obj;
|
|
return obj;
|
|
}, items2);
|
|
paddingStart = memo1.paddingStart;
|
|
paddingEnd = memo1.paddingEnd;
|
|
const items3 = [fastList, paddingStart, paddingEnd];
|
|
obj = { style: memo1.style, collapsable: false, pointerEvents: "box-none", testID: "guilds-bar-unread-bars", children: null };
|
|
callback = obj.useCallback((arg0) => {
|
|
const obj = {};
|
|
const merged = Object.assign(arg0);
|
|
obj.paddingStart = paddingStart;
|
|
obj.paddingEnd = paddingEnd;
|
|
obj.orientation = "visible";
|
|
lib.scrollToLocation(obj);
|
|
}, items3);
|
|
obj[4] = jsx(tmp(tmp2[18]), { beforeItem, afterItem, scrollToLocation: callback, compact: true });
|
|
return <scrollPosValue style={memo1.style} collapsable={false} pointerEvents="box-none" testID="guilds-bar-unread-bars">{null}</scrollPosValue>;
|
|
});
|
|
let result = require("set").fileFinishedImporting("modules/guilds_bar/native/GuildsBarUnreadBars.tsx");
|
|
|
|
export default memoResult;
|