/* Metro module 6858; source: modules/messages/GuildOfficialMessageUtils.tsx; dependencies: [1867, 3784, 4503, 661, 673, 674, 4000, 4002, 6859, 566, 6860, 5216, 2] */ import defaultImport3 from '../../by-id/module-00674.js'; /* Metro dependency 674 */ import GuildStore from '../../stores/GuildStore.tsx'; /* Metro dependency 1867 */ import PermissionStore from '../../stores/PermissionStore.tsx'; /* Metro dependency 3784 */ import GuildOfficialMessagesExperiment from './GuildOfficialMessagesExperiment.tsx'; /* Metro dependency 6859 */ import * as FileImportTrackerModule from '../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */ 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 ColorUtilsModule from '../../external/discord_common/js/shared/utils/ColorUtils.tsx'; /* Metro dependency 673 */ import * as SharedModule from '../../design/shared.tsx'; /* Metro dependency 4002 */ import * as MessageConstantsModule from './MessageConstants.tsx'; /* Metro dependency 4503 */ function _fun54093(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#54093, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7036:6, offset: 0x0135c805, size: 323 bytes, params: 8, frame: 23 const env0_0 = require; const isGuildOfficialMessagesEnabled2 = isGuildOfficialMessagesEnabled; const useIsGuildOfficialMessagesEnabled2 = useIsGuildOfficialMessagesEnabled; const canManageGuildOfficialMessages2 = canManageGuildOfficialMessages; const useCanManageGuildOfficialMessages2 = useCanManageGuildOfficialMessages; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); (FileImportTrackerModule).fileFinishedImporting('modules/messages/GuildOfficialMessageUtils.tsx'); exports.getAccessibleGuildOfficialTextColor = getAccessibleGuildOfficialTextColor; exports.showGuildOfficialMessageGradient = function(a0) { return a0 !== 'no_gradient' && a0 !== 'hidden'; }; exports.showGuildOfficialMessageTextColor = function(a0) { return a0 !== 'no_text_color' && a0 !== 'hidden'; }; exports.isGuildOfficialMessagesEnabled = isGuildOfficialMessagesEnabled2; exports.useIsGuildOfficialMessagesEnabled = useIsGuildOfficialMessagesEnabled2; exports.canManageGuildOfficialMessages = canManageGuildOfficialMessages2; exports.useCanManageGuildOfficialMessages = useCanManageGuildOfficialMessages2; exports.useCanToggleGuildOfficialMessages = useCanToggleGuildOfficialMessages; exports.canSendGuildOfficialMessages = canSendGuildOfficialMessages; function isGuildOfficialMessagesEnabled(a0, a1) { // fn#54094, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7036:235, offset: 0x0135c948, size: 105 bytes, params: 3, frame: 13 let value = a0 != null; let r0 = value && a0.features.has(GuildFeatures.VERIFIED); if (r0) { value = importDefault(6859) /* metro dependency 6859: GuildOfficialMessagesExperiment */; r0 = value.getCurrentConfig({guildId: a0.id, location: a1}).enabled; } return r0; } function useIsGuildOfficialMessagesEnabled(a0, a1) { // fn#54095, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7036:384, offset: 0x0135c9b1, size: 169 bytes, params: 3, frame: 20 const value = a0; const value3 = undefined; const value4 = (FluxModule).useStateFromStores([GuildStore], _fun54096, [value]); const defaultImport = GuildOfficialMessagesExperiment; const useExperiment = defaultImport.useExperiment; return value4 != null && value4.features.has(GuildFeatures.VERIFIED) && Reflect.apply(useExperiment, defaultImport, [{guildId: value ?? value3, location: a1}]).enabled; function _fun54096() { // fn#54096, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7036:470, offset: 0x0135ca5a, size: 40 bytes, params: 1, frame: 12 const value2 = null; return value2 != env0_0 ? GuildStore.getGuild(env0_0) : value2; } } function canManageGuildOfficialMessages(a0, a1, a2) { // fn#54097, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7036:624, offset: 0x0135ca82, size: 55 bytes, params: 4, frame: 14 return isGuildOfficialMessagesEnabled(a0, a2) && PermissionStore.can(Permissions.MANAGE_OFFICIAL_MESSAGES, a1); } function useCanManageGuildOfficialMessages(a0, a1, a2) { // fn#54098, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7036:751, offset: 0x0135cab9, size: 95 bytes, params: 4, frame: 18 const env0_0 = a1; const value2 = useIsGuildOfficialMessagesEnabled(a0, a2); const useStateFromStores = FluxModule.useStateFromStores; return value2 && Reflect.apply(useStateFromStores, FluxModule, [[PermissionStore], function() { var permissionStoreBinding = PermissionStore; var MANAGE_OFFICIAL_MESSAGES = Permissions.MANAGE_OFFICIAL_MESSAGES; return permissionStoreBinding.can(MANAGE_OFFICIAL_MESSAGES, require); }, [a1]]); } function isChannelOfficialMessageEligible(a0) { // fn#54100, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7036:938, offset: 0x0135cb3e, size: 116 bytes, params: 2, frame: 13 let value = a0 != null; let r0 = value && !a0.isPrivate(); if (r0) { value = require(6860) /* metro dependency 6860: ThreadHooks */; value = value.getIsActiveChannelOrUnarchivableThread(a0); r0 = value; } r0 = r0 && a0.type !== ChannelTypes.GUILD_VOICE && a0.type !== ChannelTypes.GUILD_STAGE_VOICE; return r0; } function getAccessibleGuildOfficialTextColor(a0, a1) { // fn#54101, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7036:1239, offset: 0x0135cbb2, size: 263 bytes, params: 3, frame: 24 let value = a2; const value2 = a3; const r3 = value !== undefined ? value : 1; const r12 = value2 !== undefined ? value2 : GUILD_OFFICIAL_HIGHLIGHT_ALPHA; const value3 = (ColorUtilsModule).int2hex(a0); const value4 = (defaultImport3)(a1); const value5 = (defaultImport3)(value3); const value6 = (defaultImport3).mix(value4, value3, r12, 'rgb'); const value7 = defaultImport3.contrast(value5, value6); const defaultImport4 = defaultImport3; const r4 = value7 < defaultImport4.contrast(value5, value4) ? value6 : value4; value = require(4000) /* metro dependency 4000: ColorUtils */; const getAccessibleForegroundColor = value.getAccessibleForegroundColor; const object = {foreground: value5, background: r4}; const WCAGContrastRatios = (SharedModule).WCAGContrastRatios; const Text = WCAGContrastRatios.Text; object.ratio = Text; object.saturationFactor = r3; return Reflect.apply(getAccessibleForegroundColor, value, [object]); } function useCanToggleGuildOfficialMessages(a0, a1, a2) { // fn#54104, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7036:2102, offset: 0x0135cced, size: 152 bytes, params: 4, frame: 18 var value; let r1 = a1.guild_id ?? undefined; const value3 = useCanManageGuildOfficialMessages(r1, a1, a2); let r0 = value3 ? (importDefault(5216) /* metro dependency 5216: isSystemMessage */)(a0) : !value3; if (r0) { r0 = !r0; } else { if (a0.hasFlag(MessageFlags.IS_GUILD_OFFICIAL)) { value = require(6860) /* metro dependency 6860: ThreadHooks */; value = value.getIsActiveChannelOrUnarchivableThread(a1); r1 = value; } else { r1 = isChannelOfficialMessageEligible(a1); } r0 = r1; } return r0; } function canSendGuildOfficialMessages(a0, a1, a2) { // fn#54105, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7036:2403, offset: 0x0135cd85, size: 39 bytes, params: 4, frame: 16 return canManageGuildOfficialMessages(a0, a1, a2) && isChannelOfficialMessageEligible(a1); } } global.__d(_fun54093, 6858, [1867, 3784, 4503, 661, 673, 674, 4000, 4002, 6859, 566, 6860, 5216, 2]) /* metro module 6858, dependencies: [1867, 3784, 4503, 661, 673, 674, 4000, 4002, 6859, 566, 6860, 5216, 2] */;