294 lines
9.3 KiB
TypeScript
294 lines
9.3 KiB
TypeScript
// 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);
|
|
}
|