170 lines
10 KiB
TypeScript
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;
|
|
}
|
|
|