Files
2026-07-28 01:06:53 +03:00

184 lines
12 KiB
TypeScript

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