/* Metro module 4038; source: modules/guild_themes/GuildThemeResolver.tsx; dependencies: [31, 1348, 1867, 3969, 4039, 4042, 661, 4004, 566, 4043, 4044, 2] */ import UserSettingsProtoStore from '../user_settings/UserSettingsProtoStore.tsx'; /* Metro dependency 1348 */ import GuildStore from '../../stores/GuildStore.tsx'; /* Metro dependency 1867 */ import SelectedGuildStore from '../../stores/SelectedGuildStore.tsx'; /* Metro dependency 3969 */ import GuildThemePreviewStore from './GuildThemePreviewStore.tsx'; /* Metro dependency 4039 */ import GuildThemeRuntimeStore from './GuildThemeRuntimeStore.tsx'; /* Metro dependency 4042 */ 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 GuildThemePresetsModule from './GuildThemePresets.tsx'; /* Metro dependency 4004 */ import * as ClientModule from '../../flow/Client.tsx'; /* Metro dependency 4044 */ 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 resolveRenderableGuildThemeSettings2 = resolveRenderableGuildThemeSettings; const resolveSavedActiveGuildTheme2 = 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 getActiveGuildThemeForGuildId2 = getActiveGuildThemeForGuildId; const useActiveGuildThemeForGuildId2 = useActiveGuildThemeForGuildId; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); (FileImportTrackerModule).fileFinishedImporting('modules/guild_themes/GuildThemeResolver.tsx'); exports.resolveRenderableGuildThemeSettings = resolveRenderableGuildThemeSettings2; exports.isRenderableGuildThemeSettings = isRenderableGuildThemeSettings; exports.resolveSavedActiveGuildTheme = resolveSavedActiveGuildTheme2; exports.useEnabledGuildThemeForGuildId = useEnabledGuildThemeForGuildId; exports.getActiveGuildThemeForGuildId = getActiveGuildThemeForGuildId2; exports.getActiveGuildTheme = getActiveGuildTheme; exports.useActiveGuildThemeForGuildId = useActiveGuildThemeForGuildId2; 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 = (GuildThemePresetsModule).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 = (FluxModule).useStateFromStores([GuildStore, GuildThemeRuntimeStore], _fun33253, [a0, a1]); return value2.useMemo(_fun33254, [value2]); 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(ReactModule); } } 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 _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 = (ClientModule).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 ReactModule !== undefined ? resolveRenderableGuildThemeSettings(ReactModule) : env0_4 === (require(4044) /* metro dependency 4044: Client */).GuildThemeSourcePreference.PERSONAL ? null : env0_3; } } function isRenderableGuildThemeSettings(a0) { // fn#33260, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4196:2160, offset: 0x0102b252, size: 25 bytes, params: 2, frame: 11 return resolveRenderableGuildThemeSettings(a0) != null; } 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 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 _fun33266() { // fn#33266, offset: 0x00c3b9e0, size: 4 bytes, params: 1, frame: 1 return false; } global.__d(_fun33249, 4038, [31, 1348, 1867, 3969, 4039, 4042, 661, 4004, 566, 4043, 4044, 2]) /* metro module 4038, dependencies: [31, 1348, 1867, 3969, 4039, 4042, 661, 4004, 566, 4043, 4044, 2] */;