/* Metro module 14728; source: modules/guild_sidebar/native/useChannelNoticeRows.tsx; dependencies: [57, 31, 11933, 1935, 1867, 1878, 5101, 661, 1376, 14579, 632, 6772, 6774, 14729, 7013, 1365, 3968, 14567, 14730, 2] */ function _fun111041(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#111041, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14925:6, offset: 0x023912e2, size: 277 bytes, params: 8, frame: 19 const env0_0 = require; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); const env0_3 = importDefault(57) /* metro dependency 57 */; const env0_4 = importAll(31) /* metro dependency 31 */; const guildProgressStore = importDefault(11933) /* metro dependency 11933: GuildProgressStore */; const guildChannelStore = importDefault(1935) /* metro dependency 1935: GuildChannelStore */; const guildStore = importDefault(1867) /* metro dependency 1867: GuildStore */; const userStore = importDefault(1878) /* metro dependency 1878: UserStore */; const env0_9 = (require(5101) /* metro dependency 5101: GuildSidebarConstants */).ChannelListChannelNoticeRow; const env0_10 = (require(661) /* metro dependency 661: Constants */).MFALevels; const dismissibleContentConstantsModule = require(1376) /* metro dependency 1376: DismissibleContentConstants */; const env0_11 = dismissibleContentConstantsModule.ContentDismissActionType; const env0_12 = dismissibleContentConstantsModule.DismissibleContentGroupName; (require(2) /* metro dependency 2 */).fileFinishedImporting('modules/guild_sidebar/native/useChannelNoticeRows.tsx'); exports.default = useChannelNoticeRows; } function useChannelNoticeRows(a0) { // fn#111042, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14925:383, offset: 0x023913f7, size: 462 bytes, params: 2, frame: 25 const env0_0 = a0; const id = a0.id; const value2 = (require(632) /* metro dependency 632: useStateFromStores */).useStateFromStores([GuildProgressStore], function() { return GuildProgressStore.hasProgress(id); }); const currentUser = UserStore.getCurrentUser(); const env0_3 = currentUser; const value4 = (require(632) /* metro dependency 632: useStateFromStores */).useStateFromStores([GuildChannelStore], _fun111044, [currentUser, a0.mfaLevel, id]); const env0_4 = value4; const value5 = (require(14567) /* metro dependency 14567: useGuildHasLiveChannelNotice */).useGuildHasLiveChannelNotice(id); const value6 = (require(14730) /* metro dependency 14730: useGameClaimCoachmark */).useCanShowGameClaimCoachmark(id); const useSelectedDismissibleContentModule = require(7013) /* metro dependency 7013: useSelectedDismissibleContent */; const useSelectedSingleUseGuildDismissibleContent = useSelectedDismissibleContentModule.useSelectedSingleUseGuildDismissibleContent; const r4 = value6 ? [(require(1365) /* metro dependency 1365: dismissible_content */).DismissibleContent.GAME_CLAIM_COACHMARK] : []; const CHANNEL_NOTICES = DismissibleContentGroupName.CHANNEL_NOTICES; const value8 = env0_3(Reflect.apply(useSelectedSingleUseGuildDismissibleContent, useSelectedDismissibleContentModule, [r4, id, CHANNEL_NOTICES, true]), 2); const property = value8[0]; const property2 = value8[1]; const value9 = property != null; const {showApplicationAccountLink, applicationAccountLinkMarkAsDismissed, startApplicationAccountLinkAuthorization, accountLinkApplication} = useMobileAccountLinkRow({guildId: id}); const binding = env0_4; const useMemo = binding.useMemo; return {rows: Reflect.apply(useMemo, binding, [_fun111048, [value2, value4, value5, value9, showApplicationAccountLink]]), gameClaimMarkAsDismissed: property2, applicationAccountLinkMarkAsDismissed: applicationAccountLinkMarkAsDismissed, startApplicationAccountLinkAuthorization: startApplicationAccountLinkAuthorization, accountLinkApplication: accountLinkApplication}; } function _fun111044() { // fn#111044, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14925:541, offset: 0x023915e2, size: 86 bytes, params: 1, frame: 12 return env0_3 != null && env0_0.mfaLevel === MFALevels.ELEVATED && !env0_3.mfaEnabled && GuildChannelStore.hasElevatedPermissions(id); } function useMobileAccountLinkRow({guildId}) { // fn#111045, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14925:897, owner: useChannelNoticeRows.useMobileAccountLinkRow, offset: 0x02391638, size: 514 bytes, params: 2, frame: 26 const defaultImport = importDefault(14579) /* metro dependency 14579: mobileAccountLinkingExperiment */; const useConfig = defaultImport.useConfig; const enabled = Reflect.apply(useConfig, defaultImport, [{location: 'useMobileAccountLinkRow'}]).enabled; const useStateFromStoresModule = require(632) /* metro dependency 632: useStateFromStores */; const useStateFromStoresArray = useStateFromStoresModule.useStateFromStoresArray; let property = Reflect.apply(useStateFromStoresArray, useStateFromStoresModule, [[GuildStore], _fun111046])[0]; const applicationActionCreatorsModule = require(6772) /* metro dependency 6772: ApplicationActionCreators */; const useApplication = applicationActionCreatorsModule.useApplication; const {fetched, hasAlreadyLinked, canStartAuthorization, startAuthorization, connectionApp} = (importDefault(6774) /* metro dependency 6774: useStartAuthorize */)(Reflect.apply(useApplication, applicationActionCreatorsModule, [enabled ? property : null]).data); const value5 = (require(14729) /* metro dependency 14729: useDefaultAuthorizationNotifiers */).useDefaultAuthorizationNotifiers(startAuthorization, hasAlreadyLinked); let r4 = enabled && fetched && !hasAlreadyLinked; r4 = r4 && canStartAuthorization && connectionApp != null; r4 = r4 && connectionApp.applicationAccountLinkBenefitConfig != null && connectionApp.applicationAccountLinkBenefitConfig.reward_name != null && connectionApp.applicationAccountLinkBenefitConfig.reward_image != null; const useSelectedDismissibleContentModule = require(7013) /* metro dependency 7013: useSelectedDismissibleContent */; const useSelectedSingleUseGuildDismissibleContent = useSelectedDismissibleContentModule.useSelectedSingleUseGuildDismissibleContent; const r8 = r4 ? [(require(1365) /* metro dependency 1365: dismissible_content */).DismissibleContent.MOBILE_ACCOUNT_LINKING_BANNER] : []; const CHANNEL_NOTICES = DismissibleContentGroupName.CHANNEL_NOTICES; const value12 = env1_3(Reflect.apply(useSelectedSingleUseGuildDismissibleContent, useSelectedDismissibleContentModule, [r8, guildId, CHANNEL_NOTICES, true]), 2); property = value12[0]; const property2 = value12[1]; env1_4.useEffect(_fun111047, [guildId, hasAlreadyLinked]); return {showApplicationAccountLink: property != null, applicationAccountLinkMarkAsDismissed: property2, startApplicationAccountLinkAuthorization: value5, accountLinkApplication: connectionApp}; } function _fun111048() { // fn#111048, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14925:2261, offset: 0x023918e2, size: 163 bytes, params: 1, frame: 13 const SPACER = ChannelListChannelNoticeRow.SPACER; const items2 = [SPACER]; if (result) { items2.push(ChannelListChannelNoticeRow.GAME_CLAIM); } if (showApplicationAccountLink) { items2.push(ChannelListChannelNoticeRow.APPLICATION_ACCOUNT_LINK); } if (env0_2) { items2.push(ChannelListChannelNoticeRow.GUILD_PROGRESS); } else if (env0_4) { items2.push(ChannelListChannelNoticeRow.MFA_WARNING); } if (env0_5) { items2.push(ChannelListChannelNoticeRow.LIVE_CHANNEL_NOTICE); } return items2; } function _fun111046() { // fn#111046, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14925:1053, offset: 0x0239183a, size: 52 bytes, params: 1, frame: 12 const value = environment.__proto__.__proto__; return GuildStore.getGuild(guildId)?.gameApplicationIds ?? []; } function _fun111047() { // fn#111047, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14925:1720, offset: 0x0239186e, size: 116 bytes, params: 1, frame: 18 var value2; var moduleValue; var UNSAFE_markSingleUseGuildDismissibleContentAsDismissed; var MOBILE_ACCOUNT_LINKING_BANNER; var guildIdBinding; if (hasAlreadyLinked) { value2 = environment.__proto__.__proto__; moduleValue = require(3968) /* metro dependency 3968: DismissibleContentUnsafeUtils */; UNSAFE_markSingleUseGuildDismissibleContentAsDismissed = moduleValue.UNSAFE_markSingleUseGuildDismissibleContentAsDismissed; MOBILE_ACCOUNT_LINKING_BANNER = (require(1365) /* metro dependency 1365: dismissible_content */).DismissibleContent.MOBILE_ACCOUNT_LINKING_BANNER; guildIdBinding = guildId; Reflect.apply(UNSAFE_markSingleUseGuildDismissibleContentAsDismissed, moduleValue, [MOBILE_ACCOUNT_LINKING_BANNER, guildIdBinding, {dismissAction: ContentDismissActionType.INDIRECT_ACTION, guildId: guildIdBinding, groupName: DismissibleContentGroupName.CHANNEL_NOTICES}]); } }