/* Metro module 11049; source: modules/stickers/StickersHooks.tsx; dependencies: [5, 57, 31, 1867, 3969, 4896, 1878, 6582, 6583, 661, 566, 11050, 3829, 4643, 9077, 4785, 8249, 1244, 3789, 9767, 6943, 2] */ import Module00005 from '../../by-id/module-00005.js'; /* Metro dependency 5 */ import Module00057 from '../../by-id/module-00057.js'; /* Metro dependency 57 */ import GuildStore from '../../stores/GuildStore.tsx'; /* Metro dependency 1867 */ import UserStore from '../../stores/UserStore.tsx'; /* Metro dependency 1878 */ import SelectedGuildStore from '../../stores/SelectedGuildStore.tsx'; /* Metro dependency 3969 */ import SortedGuildStore from '../../stores/SortedGuildStore.tsx'; /* Metro dependency 4896 */ import StickersPersistedStore from './StickersPersistedStore.tsx'; /* Metro dependency 6582 */ import StickersStore from './StickersStore.tsx'; /* Metro dependency 6583 */ import * as FileImportTrackerModule from '../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */ import * as ReactModule from '../../by-id/module-00031-React.js'; /* Metro dependency 31 */ import * as FluxModule from '../../external/discord_common/js/packages/flux/index.tsx'; /* Metro dependency 566 */ import * as ConstantsModule from '../../Constants.tsx'; /* Metro dependency 661 */ import * as UserSettingsModule from '../user_settings/UserSettings.tsx'; /* Metro dependency 3829 */ import * as StickersUtilsModule from './StickersUtils.tsx'; /* Metro dependency 4643 */ import * as StickersTypesModule from './StickersTypes.tsx'; /* Metro dependency 4785 */ import * as UseManageResourcePermissionsModule from '../permissions/useManageResourcePermissions.tsx'; /* Metro dependency 9077 */ import * as FrecencyUserSettingsHooksModule from '../user_settings/FrecencyUserSettingsHooks.tsx'; /* Metro dependency 9767 */ import * as StickersActionCreatorsModule from './StickersActionCreators.tsx'; /* Metro dependency 11050 */ function _fun84552(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#84552, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11235:6, offset: 0x01f4f93c, size: 476 bytes, params: 8, frame: 23 let env0_0 = require; const _arrayLikeToArray_84555 = function(a0, a1) { var r0; var r1; var r2; var value3; var length; var value5; var value = undefined; var value2 = value == null; reducibleJoin2: while (true) { if (value2) { r0 = value2; break reducibleJoin2; } value3 = value > a0.length; r0 = value3; break reducibleJoin2; } reducibleJoin4: while (true) { if (r0) { length = a0.length; r1 = length; break reducibleJoin4; } r1 = value; break reducibleJoin4; } value = (0, global.Array)(r1); var value4 = 0; if (value4 < r1) { r2 = value4; reducibleLoop5: while (true) { value[r2] = a0[r2]; value5 = typeof r2 === 'bigint' ? r2 + 1n : +r2 + 1; if (value5 < r1) { r2 = value5; continue reducibleLoop5; } break reducibleLoop5; } } return value; }; const useFavoriteStickerIds2 = useFavoriteStickerIds; const closure2 = function() { var value2 = useFavoriteStickerIds(); var env0_0 = value2; return require(dependencyMap[10]).useStateFromStoresArray([StickersStore], _fun84558, [value2]); }; const useLatestFrecentStickerIds2 = useLatestFrecentStickerIds; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); const useFetchStickerPacks2 = useFetchStickerPacks; const env0_14 = []; const useStickerPackCategories2 = useStickerPackCategories; (FileImportTrackerModule).fileFinishedImporting('modules/stickers/StickersHooks.tsx'); exports.useFetchStickerPack = useFetchStickerPack; exports.useShouldAnimateSticker = useShouldAnimateSticker; exports.useStickersGrid = useStickersGrid; exports.useHasSendableSticker = function() { return true; }; exports.useFetchStickerPacks = useFetchStickerPacks2; exports.useFavoriteStickerIds = useFavoriteStickerIds2; exports.useFavoriteStickers = closure2; exports.useLatestFrecentStickerIds = useLatestFrecentStickerIds2; exports.useLatestFrecentStickers = function() { var value2 = useLatestFrecentStickerIds(); var env0_0 = value2; return require(dependencyMap[10]).useStateFromStoresArray([StickersStore], _fun84590, [value2]); }; exports.useStickerPackCategories = useStickerPackCategories2; exports.useStickerForRenderableSticker = useStickerForRenderableSticker; exports.useFilteredStickerPackCategories = useFilteredStickerPackCategories; function _createForOfIteratorHelperLoose_84553(a0, a1) { // fn#84553, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11235:214, offset: 0x01f4fb18, size: 372 bytes, params: 3, frame: 20 var r6; var r9; var r5; var value3; var regexp; const env0_0 = a0; const Symbol = global.Symbol; let value = typeof Symbol !== 'undefined'; let r1 = value && a0[global.Symbol.iterator]; r1 = !r1 ? a0['@@iterator'] : r1; if (r1) { value = r1.call(a0); return value.next.bind(value); } const Array = global.Array; if (Array.isArray(a0)) { if (r1) { } return _fun84554; } value = undefined; if (a0) { if (typeof a0 === 'string') { value = _arrayLikeToArray_84555(a0, value); r5 = value; } else { value3 = ({}).toString.call(a0).slice(8, -1); r6 = value3 === 'Object' && a0.constructor; r9 = r6 ? a0.constructor.name : value3; if (r9 === 'Map') { r6 = global.Array.from(a0); } else if (r9 === 'Set') { r6 = global.Array.from(a0); } else if (r9 === 'Arguments') { value = _arrayLikeToArray_84555(a0, value); r6 = value; } else { regexp = RegExp('^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$', ''); if (regexp.test(r9)) { value = _arrayLikeToArray_84555(a0, value); r6 = value; } else { r6 = value; } } r5 = r6; } } else { r5 = value; } if (r5) { if (r5) { } return _fun84554; } const TypeError = global.TypeError; throw new TypeError('Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.'); function _fun84554() { // fn#84554, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11235:785, offset: 0x00c39d73, size: 69 bytes, params: 1, frame: 5 return env0_1 >= env0_0.length ? {done: true} : {done: false, value: env0_0[typeof env0_1 === 'bigint' ? env0_1 : +env0_1]}; } } function useFavoriteStickerIds() { // fn#84556, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11235:1214, offset: 0x01f4fc8c, size: 66 bytes, params: 1, frame: 13 const value2 = undefined; const useFrecencySettings = FrecencyUserSettingsHooksModule.useFrecencySettings; const favoriteStickers = Reflect.apply(useFrecencySettings, FrecencyUserSettingsHooksModule, []).favoriteStickers; return (favoriteStickers == null ? value2 : favoriteStickers.stickerIds) ?? env0_14; } function useFavoriteStickers() { // fn#84557, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11235:1355, offset: 0x01f4fcce, size: 81 bytes, params: 1, frame: 17 return (FluxModule).useStateFromStoresArray([StickersStore], _fun84558, [useFavoriteStickerIds()]); function _fun84558() { // fn#84558, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11235:1462, offset: 0x01f4fd1f, size: 45 bytes, params: 1, frame: 12 return env0_0.map(function(a0) { return StickersStore.getStickerById(a0); }).filter(_fun84560); function _fun84560(a0) { // fn#84560, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11235:1506, offset: 0x01f4fd63, size: 87 bytes, params: 2, frame: 15 var r1; var r0; var isGuildSticker2; let value = a0 != null; if (value) { value = environment.__proto__.__proto__; isGuildSticker2 = (require(4643) /* metro dependency 4643: StickersUtils */).isGuildSticker(a0); if (isGuildSticker2) { value = require(4643) /* metro dependency 4643: StickersUtils */; value = value.isAvailableGuildSticker(a0); r1 = value; } else { r1 = !isGuildSticker2; } r0 = r1; } else { r0 = value; } return r0; } } } function useLatestFrecentStickerIds() { // fn#84561, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11235:1595, offset: 0x01f4fdba, size: 125 bytes, params: 1, frame: 16 const value2 = undefined; const value3 = (FrecencyUserSettingsHooksModule).useFrecencySettings(); return (value3 == null || value3.stickerFrecency == null ? value2 : value3.stickerFrecency.stickers) == null ? env0_14 : global.Object.keys(value3 == null || value3.stickerFrecency == null ? value2 : value3.stickerFrecency.stickers); } function useFetchStickerPacks() { // fn#84562, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11235:1149, offset: 0x01f4fe37, size: 35 bytes, params: 1, frame: 13 ReactModule.useEffect(_fun84563, []); function _fun84563() { // fn#84563, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11235:1167, offset: 0x01f4fe5a, size: 37 bytes, params: 1, frame: 11 const value = environment.__proto__; (StickersActionCreatorsModule).fetchStickerPacks(); } } function useStickerPackCategories(a0) { // fn#84564, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11235:1853, offset: 0x01f4fe7f, size: 221 bytes, params: 2, frame: 23 const env0_0 = a0; const value2 = useFavoriteStickers(); const {packs, frequentlyUsedStickers} = (require(566) /* metro dependency 566: flux */).useStateFromStoresObject([StickersStore, StickersPersistedStore], function() { var object = {}; object.packs = StickersStore.getPremiumPacks(); object.frequentlyUsedStickers = StickersPersistedStore.stickerFrecencyWithoutFetchingLatest.frequently; return object; }, []); const currentUser = (require(566) /* metro dependency 566: flux */).useStateFromStores([UserStore], function() { return UserStore.getCurrentUser(); }); const value4 = _fun84567(a0); return value4.useMemo(_fun84574, [packs, value2, frequentlyUsedStickers, value4, currentUser, a0]); function _fun84567(a0) { // fn#84567, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11235:2142, offset: 0x01f4ff8b, size: 212 bytes, params: 2, frame: 23 const env0_0 = a0; const allGuildStickers = (require(566) /* metro dependency 566: flux */).useStateFromStores([StickersStore], function() { return StickersStore.getAllGuildStickers(); }); const value2 = (require(566) /* metro dependency 566: flux */).useStateFromStoresArray([SortedGuildStore, GuildStore], _fun84569, []); const currentUser = (require(566) /* metro dependency 566: flux */).useStateFromStores([UserStore], function() { return UserStore.getCurrentUser(); }); return env1_5.useMemo(_fun84572, [allGuildStickers, value2, currentUser, a0]); function _fun84569() { // fn#84569, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11235:2259, offset: 0x01f50072, size: 46 bytes, params: 1, frame: 12 var environment; const value = environment.__proto__.__proto__; SortedGuildStore.getFlattenedGuildIds().forEach(_fun84570); return []; function _fun84570(a0) { // fn#84570, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11235:2318, offset: 0x01f500a0, size: 48 bytes, params: 2, frame: 11 let value = environment.__proto__.__proto__.__proto__; value = GuildStore.getGuild(a0); if (value != null) { env0_0.push(value); } } } function _fun84572() { // fn#84572, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11235:2451, offset: 0x01f500e2, size: 494 bytes, params: 1, frame: 25 var r6; var r1; var value6; var name; var id; var value7; var value8; var length; var value9; var push; const StickerCategoryTypes = (StickersTypesModule).StickerCategoryTypes; var GUILD; var value10; var binding; var guildStoreBinding; var getGuild; var value12; var moduleValue; var canManageAllExpressions; var index; const items2 = []; const _createForOfIteratorHelperLoose_84553Binding = _createForOfIteratorHelperLoose_84553; const value3 = undefined; const value4 = _createForOfIteratorHelperLoose_84553Binding(env0_2); const value5 = value4(); let done = value5.done; if (!done) { r6 = value5; while (true) { value6 = r6.value; name = value6.name; id = value6.id; value7 = allGuildStickers.get(id); value8 = value7 != null; if (value8) { length = value7.length; value9 = length !== 0; r1 = value9; } else { r1 = value8; } if (!r1) { continue; } push = items2.push; GUILD = StickerCategoryTypes.GUILD; Reflect.apply(push, items2, [{type: GUILD, id: id, name: name, stickers: value7}]); value10 = value4(); done = value10.done; if (done) { break; } r6 = value10; continue; } } r1 = env0_0 == null ? value3 : env0_0.getGuildId(); if (r1 != null) { guildStoreBinding = GuildStore; getGuild = guildStoreBinding.getGuild; binding = env0_0; value12 = Reflect.apply(getGuild, guildStoreBinding, [binding.getGuildId()]); moduleValue = require(9077) /* metro dependency 9077: useManageResourcePermissions */; canManageAllExpressions = moduleValue.getManageResourcePermissions(value12).canManageAllExpressions; index = items2.findIndex(_fun84573); if (index >= 1) { items2.unshift(items2.splice(index, 1)[0]); } else { r1 = index === -1 && value12 != null; r1 = r1 && canManageAllExpressions; if (r1) { items2.unshift({type: StickerCategoryTypes.EMPTY_GUILD_UPSELL, id: value12.id, name: value12.name, stickers: []}); } } if (currentUser != null) { (importAll(3789) /* metro dependency 3789: PermissionUtils */).can({permission: Permissions.USE_EXTERNAL_EMOJIS, user: currentUser, context: env0_0}); } } return items2; function _fun84573({id}) { // fn#84573, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11235:2821, offset: 0x01f502d0, size: 31 bytes, params: 2, frame: 10 const binding = env1_0; const getGuildId = binding.getGuildId; return id === Reflect.apply(getGuildId, binding, []); } } } function _fun84574() { // fn#84574, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11235:3122, offset: 0x01f502ef, size: 352 bytes, params: 1, frame: 21 const packsBinding = packs; const value3 = undefined; const value4 = packsBinding.map((StickersUtilsModule).createStickerPackCategory); let object = {}; const StickerCategoryTypes = (StickersTypesModule).StickerCategoryTypes; let FAVORITE = StickerCategoryTypes.FAVORITE; object.type = FAVORITE; FAVORITE = StickerCategoryTypes.FAVORITE; object.id = FAVORITE; const intl = (require(1244) /* metro dependency 1244: indexNative */).intl; const string = intl.string; const t = (require(1244) /* metro dependency 1244: indexNative */).t; object.name = Reflect.apply(string, intl, [t.y3LQCG]); object.stickers = env0_1; const items2 = [object]; object = {}; let RECENT = StickerCategoryTypes.RECENT; object.type = RECENT; RECENT = StickerCategoryTypes.RECENT; object.id = RECENT; object.name = (require(1244) /* metro dependency 1244: indexNative */).intl.string(t['6hjpXW']); let r4 = frequentlyUsedStickers == null ? value3 : frequentlyUsedStickers.filter(_fun84575); r4 = r4 ?? []; object.stickers = r4; items2[1] = object; arraySpread(items2, value4, arraySpread(items2, ReactModule, 2, intl), intl); return items2; function _fun84575(a0) { // fn#84575, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11235:3511, offset: 0x01f5044f, size: 247 bytes, params: 2, frame: 21 var environment; var r0; var r3; var r1; var stickersStoreBinding; var value3; var getStickerSendability; var value6; const env0_0 = a0; let value = environment.__proto__.__proto__; const value2 = undefined; if (StickersUtilsModule.isGuildSticker(a0)) { stickersStoreBinding = StickersStore; value3 = stickersStoreBinding.getStickersByGuildId(a0.guild_id); r3 = value3 == null ? value2 : value3.some(_fun84576); r1 = r3 != null && r3; if (r1) { value = require(6943) /* metro dependency 6943: StickerSendability */; getStickerSendability = value.getStickerSendability; value6 = environment.__proto__; value = Reflect.apply(getStickerSendability, value, [a0, currentUser, env1_0]); value = value !== (require(6943) /* metro dependency 6943: StickerSendability */).StickerSendability.NONSENDABLE; r1 = value; } r0 = r1; } else { value = StickersUtilsModule; if (value.isStandardSticker(a0)) { value = environment.__proto__; value = packs.some(_fun84577); r0 = value; } else { r0 = value2; } } return r0; function _fun84576({id}) { // fn#84576, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11235:3627, offset: 0x00fc10ae, size: 26 bytes, params: 2, frame: 2 return id === env0_0.id; } function _fun84577({id}) { // fn#84577, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11235:3770, offset: 0x01f50546, size: 27 bytes, params: 2, frame: 2 return id === env0_0.pack_id; } } } } function useFetchStickerPack(a0) { // fn#84578, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11235:3931, offset: 0x01f50561, size: 112 bytes, params: 2, frame: 17 const env0_0 = a0; useFetchStickerPacks(); ReactModule.useEffect(_fun84580, [a0, (require(566) /* metro dependency 566: flux */).useStateFromStores([StickersStore], function() { return StickersStore.hasLoadedStickerPacks; })]); function _fun84580() { // fn#84580, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11235:4041, offset: 0x01f505e0, size: 85 bytes, params: 1, frame: 13 var value5; if (hasLoadedStickerPacks && StickersStore.getStickerPack(env0_0) == null) { value5 = environment.__proto__; (require(11050) /* metro dependency 11050: StickersActionCreators */).fetchStickerPack(env0_0); } } } function useShouldAnimateSticker(a0) { // fn#84581, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11235:4143, offset: 0x01f50635, size: 70 bytes, params: 2, frame: 14 const AnimateStickers = (UserSettingsModule).AnimateStickers; return (StickersUtilsModule).shouldAnimateSticker(AnimateStickers.useSetting(), a0); } function useStickersGrid({collapsedStickersCategories, filteredStickers, listPaddingRight, listWidth, stickerNodeMargin, stickerNodeWidth, stickersCategories}) { // fn#84582, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11235:4255, offset: 0x01f5067b, size: 168 bytes, params: 2, frame: 20 listPaddingRight = listPaddingRight === undefined ? 0 : listPaddingRight; listWidth = listWidth === undefined ? 0 : listWidth; stickerNodeMargin = stickerNodeMargin === undefined ? 0 : stickerNodeMargin; return stickerNodeWidth.useMemo(_fun84583, [collapsedStickersCategories, filteredStickers, listPaddingRight, listWidth, stickerNodeMargin, stickerNodeWidth, stickersCategories]); function _fun84583() { // fn#84583, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11235:4417, offset: 0x01f50723, size: 575 bytes, params: 1, frame: 31 var environment; var r6; var r0; var addGridSection2; var sendable; var length; var value8; const StickerCategoryTypes = (StickersTypesModule).StickerCategoryTypes; var sendableWithPremium; var value9; var _createForOfIteratorHelperLoose_84553Binding; var stickersCategoriesBinding; var value10; var value11; var value12; var done; var value13; var stickers; var type; var EMPTY_GUILD_UPSELL; var binding; var collapsedStickersCategoriesBinding; var has; var id; var value14; var value15; let Math = global.Math; let floor = Math.floor; const listWidthBinding = listWidth; const listPaddingRightBinding = listPaddingRight; const value2 = listWidthBinding - listPaddingRightBinding; const stickerNodeMarginBinding = stickerNodeMargin; const value3 = value2 + stickerNodeMarginBinding; const stickerNodeWidthBinding = stickerNodeWidth; const value4 = Reflect.apply(floor, Math, [value3 / (stickerNodeWidthBinding + stickerNodeMarginBinding)]); Math = global.Math; floor = Math.floor; const Math2 = global.Math; const value7 = Reflect.apply(floor, Math, [Math2.max(stickerNodeMarginBinding, (listWidthBinding - listPaddingRightBinding - stickerNodeWidthBinding * value4) / (value4 - 1))]); const items2 = []; let env0_4 = 0; let env0_5 = 0; if (listWidthBinding !== 0) { addGridSection2 = addGridSection; if (filteredStickers == null) { value9 = environment.__proto__; _createForOfIteratorHelperLoose_84553Binding = _createForOfIteratorHelperLoose_84553; stickersCategoriesBinding = stickersCategories; value10 = undefined; value11 = _createForOfIteratorHelperLoose_84553Binding(stickersCategoriesBinding); value12 = value11(); done = value12.done; if (!done) { r6 = value12; while (true) { value13 = r6.value; stickers = value13.stickers; length = stickers.length; if (!(length > 0)) { type = value13.type; EMPTY_GUILD_UPSELL = StickerCategoryTypes.EMPTY_GUILD_UPSELL; if (type !== EMPTY_GUILD_UPSELL) { break; } items2[env0_5] = 0; binding = env0_5; env0_5 = typeof binding === 'bigint' ? binding + 1n : +binding + 1; break; } binding = env0_4; env0_4 = typeof binding === 'bigint' ? binding + 1n : +binding + 1; stickers = value13.stickers; type = value13.type; if (collapsedStickersCategories == null) { r0 = value10; continue; } collapsedStickersCategoriesBinding = collapsedStickersCategories; has = collapsedStickersCategoriesBinding.has; id = value13.id; value14 = Reflect.apply(has, collapsedStickersCategoriesBinding, [id]); r0 = value14; addGridSection2(stickers, type, r0 === true); value15 = value11(); done = value15.done; if (done) { break; } r6 = value15; continue; } } } else { sendable = filteredStickers.sendable; length = sendable.length; if (length > 0) { sendable = filteredStickers.sendable; value8 = environment.__proto__; addGridSection2(sendable, StickerCategoryTypes.SEARCH_RESULTS); } sendableWithPremium = filteredStickers.sendableWithPremium; length = sendableWithPremium.length; if (length > 0) { sendableWithPremium = filteredStickers.sendableWithPremium; value = environment.__proto__; addGridSection2(sendableWithPremium, StickerCategoryTypes.SEARCH_RESULTS); } } } return {rowCount: env0_4, rowCountBySection: items2, stickersGrid: [], gutterWidth: value7, columnCounts: []}; function addGridSection(a0, a1) { // fn#84584, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11235:4552, offset: 0x01f50962, size: 650 bytes, params: 3, frame: 31 var environment; var r2; var r10; var r16; var id; var length2; var moduleValue3; var value13; var value14; var value15; var value16; var value17; var value18; var value19; var value20; var push; var object; var StickerGridItemTypes; var CREATE_STICKER; var intl; var string; var t; var value21; let value = a2; const env0_0 = a1; const value2 = undefined; const r12 = value !== value2 ? value : false; value = environment.__proto__.__proto__; const isGuildSticker = StickersUtilsModule.isGuildSticker; const value3 = 0; const r4 = Reflect.apply(isGuildSticker, StickersUtilsModule, [a0[value3]]) ? GuildStore.getGuild(a0[value3].guild_id) : value2; const getManageResourcePermissions = UseManageResourcePermissionsModule.getManageResourcePermissions; const canCreateExpressions = Reflect.apply(getManageResourcePermissions, UseManageResourcePermissionsModule, [r4]).canCreateExpressions; const guildId = SelectedGuildStore.getGuildId(); const stickersCategoriesBinding = stickersCategories; const index = stickersCategoriesBinding.findIndex(function({type}) { return type === require(dependencyMap[15]).StickerCategoryTypes.FAVORITE; }); const index2 = stickersCategoriesBinding.findIndex(function({type}) { return type === require(dependencyMap[15]).StickerCategoryTypes.RECENT; }); let length = a0.length; const value7 = r4 != null; if (value7) { id = r4.id; r2 = guildId === id; } else { r2 = value7; } r2 = r2 && canCreateExpressions; if (r2) { length2 = a0.length; moduleValue3 = require(8249) /* metro dependency 8249: GuildBoostingUtils */; r2 = length2 < moduleValue3.getTotalStickerCountForTier(r4.premiumTier); } const r5 = r2 ? typeof length === 'bigint' ? length + 1n : +length + 1 : length; const Math = global.Math; const value12 = Math.ceil(r5 / env0_0); let binding = env0_2; binding[env0_5] = r12 ? value3 : value12; if (value3 < value12) { r10 = value3; while (true) { binding = env0_0; value13 = r10 * binding; value14 = value13 + binding; value15 = a0.slice(value13, value14); value16 = value15.map(_fun84587); value17 = env0_5 > index2; if (value17) { value18 = env0_5 > index; r16 = value18; } else { r16 = value17; } if (!r16) { continue; } value19 = r4 != null; r16 = value19; if (!r16) { continue; } length = a0.length; value20 = r5 > length; r16 = value20; if (!r16) { continue; } push = value16.push; object = {}; StickerGridItemTypes = (require(4785) /* metro dependency 4785: StickersTypes */).StickerGridItemTypes; CREATE_STICKER = StickerGridItemTypes.CREATE_STICKER; object.type = CREATE_STICKER; id = r4.id; object.guild_id = id; intl = (require(1244) /* metro dependency 1244: indexNative */).intl; string = intl.string; t = (require(1244) /* metro dependency 1244: indexNative */).t; object.name = Reflect.apply(string, intl, [t['UwF+Cw']]); object.gridSectionIndex = env0_5; object.rowIndex = env0_4; length = value16.length; object.columnIndex = length; object.visibleRowIndex = env0_6; Reflect.apply(push, value16, [object]); if (r12) { continue; } binding = env0_6; env0_6 = typeof binding === 'bigint' ? binding + 1n : +binding + 1; binding = Module00005; binding.push(value16); binding = env0_1; push = binding.push; length = value16.length; Reflect.apply(push, binding, [length]); binding = env0_4; env0_4 = typeof binding === 'bigint' ? binding + 1n : +binding + 1; value21 = typeof r10 === 'bigint' ? r10 + 1n : +r10 + 1; if (value21 < value12) { r10 = value21; continue; } break; } } binding = env0_5; env0_5 = typeof binding === 'bigint' ? binding + 1n : +binding + 1; return value2; function _fun84587(a0, a1) { // fn#84587, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11235:5042, offset: 0x01f50c52, size: 145 bytes, params: 3, frame: 14 const object = {}; let value = environment.__proto__.__proto__.__proto__; const StickerGridItemTypes = (StickersTypesModule).StickerGridItemTypes; const STICKER = StickerGridItemTypes.STICKER; object.type = STICKER; object.sticker = a0; value = require(4643) /* metro dependency 4643: StickersUtils */; value = value.isStandardSticker(a0); object.packId = value ? a0.pack_id : 'TODO - fix'; value = environment.__proto__; object.gridSectionIndex = env1_5; object.rowIndex = env1_4; object.columnIndex = a1; object.visibleRowIndex = env1_6; object.category = require; return object; } } } } function useLatestFrecentStickers() { // fn#84589, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11235:6337, offset: 0x01f50ce3, size: 81 bytes, params: 1, frame: 17 return (FluxModule).useStateFromStoresArray([StickersStore], _fun84590, [useLatestFrecentStickerIds()]); function _fun84590() { // fn#84590, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11235:6454, offset: 0x01f50d34, size: 45 bytes, params: 1, frame: 12 return env0_0.map(function(a0) { return StickersStore.getStickerById(a0); }).filter(function(a0) { return a0 !== undefined; }); } } function useStickerForRenderableSticker(a0) { // fn#84593, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11235:6608, offset: 0x01f50d61, size: 361 bytes, params: 2, frame: 25 const value = a1; const env0_0 = a0; const r8 = value !== undefined ? value : false; const env0_4 = undefined; let env0_5 = undefined; const stickerById = (FluxModule).useStateFromStores([StickersStore], _fun84594); let binding = env0_5; let useState = binding.useState; const value2 = Reflect.apply(useState, binding, [true]); const binding2 = env0_4; const value3 = binding2(value2, 2); const property = value3[0]; const env0_2 = value3[1]; useState = binding.useState; const value4 = binding2(Reflect.apply(useState, binding, [false]), 2); const property2 = value4[0]; const env0_3 = value4[1]; const r1 = (require(4643) /* metro dependency 4643: StickersUtils */).isGuildSticker(a0) || (require(4643) /* metro dependency 4643: StickersUtils */).isStandardSticker(a0); binding = env0_5; env0_5 = binding.useRef({hasFetched: property2, isReturnable: r1, renderableSticker: a0, shouldFetch: property, stickersStoreDefinition: stickerById}); binding.useEffect(_fun84595); binding.useEffect(_fun84596, [r8]); return r1 ? [a0, property2] : [stickerById ?? null, property2]; function _fun84594() { // fn#84594, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11235:6659, offset: 0x01f50eca, size: 32 bytes, params: 1, frame: 11 return StickersStore.getStickerById(env0_0.id); } function _fun84595() { // fn#84595, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11235:6956, offset: 0x013a92e3, size: 21 bytes, params: 1, frame: 2 env0_5.current = env0_4; } function _fun84596() { // fn#84596, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11235:6989, offset: 0x01f50eea, size: 29 bytes, params: 1, frame: 11 env1_3(_fun84598)(); function* _fun84598() { // fn#84598, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11235:6997, offset: 0x01f50f12, size: 162 bytes, params: 1, frame: 17 var value3; var binding; var binding2; var property; var value4; var fetchSticker; var id; var sticker; var value5; var value6; var error; if (true) { value = environment.__proto__.__proto__; var current = env2_5.current; if (importAll) { if (current.isReturnable) { return undefined; } if (current.stickersStoreDefinition != null) { return undefined; } if (current.shouldFetch) { if (current.hasFetched) { return undefined; } dependencyMap(false); value3 = environment.__proto__.__proto__.__proto__; try { binding = env3_0; } catch (error) { env2_3(true); return undefined; } try { binding2 = env3_2; } catch (error) { env2_3(true); return undefined; } try { property = binding2[11]; } catch (error) { env2_3(true); return undefined; } try { value4 = binding(property); } catch (error) { env2_3(true); return undefined; } try { fetchSticker = value4.fetchSticker; } catch (error) { env2_3(true); return undefined; } try { id = current.renderableSticker.id; } catch (error) { env2_3(true); return undefined; } try { sticker = Reflect.apply(fetchSticker, value4, [id]); } catch (error) { env2_3(true); return undefined; } yield sticker; try { value5 = undefined; value6 = false; } catch (error) { env2_3(true); return undefined; } if (value6) { return value5; } env2_3(true); return undefined; } } } } } } function useFilteredStickerPackCategories(a0) { // fn#84599, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11235:7287, offset: 0x01f50fb4, size: 55 bytes, params: 2, frame: 14 return ReactModule.useMemo(_fun84600, [useStickerPackCategories(a0)]); function _fun84600() { // fn#84600, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11235:7343, offset: 0x01f50feb, size: 33 bytes, params: 1, frame: 13 return env0_0.filter(_fun84601, []); function _fun84601(a0) { // fn#84601, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11235:7357, offset: 0x01f5100c, size: 71 bytes, params: 2, frame: 13 const type = a0.type; const value = environment.__proto__.__proto__; const StickerCategoryTypes = (StickersTypesModule).StickerCategoryTypes; const EMPTY_GUILD_UPSELL = StickerCategoryTypes.EMPTY_GUILD_UPSELL; return type === EMPTY_GUILD_UPSELL || a0.stickers.length > 0; } } } } global.__d(_fun84552, 11049, [5, 57, 31, 1867, 3969, 4896, 1878, 6582, 6583, 661, 566, 11050, 3829, 4643, 9077, 4785, 8249, 1244, 3789, 9767, 6943, 2]) /* metro module 11049, dependencies: [5, 57, 31, 1867, 3969, 4896, 1878, 6582, 6583, 661, 566, 11050, 3829, 4643, 9077, 4785, 8249, 1244, 3789, 9767, 6943, 2] */;