decord/beta/source/modules/guild_themes/GuildThemeResolver.tsx
2026-10-01 14:13:23 +00:00

348 lines
12 KiB
TypeScript

// Module ID: 4719
// Function ID: 4720
// Name: GuildThemeResolver
// Dependencies: [19, 1220, 2067, 4655, 4720, 4722, 1074, 4689, 504, 4760, 4763, 2]
// Exports: getActiveGuildTheme, getActiveGuildThemeForGuildId, isRenderableGuildThemeSettings, resolveRenderableGuildThemeSettings, useActiveGuildTheme, useEnabledGuildThemeForGuildId, useIsGuildThemePreviewActive
// Module 4719 (GuildThemeResolver)
import get_initialized from "get initialized" /* 504 */;
import Constants from "Constants" /* 1074 */;
import GuildThemePresets from "GuildThemePresets" /* 4689 */;
import ServerThemeUserExperiment from "ServerThemeUserExperiment" /* 4760 */;
import flow_Client from "flow/Client" /* 4763 */;
import react from "react" /* 19 */;
import UserSettingsProtoStore from "UserSettingsProtoStore" /* 1220 */;
import GuildStore from "GuildStore" /* 2067 */;
import SelectedGuildStore from "SelectedGuildStore" /* 4655 */;
import GuildThemePreviewStore from "GuildThemePreviewStore" /* 4720 */;
import GuildThemeRuntimeStore from "GuildThemeRuntimeStore" /* 4722 */;
import size from "module_2" /* 2 */;
const require = globalThis.__r;
let _require;
function resolveSavedActiveGuildTheme(stateFromStores) {
let enabled;
if (stateFromStores != null) {
enabled = stateFromStores.enabled;
}
let tmp2 = null;
if (true === enabled) {
const themeSettings = stateFromStores.themeSettings;
let tmp5 = null;
if (null != themeSettings) {
const customUserThemeSettings = themeSettings.customUserThemeSettings;
let colors;
if (customUserThemeSettings != null) {
colors = customUserThemeSettings.colors;
}
let tmp4 = null;
if (null != colors) {
tmp4 = null;
if (1 === customUserThemeSettings.colors.length) {
if (null == customUserThemeSettings.gradientColorStops) {
tmp4 = { type: "custom", customUserThemeSettings };
const obj = { type: "custom", customUserThemeSettings };
} else {
tmp4 = null;
}
}
}
tmp5 = tmp4;
if (null == tmp4) {
const obj2 = GuildThemePresets;
const guildThemePreset = obj2.getGuildThemePreset(themeSettings.presetId);
let tmp9 = null;
if (null != guildThemePreset) {
tmp9 = { type: "preset", preset: guildThemePreset };
const obj3 = { type: "preset", preset: guildThemePreset };
}
tmp5 = tmp9;
}
}
tmp2 = tmp5;
}
return tmp2;
}
function useActiveGuildThemeForGuildId(context, useActiveGuildTheme) {
_require = context;
let str = useActiveGuildTheme;
if (useActiveGuildTheme === undefined) {
str = "useActiveGuildThemeForGuildId";
}
let serverThemeUserEnabled;
let stateFromStores2;
let obj = require("ServerThemeUserExperiment");
serverThemeUserEnabled = obj.useServerThemeUserEnabled(str);
let obj2 = require("get initialized");
const items = [GuildThemePreviewStore];
const items1 = [context, serverThemeUserEnabled];
const stateFromStores = obj2.useStateFromStores(items, () => {
}, items1);
_require = context;
let obj3 = require("get initialized");
const items2 = [stateFromStores2, GuildThemeRuntimeStore];
const items3 = [context, serverThemeUserEnabled];
const stateFromStores1 = obj3.useStateFromStores(items2, () => {
if (null != guildId) {
const tmp2 = serverThemeUserEnabled;
if (tmp2) {
const guild = GuildStore.getGuild(tmp);
if (null != guild) {
const features = guild.features;
if (features.has(GuildFeatures.GUILD_THEME)) {
let guildTheme = GuildThemeRuntimeStore.getGuildThemeSnapshot(tmp);
if (undefined === guildTheme) {
guildTheme = guild.guildTheme;
}
return guildTheme;
}
}
return null;
}
}
return null;
}, items3);
const items4 = [stateFromStores1];
const memo = stateFromStores.useMemo(() => resolveSavedActiveGuildTheme(stateFromStores), items4);
const items5 = [memo];
const items6 = [context, serverThemeUserEnabled];
const obj4 = require("get initialized");
stateFromStores2 = obj4.useStateFromStores(items5, () => {
if (null != context) {
let PERSONAL;
const tmp2 = serverThemeUserEnabled;
if (tmp2) {
PERSONAL = UserSettingsProtoStore.resolveGuildThemeSourcePreference(tmp);
}
return PERSONAL;
}
PERSONAL = flow_Client.GuildThemeSourcePreference.PERSONAL;
}, items6);
const items7 = [memo, stateFromStores2, stateFromStores];
return stateFromStores.useMemo(() => {
let tmp5;
if (undefined !== stateFromStores) {
let tmp7 = null;
if (null != stateFromStores) {
const customUserThemeSettings = tmp.customUserThemeSettings;
let colors;
if (customUserThemeSettings != null) {
colors = customUserThemeSettings.colors;
}
let tmp9 = null;
if (null != colors) {
tmp9 = null;
if (1 === customUserThemeSettings.colors.length) {
if (null == customUserThemeSettings.gradientColorStops) {
tmp9 = { type: "custom", customUserThemeSettings };
const obj = { type: "custom", customUserThemeSettings };
} else {
tmp9 = null;
}
}
}
tmp7 = tmp9;
if (null == tmp9) {
const obj2 = GuildThemePresets;
const guildThemePreset = obj2.getGuildThemePreset(tmp.presetId);
let tmp13 = null;
if (null != guildThemePreset) {
tmp13 = { type: "preset", preset: guildThemePreset };
const obj3 = { type: "preset", preset: guildThemePreset };
}
tmp7 = tmp13;
}
}
tmp5 = tmp7;
} else {
tmp5 = null;
if (stateFromStores2 !== flow_Client.GuildThemeSourcePreference.PERSONAL) {
tmp5 = memo;
}
}
return tmp5;
}, items7);
}
const GuildFeatures = Constants.GuildFeatures;
const result = size.fileFinishedImporting("modules/guild_themes/GuildThemeResolver.tsx");
export const resolveRenderableGuildThemeSettings = function resolveRenderableGuildThemeSettings(customUserThemeSettings) {
if (null == customUserThemeSettings) {
return null;
} else {
customUserThemeSettings = customUserThemeSettings.customUserThemeSettings;
let colors;
if (customUserThemeSettings != null) {
colors = customUserThemeSettings.colors;
}
let tmp2 = null;
if (null != colors) {
tmp2 = null;
if (1 === customUserThemeSettings.colors.length) {
if (null == customUserThemeSettings.gradientColorStops) {
tmp2 = { type: "custom", customUserThemeSettings };
const obj = { type: "custom", customUserThemeSettings };
} else {
tmp2 = null;
}
}
}
if (null != tmp2) {
return tmp2;
} else {
const obj2 = GuildThemePresets;
const guildThemePreset = obj2.getGuildThemePreset(customUserThemeSettings.presetId);
let tmp6 = null;
if (null != guildThemePreset) {
tmp6 = { type: "preset", preset: guildThemePreset };
const obj3 = { type: "preset", preset: guildThemePreset };
}
return tmp6;
}
}
};
export const isRenderableGuildThemeSettings = function isRenderableGuildThemeSettings(customUserThemeSettings) {
let tmp = null;
if (null != customUserThemeSettings) {
customUserThemeSettings = customUserThemeSettings.customUserThemeSettings;
let colors;
if (customUserThemeSettings != null) {
colors = customUserThemeSettings.colors;
}
let tmp3 = null;
if (null != colors) {
tmp3 = null;
if (1 === customUserThemeSettings.colors.length) {
if (null == customUserThemeSettings.gradientColorStops) {
tmp3 = { type: "custom", customUserThemeSettings };
const obj = { type: "custom", customUserThemeSettings };
} else {
tmp3 = null;
}
}
}
tmp = tmp3;
if (null == tmp3) {
const obj2 = GuildThemePresets;
const guildThemePreset = obj2.getGuildThemePreset(customUserThemeSettings.presetId);
let tmp7 = null;
if (null != guildThemePreset) {
tmp7 = { type: "preset", preset: guildThemePreset };
const obj3 = { type: "preset", preset: guildThemePreset };
}
tmp = tmp7;
}
}
return null != tmp;
};
export { resolveSavedActiveGuildTheme };
export const useEnabledGuildThemeForGuildId = function useEnabledGuildThemeForGuildId(guildId, GuildThemeNuxTrigger) {
let serverThemeUserEnabled;
let str = GuildThemeNuxTrigger;
if (GuildThemeNuxTrigger === undefined) {
str = "useEnabledGuildThemeForGuildId";
}
const obj = require("ServerThemeUserExperiment");
serverThemeUserEnabled = obj.useServerThemeUserEnabled(str);
_require = guildId;
const items = [GuildStore, GuildThemeRuntimeStore];
const items1 = [guildId, serverThemeUserEnabled];
const obj2 = require("get initialized");
const stateFromStores = obj2.useStateFromStores(items, () => {
if (null != guildId) {
const tmp2 = serverThemeUserEnabled;
if (tmp2) {
const guild = GuildStore.getGuild(tmp);
if (null != guild) {
const features = guild.features;
if (features.has(GuildFeatures.GUILD_THEME)) {
let guildTheme = GuildThemeRuntimeStore.getGuildThemeSnapshot(tmp);
if (undefined === guildTheme) {
guildTheme = guild.guildTheme;
}
return guildTheme;
}
}
return null;
}
}
return null;
}, items1);
const items2 = [stateFromStores];
return stateFromStores.useMemo(() => resolveSavedActiveGuildTheme(stateFromStores), items2);
};
export const getActiveGuildThemeForGuildId = function getActiveGuildThemeForGuildId(guildId, GuildPowerupsConstants) {
let str = GuildPowerupsConstants;
if (GuildPowerupsConstants === undefined) {
str = "getActiveGuildThemeForGuildId";
}
if (null != guildId) {
const obj = ServerThemeUserExperiment;
const tmp8 = require;
if (obj.getServerThemeUserEnabled(str)) {
const guild = GuildStore.getGuild(guildId);
if (null != guild) {
const features = guild.features;
if (features.has(GuildFeatures.GUILD_THEME)) {
const guildThemeSourcePreference = UserSettingsProtoStore.resolveGuildThemeSourcePreference(guildId);
if (guildThemeSourcePreference === tmp8(4763).GuildThemeSourcePreference.PERSONAL) {
return null;
} else {
let guildTheme = GuildThemeRuntimeStore.getGuildThemeSnapshot(guildId);
const tmp7 = resolveSavedActiveGuildTheme;
if (undefined === guildTheme) {
guildTheme = guild.guildTheme;
}
return tmp7(guildTheme);
}
}
}
return null;
}
}
return null;
};
export const getActiveGuildTheme = function getActiveGuildTheme() {
const guildId = SelectedGuildStore.getGuildId();
let tmp11Result = null;
if (null != guildId) {
tmp11Result = null;
const obj = ServerThemeUserExperiment;
const tmp3 = require;
if (obj.getServerThemeUserEnabled("getActiveGuildTheme")) {
const guild = GuildStore.getGuild(guildId);
tmp11Result = null;
if (null != guild) {
const features = guild.features;
tmp11Result = null;
if (features.has(GuildFeatures.GUILD_THEME)) {
const guildThemeSourcePreference = UserSettingsProtoStore.resolveGuildThemeSourcePreference(guildId);
tmp11Result = null;
if (guildThemeSourcePreference !== tmp3(4763).GuildThemeSourcePreference.PERSONAL) {
let guildTheme = GuildThemeRuntimeStore.getGuildThemeSnapshot(guildId);
const tmp11 = resolveSavedActiveGuildTheme;
if (undefined === guildTheme) {
guildTheme = guild.guildTheme;
}
tmp11Result = tmp11(guildTheme);
}
}
}
}
}
return tmp11Result;
};
export { useActiveGuildThemeForGuildId };
export const useActiveGuildTheme = function useActiveGuildTheme() {
let guildId;
const items = [SelectedGuildStore];
const obj = get_initialized;
return useActiveGuildThemeForGuildId(obj.useStateFromStores(items, () => guildId.getGuildId()), "useActiveGuildTheme");
};
export const useIsGuildThemePreviewActive = function useIsGuildThemePreviewActive() {
const items = [GuildThemePreviewStore];
const obj = get_initialized;
return obj.useStateFromStores(items, () => false);
};