// Metro module 4071 (f4072). import { useMemo } from "react"; import UserSettingsProtoStore from "../user_settings/UserSettingsProtoStore"; import GuildStore from "../../stores/GuildStore"; import SelectedGuildStore from "../../stores/SelectedGuildStore"; import GuildThemePreviewStore from "./GuildThemePreviewStore"; import GuildThemeRuntimeStore from "./GuildThemeRuntimeStore"; import { GuildFeatures } from "../../Constants"; import { getGuildThemePreset } from "./GuildThemePresets"; import { useStateFromStores } from "../../_bundle/Module589"; import { useServerThemeUserEnabled, getServerThemeUserEnabled } from "../premium/powerups/experiments/ServerThemeUserExperiment"; import { GuildThemeSourcePreference } from "../../flow/Client"; function $mk73548($env) { return () => { const r2 = $env; const r5 = r2[0]; if (r5 != null && r2[1]) { const r9 = $env.$parent; const guild = r9[4].getGuild(r5); if (guild != null && guild.features.has(r9[8].GUILD_THEME)) { let r16 = r9[7].getGuildThemeSnapshot(r5); if (r16 === void 0) { r16 = guild.guildTheme; } return r16; } return null; } return null; }; } function $mk73549($env) { return () => (0, $env.$parent[9])($env[2]); } let useActiveGuildThemeForGuildId; let env2340 = {}; export function resolveSavedActiveGuildTheme(a0) { let r16; const enabled = a0?.enabled; let r3 = null; if (enabled === true) { const themeSettings = a0.themeSettings; const r12 = themeSettings == null; let r13 = null; if (!r12) { const customUserThemeSettings = themeSettings.customUserThemeSettings; const colors = customUserThemeSettings?.colors; L11: { const r15 = colors == null; r16 = null; if (!r15) { const length = customUserThemeSettings.colors.length; r16 = null; if (length === 1) { if (customUserThemeSettings.gradientColorStops != null) { const r22 = customUserThemeSettings.gradientColorStops.length > 0; r16 = null; if (r22) { break L11; } } r16 = { type: "custom", customUserThemeSettings }; } } } r13 = r16; if (r13 == null) { const guildThemePreset = getGuildThemePreset(themeSettings.presetId); r13 = guildThemePreset != null ? { type: "preset", preset: guildThemePreset } : null; } } r3 = r13; } return r3; } useActiveGuildThemeForGuildId = function useActiveGuildThemeForGuildId(a0) { let memo, stateFromStores2; let r5 = arguments[1]; if (r5 === void 0) { r5 = "useActiveGuildThemeForGuildId"; } let env13831; memo = void 0; stateFromStores2 = void 0; const serverThemeUserEnabled = useServerThemeUserEnabled(r5); const stateFromStores = useStateFromStores([GuildThemePreviewStore], () => {}, [a0, serverThemeUserEnabled]); const r21 = env13831 = { $parent: env2340 }; env13831[0] = a0; env13831[1] = serverThemeUserEnabled; env13831[2] = void 0; const stateFromStores3 = useStateFromStores([GuildStore, GuildThemeRuntimeStore], $mk73548(r21), [a0, serverThemeUserEnabled]); env13831[2] = stateFromStores3; memo = useMemo($mk73549(r21), [stateFromStores3]); stateFromStores2 = useStateFromStores([UserSettingsProtoStore], () => a0 != null && serverThemeUserEnabled ? UserSettingsProtoStore.resolveGuildThemeSourcePreference(a0) : GuildThemeSourcePreference.PERSONAL, [a0, serverThemeUserEnabled]); return useMemo(() => { let r15, r21; if (stateFromStores !== void 0) { const r2 = stateFromStores == null; let r17 = null; if (!r2) { const customUserThemeSettings = stateFromStores.customUserThemeSettings; const colors = customUserThemeSettings?.colors; L12: { const r20 = colors == null; r21 = null; if (!r20) { const length = customUserThemeSettings.colors.length; r21 = null; if (length === 1) { if (customUserThemeSettings.gradientColorStops != null) { const r27 = customUserThemeSettings.gradientColorStops.length > 0; r21 = null; if (r27) { break L12; } } r21 = { type: "custom", customUserThemeSettings }; } } } r17 = r21; if (r17 == null) { const guildThemePreset = getGuildThemePreset(stateFromStores.presetId); r17 = guildThemePreset != null ? { type: "preset", preset: guildThemePreset } : null; } } r15 = r17; } else { r15 = stateFromStores2 !== GuildThemeSourcePreference.PERSONAL ? memo : null; } return r15; }, [memo, stateFromStores2, stateFromStores]); }; export function resolveRenderableGuildThemeSettings(a0) { let r9; if (a0 == null) { return null; } const customUserThemeSettings = a0.customUserThemeSettings; const colors = customUserThemeSettings?.colors; L8: { const r8 = colors == null; r9 = null; if (!r8) { const length = customUserThemeSettings.colors.length; r9 = null; if (length === 1) { if (customUserThemeSettings.gradientColorStops != null) { const r15 = customUserThemeSettings.gradientColorStops.length > 0; r9 = null; if (r15) { break L8; } } r9 = { type: "custom", customUserThemeSettings }; } } } if (r9 != null) { return r9; } const guildThemePreset = getGuildThemePreset(a0.presetId); return guildThemePreset != null ? { type: "preset", preset: guildThemePreset } : null; } export function isRenderableGuildThemeSettings(a0) { let r11; const r2 = a0 == null; let r4 = null; if (!r2) { const customUserThemeSettings = a0.customUserThemeSettings; const colors = customUserThemeSettings?.colors; L8: { const r10 = colors == null; r11 = null; if (!r10) { const length = customUserThemeSettings.colors.length; r11 = null; if (length === 1) { if (customUserThemeSettings.gradientColorStops != null) { const r17 = customUserThemeSettings.gradientColorStops.length > 0; r11 = null; if (r17) { break L8; } } r11 = { type: "custom", customUserThemeSettings }; } } } r4 = r11; if (r4 == null) { const guildThemePreset = getGuildThemePreset(a0.presetId); r4 = guildThemePreset != null ? { type: "preset", preset: guildThemePreset } : null; } } return r4 != null; } export function useEnabledGuildThemeForGuildId(a0, r6 = "useEnabledGuildThemeForGuildId") { let env13832; const serverThemeUserEnabled2 = useServerThemeUserEnabled(r6); const r11 = env13832 = { $parent: env2340 }; env13832[0] = a0; env13832[1] = serverThemeUserEnabled2; env13832[2] = void 0; const stateFromStores3 = useStateFromStores([GuildStore, GuildThemeRuntimeStore], $mk73548(r11), [a0, serverThemeUserEnabled2]); env13832[2] = stateFromStores3; return useMemo($mk73549(r11), [stateFromStores3]); } export function getActiveGuildThemeForGuildId(a0, r8 = "getActiveGuildThemeForGuildId") { if (a0 != null) { if (getServerThemeUserEnabled(r8)) { const guild = GuildStore.getGuild(a0); if (guild != null && guild.features.has(GuildFeatures.GUILD_THEME)) { if (UserSettingsProtoStore.resolveGuildThemeSourcePreference(a0) === GuildThemeSourcePreference.PERSONAL) { return null; } let r28 = GuildThemeRuntimeStore.getGuildThemeSnapshot(a0); if (r28 === void 0) { r28 = guild.guildTheme; } return resolveSavedActiveGuildTheme(r28); } return null; } } return null; } export function getActiveGuildTheme() { const guildId = SelectedGuildStore.getGuildId(); const r1 = guildId == null; let r12 = null; if (!r1) { const serverThemeUserEnabled2 = getServerThemeUserEnabled("getActiveGuildTheme"); r12 = null; if (serverThemeUserEnabled2) { const guild = GuildStore.getGuild(guildId); const r2 = guild == null; r12 = null; if (!r2) { const r23 = guild.features.has(GuildFeatures.GUILD_THEME); r12 = null; if (r23) { const r26 = UserSettingsProtoStore.resolveGuildThemeSourcePreference(guildId); const PERSONAL = GuildThemeSourcePreference.PERSONAL; r12 = null; if (r26 !== PERSONAL) { let r33 = GuildThemeRuntimeStore.getGuildThemeSnapshot(guildId); if (r33 === void 0) { r33 = guild.guildTheme; } r12 = resolveSavedActiveGuildTheme(r33); } } } } } return r12; } export { useActiveGuildThemeForGuildId }; export function useActiveGuildTheme() { return useActiveGuildThemeForGuildId(useStateFromStores([SelectedGuildStore], () => SelectedGuildStore.getGuildId()), "useActiveGuildTheme"); } export function useIsGuildThemePreviewActive() { return useStateFromStores([GuildThemePreviewStore], () => false); }