/* Metro module 4038; source: modules/guild_themes/GuildThemeResolver.tsx; dependencies: [31, 1348, 1867, 3969, 4039, 4042, 661, 4004, 566, 4043, 4044, 2] */ function _fun33249(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#33249, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4196:6, offset: 0x0102aca5, size: 344 bytes, params: 8, frame: 23 let env0_0 = require; const closure = resolveRenderableGuildThemeSettings; const closure2 = resolveSavedActiveGuildTheme; const useSavedActiveGuildThemeForGuildId = function(a0, a1) { var env0_0 = a0; var env0_1 = a1; var value2 = require(dependencyMap[8]).useStateFromStores([GuildStore, GuildThemeRuntimeStore], _fun33253, [a0, a1]); return value2.useMemo(_fun33254, [value2]); }; const closure3 = getActiveGuildThemeForGuildId; const closure4 = useActiveGuildThemeForGuildId; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); const env0_2 = importAll(31) /* metro dependency 31 */; const userSettingsProtoStore = importDefault(1348) /* metro dependency 1348: UserSettingsProtoStore */; const guildStore = importDefault(1867) /* metro dependency 1867: GuildStore */; const selectedGuildStore = importDefault(3969) /* metro dependency 3969: SelectedGuildStore */; const guildThemePreviewStore = importDefault(4039) /* metro dependency 4039: GuildThemePreviewStore */; const guildThemeRuntimeStore = importDefault(4042) /* metro dependency 4042: GuildThemeRuntimeStore */; const env0_8 = (require(661) /* metro dependency 661: Constants */).GuildFeatures; (require(2) /* metro dependency 2 */).fileFinishedImporting('modules/guild_themes/GuildThemeResolver.tsx'); exports.resolveRenderableGuildThemeSettings = closure; exports.isRenderableGuildThemeSettings = isRenderableGuildThemeSettings; exports.resolveSavedActiveGuildTheme = closure2; exports.useEnabledGuildThemeForGuildId = useEnabledGuildThemeForGuildId; exports.getActiveGuildThemeForGuildId = closure3; exports.getActiveGuildTheme = getActiveGuildTheme; exports.useActiveGuildThemeForGuildId = closure4; exports.useActiveGuildTheme = useActiveGuildTheme; exports.useIsGuildThemePreviewActive = function() { return require(dependencyMap[8]).useStateFromStores([GuildThemePreviewStore], _fun33266); }; } function resolveRenderableGuildThemeSettings(a0) { // fn#33250, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4196:180, offset: 0x0102adfd, size: 189 bytes, params: 2, frame: 15 const value = null; if (value == a0) { return value; } const customUserThemeSettings = a0.customUserThemeSettings; const r1 = value == (value == customUserThemeSettings ? undefined : customUserThemeSettings.colors) || customUserThemeSettings.colors.length !== 1 ? value : value == customUserThemeSettings.gradientColorStops ? {type: 'custom', customUserThemeSettings: customUserThemeSettings} : customUserThemeSettings.gradientColorStops.length > 0 ? value : {type: 'custom', customUserThemeSettings: customUserThemeSettings}; if (value != r1) { return r1; } const guildThemePreset = (require(4004) /* metro dependency 4004: GuildThemePresets */).getGuildThemePreset(a0.presetId); return value != guildThemePreset ? {type: 'preset', preset: guildThemePreset} : value; } function resolveSavedActiveGuildTheme(a0) { // fn#33251, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4196:608, offset: 0x0102aeba, size: 49 bytes, params: 2, frame: 13 const value = null; return (value == a0 ? undefined : a0.enabled) !== true ? value : resolveRenderableGuildThemeSettings(a0.themeSettings); } function useSavedActiveGuildThemeForGuildId(a0, a1) { // fn#33252, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4196:745, offset: 0x0102aeeb, size: 124 bytes, params: 3, frame: 18 const env0_0 = a0; const env0_1 = a1; const value2 = (require(566) /* metro dependency 566: flux */).useStateFromStores([GuildStore, GuildThemeRuntimeStore], _fun33253, [a0, a1]); return value2.useMemo(_fun33254, [value2]); } function getActiveGuildThemeForGuildId(a0) { // fn#33255, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4196:1076, offset: 0x0102afee, size: 208 bytes, params: 2, frame: 17 var guild; var features; var guildThemeSnapshot; const value = a1; if (a0 != null) { var moduleValue = require(4043) /* metro dependency 4043: ServerThemeUserExperiment */; var getServerThemeUserEnabled = moduleValue.getServerThemeUserEnabled; if (Reflect.apply(getServerThemeUserEnabled, moduleValue, [value !== undefined ? value : 'getActiveGuildThemeForGuildId'])) { guild = GuildStore.getGuild(a0); if (guild == null) { return null; } features = guild.features; if (features.has(GuildFeatures.GUILD_THEME)) { if (UserSettingsProtoStore.resolveGuildThemeSourcePreference(a0) === (require(4044) /* metro dependency 4044: Client */).GuildThemeSourcePreference.PERSONAL) { return null; } guildThemeSnapshot = GuildThemeRuntimeStore.getGuildThemeSnapshot(a0); return resolveSavedActiveGuildTheme(guildThemeSnapshot !== undefined ? guildThemeSnapshot : guild.guildTheme); } return null; } } return null; } function useActiveGuildThemeForGuildId(a0) { // fn#33256, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4196:1486, offset: 0x0102b0be, size: 239 bytes, params: 2, frame: 23 const value = a1; const env0_0 = a0; const value2 = (require(4043) /* metro dependency 4043: ServerThemeUserExperiment */).useServerThemeUserEnabled(value !== undefined ? value : 'useActiveGuildThemeForGuildId'); const value3 = (require(566) /* metro dependency 566: flux */).useStateFromStores([GuildThemePreviewStore], function() { }, [a0, value2]); return value3.useMemo(_fun33259, [useSavedActiveGuildThemeForGuildId(a0, value2), (require(566) /* metro dependency 566: flux */).useStateFromStores([UserSettingsProtoStore], _fun33258, [a0, value2]), value3]); } function useEnabledGuildThemeForGuildId(a0) { // fn#33261, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4196:2349, offset: 0x0102b26b, size: 62 bytes, params: 2, frame: 15 let value = a1; const r4 = value !== undefined ? value : 'useEnabledGuildThemeForGuildId'; value = require(4043) /* metro dependency 4043: ServerThemeUserExperiment */; value = value.useServerThemeUserEnabled(r4); return useSavedActiveGuildThemeForGuildId(a0, value); } function getActiveGuildTheme() { // fn#33262, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4196:2594, offset: 0x0102b2a9, size: 37 bytes, params: 1, frame: 13 return getActiveGuildThemeForGuildId(SelectedGuildStore.getGuildId(), 'getActiveGuildTheme'); } function useActiveGuildTheme() { // fn#33263, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4196:2785, offset: 0x0102b2ce, size: 73 bytes, params: 1, frame: 15 const fluxModule = require(566) /* metro dependency 566: flux */; const useStateFromStores = fluxModule.useStateFromStores; return useActiveGuildThemeForGuildId(Reflect.apply(useStateFromStores, fluxModule, [[SelectedGuildStore], function() { return SelectedGuildStore.getGuildId(); }]), 'useActiveGuildTheme'); } function useIsGuildThemePreviewActive() { // fn#33265, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4196:2961, offset: 0x0102b32a, size: 57 bytes, params: 1, frame: 13 return (require(566) /* metro dependency 566: flux */).useStateFromStores([GuildThemePreviewStore], function() { return false; }); } function _fun33253() { // fn#33253, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4196:834, offset: 0x0102af67, size: 112 bytes, params: 1, frame: 15 var value2; var guild; var features; var guildThemeSnapshot; if (env0_0 != null) { if (require) { value2 = environment.__proto__; guild = GuildStore.getGuild(env0_0); if (guild == null) { return null; } features = guild.features; if (features.has(GuildFeatures.GUILD_THEME)) { guildThemeSnapshot = GuildThemeRuntimeStore.getGuildThemeSnapshot(env0_0); return guildThemeSnapshot !== undefined ? guildThemeSnapshot : guild.guildTheme; } return null; } } return null; } function _fun33254() { // fn#33254, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4196:1034, offset: 0x0102afd7, size: 23 bytes, params: 1, frame: 11 return resolveSavedActiveGuildTheme(env0_2); } function _fun33258() { // fn#33258, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4196:1730, offset: 0x0102b1ad, size: 83 bytes, params: 1, frame: 12 const GuildThemeSourcePreference = (require(4044) /* metro dependency 4044: Client */).GuildThemeSourcePreference; return env0_0 == null ? GuildThemeSourcePreference.PERSONAL : env0_1 ? UserSettingsProtoStore.resolveGuildThemeSourcePreference(env0_0) : GuildThemeSourcePreference.PERSONAL; } function _fun33259() { // fn#33259, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4196:1855, offset: 0x0102b200, size: 82 bytes, params: 1, frame: 14 return env0_2 !== undefined ? resolveRenderableGuildThemeSettings(env0_2) : env0_4 === (require(4044) /* metro dependency 4044: Client */).GuildThemeSourcePreference.PERSONAL ? null : env0_3; }