Files
discord-decomp/sources/modules/guild_themes/GuildThemeResolver.tsx
T
2026-07-27 16:20:00 +03:00

170 lines
10 KiB
TypeScript

/* 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;
}