// Module ID: 16132 // Function ID: 16133 // Name: createSoundItems // Dependencies: [32, 19, 1891, 3929, 1903, 4749, 4750, 1905, 4756, 4195, 16133, 589, 3947, 16134, 8986, 16135, 2] // Exports: default, useSearchCategories // Module 16132 (createSoundItems) import _slicedToArray from "_slicedToArray"; import noop from "noop"; import createGuildRecordFromRust from "createGuildRecordFromRust"; import getUncachedChannelPermissions from "getUncachedChannelPermissions"; import mergeGuildAvatar from "mergeGuildAvatar"; import handleSoundCreateOrUpdate from "handleSoundCreateOrUpdate"; import MAX_LENGTH_SOUND_NAME from "MAX_LENGTH_SOUND_NAME"; import { PremiumTypes } from "GuildFeatures"; let c10; let c9; const require = arg1; function createSoundItems(items1, sortSoundsFn) { let arr = items1; if (null != sortSoundsFn) { arr = sortSoundsFn(items1); } return arr.map((sound, index) => ({ type: callback(table[8]).SoundboardSoundItemType.SOUND, sound, index })); } function _addSectionForPotentialSoundIds(sectionType) { let allSounds; let potentialSoundIdsForSection; let sections; ({ sections, allSounds, potentialSoundIdsForSection } = sectionType); sectionType = sectionType.sectionType; let obj = {}; let items = []; items[HermesBuiltin.arraySpread(sectionType.guildIds, 0)] = closure_9; while (tmp !== undefined) { items = allSounds.get(tmp2); if (items == null) { items = []; } function _loop(soundId) { const potentialSoundIdsForSection = soundId; if (null != potentialSoundIdsForSection.find((arg0) => arg0 === soundId.soundId)) { obj[soundId.soundId] = soundId; } } let tmp3 = items; let tmp4 = items; for (const item10029 of items) { let tmp5 = _loop; let _loopResult = _loop(item10029); continue; } continue; } const items1 = []; for (const item10039 of potentialSoundIdsForSection) { let tmp7 = obj[item10039]; if (null != tmp7) { let tmp9 = tmp7; let arr = items1.push(tmp8); } continue; } const arr4 = createSoundItems(items1, sectionType.sortSoundsFn); if (arr4.length > 0) { obj = { key: null, categoryInfo: null, items: null }; obj[0] = sectionType; obj = { type: null }; obj[0] = sectionType; obj[1] = obj; obj[2] = arr4; sections.push(obj); } } ({ DEFAULT_SOUND_GUILD_ID: c9, EMPTY_SOUND_LIST: c10 } = MAX_LENGTH_SOUND_NAME); let result = require("createGuildRecordFromRust").fileFinishedImporting("modules/soundboard/useSoundGrid.tsx"); export default function useSoundGrid(guild_id) { const _require = guild_id; let obj = arg1; if (arg1 === undefined) { obj = {}; } let flag = obj.filterOutEmptyCurrentGuild; if (flag === undefined) { flag = false; } let flag2 = arg2; if (arg2 === undefined) { flag2 = false; } let callback; let first; let c5; let c6; let c7; let soundOrganizer; let sortedGuildIdsForSoundboard; let stateFromStoresArray; let PremiumTypes; let stateFromStores1; let stateFromStores2; let memo; let c15; let items = [c7]; const stateFromStores = _require(flag2[11]).useStateFromStores(items, () => _undefined3.getCurrentUser()); let obj2 = _require(flag2[11]); const isPremiumResult = flag(flag2[12]).isPremium(stateFromStores, PremiumTypes.TIER_2); callback = isPremiumResult; let obj3 = flag(flag2[12]); const items1 = [soundOrganizer]; const tmp3 = callback(_require(flag2[11]).useStateFromStoresArray(items1, () => { const items = [soundOrganizer.getSounds(), soundOrganizer.getFavorites(), soundOrganizer.getFrequentlyUsedSoundIds(), soundOrganizer.isFetching()]; return items; }), 4); first = tmp3[0]; c5 = tmp5; c6 = tmp6; c7 = tmp7; let obj4 = _require(flag2[11]); soundOrganizer = _require(flag2[10]).useSoundOrganizer(); let obj5 = _require(flag2[10]); sortedGuildIdsForSoundboard = _require(flag2[13]).useSortedGuildIdsForSoundboard(guild_id, false); let obj6 = _require(flag2[13]); const items2 = [c5]; stateFromStoresArray = _require(flag2[11]).useStateFromStoresArray(items2, () => { const items = []; const item = sortedGuildIdsForSoundboard.forEach((arg0) => { const guild = outer1_5.getGuild(arg0); if (null != guild) { items.push(guild); } }); return items; }); let obj7 = _require(flag2[11]); let result = flag(flag2[12]).canUseSoundboardEverywhere(stateFromStores); PremiumTypes = result; let obj8 = flag(flag2[12]); const items3 = [c5]; stateFromStores1 = _require(flag2[11]).useStateFromStores(items3, () => { let guild_id; if (guild_id != null) { guild_id = guild_id.guild_id; } return _undefined.getGuild(guild_id); }); let obj9 = _require(flag2[11]); const items4 = [c6]; const items5 = [stateFromStores1]; stateFromStores2 = _require(flag2[11]).useStateFromStores(items4, () => guild_id(flag2[14]).getManageResourcePermissions(stateFromStores1).canCreateExpressions, items5); const items6 = [tmp3[2], tmp3[1]]; memo = first.useMemo(() => { const found = _undefined2.filter((arg0) => !set.has(arg0)); return found.slice(0, 3); }, items6); let obj10 = _require(flag2[11]); let obj11 = first; let str = "useSoundGridNoFrequentlyUsed"; if (memo.length > 0) { str = "useSoundGrid"; } const tmp14 = flag(flag2[15]).useConfig({ location: str }).enabled || false; c15 = tmp14; const items7 = [sortedGuildIdsForSoundboard, first, tmp3[1], tmp14, stateFromStores1, stateFromStores2, flag, result, stateFromStoresArray, flag2, tmp3[3], isPremiumResult, soundOrganizer, memo]; return obj11.useMemo(() => { let c0 = 0; let c1 = 0; let items = []; if (flag2) { let value = first.get(sortedGuildIdsForSoundboard); if (value == null) { value = stateFromStoresArray; } let obj = { key: null, categoryInfo: null, items: null }; obj[0] = guild_id(flag2[8]).SoundboardSoundGridSectionType.DEFAULTS; obj = { type: null }; obj[0] = guild_id(flag2[8]).SoundboardSoundGridSectionType.DEFAULTS; obj[1] = obj; const sortSoundsOldestToNewestCreationDate3 = guild_id(flag2[10]).sortSoundsOldestToNewestCreationDate; let result = value; if (null != sortSoundsOldestToNewestCreationDate3) { result = sortSoundsOldestToNewestCreationDate3(value); } obj[2] = result.map((sound, index) => ({ type: callback(table[8]).SoundboardSoundItemType.SOUND, sound, index })); items.push(obj); let obj1 = { categories: null, availableSounds: null, isFetching: null, soundCounts: null }; obj1[0] = items; value = first.get(sortedGuildIdsForSoundboard); if (value == null) { value = stateFromStoresArray; } obj1[1] = value; obj1[2] = c7; obj1[3] = { favoriteSoundCount: 0, unlockedCustomSoundCount: 0, lockedCustomSoundCount: 0 }; let obj11 = obj1; const obj16 = first; const tmp37 = sortedGuildIdsForSoundboard; } else { obj = { sections: null, guildIds: null, allSounds: null, potentialSoundIdsForSection: null, sectionType: null, sortSoundsFn: null }; obj[0] = items; obj[1] = sortedGuildIdsForSoundboard; obj1 = first; obj[2] = first; const _Array = Array; obj[3] = Array.from(c5); obj[4] = guild_id(flag2[8]).SoundboardSoundGridSectionType.FAVORITES; obj[5] = guild_id(flag2[10]).sortSoundsOldestToNewestCreationDate; stateFromStores2(obj); let tmp8 = c15; if (c15) { tmp8 = memo.length > 0; } if (tmp8) { const obj2 = { sections: null, guildIds: null, allSounds: null, potentialSoundIdsForSection: null, sectionType: null }; obj2[0] = items; obj2[1] = tmp2; obj2[2] = obj1; obj2[3] = memo; obj2[4] = tmp5(tmp6[8]).SoundboardSoundGridSectionType.FREQUENTLY_USED; tmp(obj2); } if (undefined !== stateFromStores1) { let tmp17 = c1; let value1 = obj1.get(tmp12.id); if (value1 == null) { value1 = []; } let tmp46Result = value1; if (null != soundOrganizer) { tmp46Result = tmp46(value1); } const mapped = tmp46Result.map((sound, index) => ({ type: callback(table[8]).SoundboardSoundItemType.SOUND, sound, index })); const tmp13 = value1.length < tmp5(tmp6[9]).getMaxSoundboardSlots(tmp12) && stateFromStores2; let tmp15 = !tmp13; if (!tmp13) { tmp15 = !tmp14; } if (!tmp15) { tmp15 = tmp17; } if (!tmp15) { const obj3 = { type: null, guild: null }; obj3[0] = tmp5(tmp6[8]).SoundboardSoundItemType.ADD_SOUND; obj3[1] = tmp12; mapped.push(obj3); } if (tmp17) { tmp17 = tmp14; } if (!tmp17) { const obj4 = { categoryInfo: null, key: null, items: null }; const obj5 = { type: null, guild: null, isNitroLocked: false }; obj5[0] = tmp5(tmp6[8]).SoundboardSoundGridSectionType.GUILD; obj5[1] = tmp12; obj4[0] = obj5; obj4[1] = tmp12.id; obj4[2] = mapped; items.push(obj4); } const tmp45 = stateFromStores2; const tmp5Result = tmp5(tmp6[9]); } if (!c11) { let value2 = obj1.get(sortedGuildIdsForSoundboard); if (value2 == null) { value2 = stateFromStoresArray; } const obj6 = { key: null, categoryInfo: null, items: null }; obj6[0] = tmp5(tmp6[8]).SoundboardSoundGridSectionType.DEFAULTS; const obj7 = { type: null }; obj7[0] = tmp5(tmp6[8]).SoundboardSoundGridSectionType.DEFAULTS; obj6[1] = obj7; const sortSoundsOldestToNewestCreationDate = tmp5(tmp6[10]).sortSoundsOldestToNewestCreationDate; let result1 = value2; if (null != sortSoundsOldestToNewestCreationDate) { result1 = sortSoundsOldestToNewestCreationDate(value2); } obj6[2] = result1.map((sound, index) => ({ type: callback(table[8]).SoundboardSoundItemType.SOUND, sound, index })); items.push(obj6); } const obj8 = { sections: null, guilds: null, currentGuildId: null, allSounds: null, hasNitro: null, sortSoundsFn: null }; obj8[0] = items; obj8[1] = stateFromStoresArray; let id; if (stateFromStores1 != null) { id = tmp12.id; } obj8[2] = id; obj8[3] = obj1; obj8[4] = c3; obj8[5] = soundOrganizer; (function addGuildsSections(arg0) { let allSounds; let currentGuildId; let guilds; let hasNitro; let sections; let sortSoundsFn; ({ sections, guilds, allSounds } = arg0); ({ currentGuildId, hasNitro, sortSoundsFn } = arg0); const iter = guilds[Symbol.iterator](); const nextResult = iter.next(); while (iter !== undefined) { let tmp2 = nextResult; if (nextResult.id !== currentGuildId) { let tmp10 = nextResult; let tmp9 = closure_12; let items = allSounds.get(tmp2.id); if (items == null) { items = []; } let tmp9Result = tmp9(items, sortSoundsFn); if (tmp9Result.length > 0) { let obj = { categoryInfo: null, key: null, items: null }; obj = { type: null, guild: null, isNitroLocked: null }; let tmp4 = v0; let tmp5 = table; obj[0] = v0(table[8]).SoundboardSoundGridSectionType.GUILD; let tmp6 = nextResult; obj[1] = tmp2; obj[2] = !hasNitro; obj[0] = obj; obj[1] = tmp2.id; let tmp7 = tmp9Result; obj[2] = tmp3; let arr = sections.push(obj); } } continue; } })(obj8); if (tmp19) { let value3 = obj1.get(sortedGuildIdsForSoundboard); if (value3 == null) { value3 = stateFromStoresArray; } const obj9 = { key: null, categoryInfo: null, items: null }; obj9[0] = tmp5(tmp6[8]).SoundboardSoundGridSectionType.DEFAULTS; const obj10 = { type: null }; obj10[0] = tmp5(tmp6[8]).SoundboardSoundGridSectionType.DEFAULTS; obj9[1] = obj10; const sortSoundsOldestToNewestCreationDate2 = tmp5(tmp6[10]).sortSoundsOldestToNewestCreationDate; let result2 = value3; if (null != sortSoundsOldestToNewestCreationDate2) { result2 = sortSoundsOldestToNewestCreationDate2(value3); } obj9[2] = result2.map((sound, index) => ({ type: callback(table[8]).SoundboardSoundItemType.SOUND, sound, index })); items.push(obj9); } const item = items.forEach((categoryInfo) => { if (categoryInfo.categoryInfo.type === v0(outer1_2[8]).SoundboardSoundGridSectionType.GUILD) { if (categoryInfo.categoryInfo.isNitroLocked) { closure_1 = closure_1 + categoryInfo.items.length; } else { closure_0 = closure_0 + categoryInfo.items.length; } } }); obj11 = { categories: null, availableSounds: null, isFetching: null, soundCounts: null }; obj11[0] = items; const _Array2 = Array; obj11[1] = Array.from(obj1.values()).flat(); obj11[2] = c7; const obj12 = { favoriteSoundCount: null, unlockedCustomSoundCount: null, lockedCustomSoundCount: null }; obj12[0] = c5.size; obj12[1] = c0; obj12[2] = c1; obj11[3] = obj12; const arr4 = Array.from(obj1.values()); tmp = stateFromStores2; tmp19 = c11; tmp2 = sortedGuildIdsForSoundboard; let tmp4 = c5; } return obj11; }, items7); }; export const useSearchCategories = function useSearchCategories(categories, arg1, arg2) { let closure_0 = categories; let closure_1 = arg1; let closure_2 = arg2; let items = [categories, arg2.length, arg1]; return React.useMemo(() => { if (length.length > 0) { let obj = { key: null, categoryInfo: null, items: null }; obj[0] = categories(length[8]).SoundboardSoundGridSectionType.SEARCH; obj = { type: null }; obj[0] = categories(length[8]).SoundboardSoundGridSectionType.SEARCH; obj[1] = obj; obj[2] = closure_1.map((sound, index) => ({ type: callback(table[8]).SoundboardSoundItemType.SOUND, sound, index })); const items = [obj]; let tmp = items; } else { tmp = categories; } return tmp; }, items); };