Files
discord-decomp/sources/modules/guild_themes/GuildThemePreviewStore.tsx
T
2026-07-28 01:06:53 +03:00

415 lines
22 KiB
TypeScript

/* Metro module 4039; source: modules/guild_themes/GuildThemePreviewStore.tsx; dependencies: [6, 7, 15, 17, 18, 1226, 4040, 4041, 694, 1866, 22, 566, 2] */
import ClassCallCheck from '../../by-id/module-00006-ClassCallCheck.js'; /* Metro dependency 6 */
import CreateClass from '../../by-id/module-00007-CreateClass.js'; /* Metro dependency 7 */
import PossibleConstructorReturn from '../../by-id/module-00015-PossibleConstructorReturn.js'; /* Metro dependency 15 */
import Module00017 from '../../by-id/module-00017.js'; /* Metro dependency 17 */
import Inherits from '../../by-id/module-00018-Inherits.js'; /* Metro dependency 18 */
import Flux from '../../external/discord_common/js/packages/flux/index.tsx'; /* Metro dependency 566 */
import AuthenticationStore from '../../stores/AuthenticationStore.tsx'; /* Metro dependency 1226 */
import * as FileImportTrackerModule from '../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as Module00022Module from '../../by-id/module-00022.js'; /* Metro dependency 22 */
import * as GuildThemePreviewConstantsModule from './GuildThemePreviewConstants.tsx'; /* Metro dependency 4040 */
import * as TimersModule from '../../external/discord_common/js/packages/timers/Timers.tsx'; /* Metro dependency 4041 */
function _fun33267(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#33267, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4197:6, offset: 0x0102b363, size: 540 bytes, params: 8, frame: 22
const env0_0 = require;
const GUILD_THEME_PREVIEW_END2 = GUILD_THEME_PREVIEW_END;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const {GuildThemePreviewOrigin,
GuildThemePreviewOwner} = GuildThemePreviewConstantsModule;
const Timeout = (TimersModule).Timeout;
let timeout = new Timeout();
const env0_10 = {'guildId': null, 'draft': null, 'original': null, 'draftEnabled': false, 'originalEnabled': false,
'origin': null, 'owner': null, 'isSaving': false, 'isAwaitingGuildUpdate': false, 'saveError': null};
const Store = (Flux).Store;
_fun33273(Store).displayName = 'GuildThemePreviewStore';
timeout = new timeout(importDefault(694) /* metro dependency 694: Dispatcher */,
{GUILD_THEME_PREVIEW_START: GUILD_THEME_PREVIEW_START,
GUILD_THEME_PREVIEW_SELECT_PRESET: GUILD_THEME_PREVIEW_SELECT_PRESET,
GUILD_THEME_PREVIEW_UPDATE_CUSTOM: GUILD_THEME_PREVIEW_UPDATE_CUSTOM,
GUILD_THEME_PREVIEW_TRANSFER_OWNERSHIP: GUILD_THEME_PREVIEW_TRANSFER_OWNERSHIP,
GUILD_THEME_PREVIEW_END: GUILD_THEME_PREVIEW_END2,
GUILD_THEME_PREVIEW_SAVE_START: GUILD_THEME_PREVIEW_SAVE_START,
GUILD_THEME_PREVIEW_SAVE_SUCCESS: GUILD_THEME_PREVIEW_SAVE_SUCCESS_33293,
GUILD_THEME_PREVIEW_SAVE_FAILURE: GUILD_THEME_PREVIEW_SAVE_FAILURE,
GUILD_SETTINGS_GUILD_THEME_SAVE_SUCCESS: GUILD_SETTINGS_GUILD_THEME_SAVE_SUCCESS_33297,
USER_SETTINGS_MODAL_OPEN: GUILD_THEME_PREVIEW_END2, CHANNEL_SELECT: CHANNEL_SELECT_33298,
GUILD_DELETE: GUILD_DELETE_33299, GUILD_MEMBER_REMOVE: GUILD_MEMBER_REMOVE_33300,
GUILD_UPDATE: GUILD_UPDATE_33301, LOGOUT: GUILD_THEME_PREVIEW_END2});
(FileImportTrackerModule).fileFinishedImporting('modules/guild_themes/GuildThemePreviewStore.tsx');
exports.default = timeout;
exports.GuildThemePreviewOrigin = GuildThemePreviewOrigin;
exports.GuildThemePreviewOwner = GuildThemePreviewOwner;
function _isNativeReflectConstruct_33268() { // fn#33268, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4197:223, offset: 0x0102b57f, size: 94 bytes, params: 1, frame: 18
var Boolean;
var prototype;
var valueOf;
var call;
var Reflect;
var construct;
var closure;
var value;
var error;
try {
Boolean = global.Boolean;
prototype = Boolean.prototype;
valueOf = prototype.valueOf;
call = valueOf.call;
Reflect = global.Reflect;
construct = Reflect.construct;
Boolean = global.Boolean;
closure = function() {
};
value = Reflect.apply(construct, Reflect, [Boolean, [], closure]);
value = Reflect.apply(call, valueOf, [value]);
var result = !value;
} catch (error) {
}
return (_isNativeReflectConstruct_33268_isNativeReflectConstruct = function() {
return !!result;
})();
}
function clearAwaitingGuildUpdateTimeout() { // fn#33271, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4197:599, offset: 0x0102b5dd, size: 21 bytes, params: 1, frame: 9
env0_9.stop();
}
function GUILD_THEME_PREVIEW_END() { // fn#33272, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4197:651, offset: 0x0102b5f2, size: 76 bytes, params: 1, frame: 11
var object2;
var r0;
const r1 = object2.guildId == null && !env0_9.isStarted();
if (r1) {
r0 = !r1;
} else {
clearAwaitingGuildUpdateTimeout();
object2 = {'guildId': null, 'draft': null, 'original': null, 'draftEnabled': false, 'originalEnabled': false,
'origin': null, 'owner': null, 'isSaving': false, 'isAwaitingGuildUpdate': false, 'saveError': null};
r0 = true;
}
return r0;
}
function _fun33273(a0) { // fn#33273, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4197:911, offset: 0x0102b63e, size: 344 bytes, params: 2, frame: 16
const GuildThemePreviewStore2 = GuildThemePreviewStore;
Inherits(GuildThemePreviewStore2, a0);
return CreateClass(GuildThemePreviewStore2, [{key: 'initialize', value: function() {
this.waitFor(AuthenticationStore);
}}, {key: 'guildId', get: get_33276}, {key: 'draft', get: get_33277}, {key: 'original', get: get_33278},
{key: 'draftEnabled', get: get_33279}, {key: 'originalEnabled', get: get_33280}, {key: 'origin',
get: get_33281}, {key: 'owner', get: get_33282}, {key: 'isActive', get: get_33283}, {key: 'isSaving',
get: get_33284}, {key: 'isAwaitingGuildUpdate', get: get_33285}, {key: 'saveError', get: get_33286},
{key: 'hasChanges', value: value_33287}]);
function GuildThemePreviewStore() { // fn#33274, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4197:923, offset: 0x0102b796, size: 113 bytes, params: 1, frame: 20
const value = environment.__proto__;
env1_3(this, GuildThemePreviewStore);
const value3 = env1_6(GuildThemePreviewStore);
return env1_5(this, _isNativeReflectConstruct_33268() ? global.Reflect.construct(value3, arguments,
env1_6(this).constructor) : value3.apply(this, arguments));
}
function get_33276() { // fn#33276, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4197:1299, offset: 0x0102b807, size: 14 bytes, params: 1, frame: 1
return env1_10.guildId;
}
function get_33277() { // fn#33277, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4197:1346, offset: 0x0102b815, size: 15 bytes, params: 1, frame: 1
return env1_10.draft;
}
function get_33278() { // fn#33278, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4197:1394, offset: 0x0102b824, size: 15 bytes, params: 1, frame: 1
return env1_10.original;
}
function get_33279() { // fn#33279, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4197:1449, offset: 0x0102b833, size: 15 bytes, params: 1, frame: 1
return env1_10.draftEnabled;
}
function get_33280() { // fn#33280, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4197:1511, offset: 0x0102b842, size: 15 bytes, params: 1, frame: 1
return env1_10.originalEnabled;
}
function get_33281() { // fn#33281, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4197:1567, offset: 0x0102b851, size: 15 bytes, params: 1, frame: 1
return env1_10.origin;
}
function get_33282() { // fn#33282, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4197:1613, offset: 0x0102b860, size: 15 bytes, params: 1, frame: 1
return env1_10.owner;
}
function get_33283() { // fn#33283, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4197:1661, offset: 0x0102b86f, size: 20 bytes, params: 1, frame: 2
return env1_10.guildId != null;
}
function get_33284() { // fn#33284, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4197:1717, offset: 0x0102b883, size: 15 bytes, params: 1, frame: 1
return env1_10.isSaving;
}
function get_33285() { // fn#33285, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4197:1781, offset: 0x0102b892, size: 15 bytes, params: 1, frame: 1
return env1_10.isAwaitingGuildUpdate;
}
function get_33286() { // fn#33286, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4197:1846, offset: 0x0102b8a1, size: 15 bytes, params: 1, frame: 1
return env1_10.saveError;
}
function value_33287() { // fn#33287, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4197:1902, offset: 0x0102b8b0, size: 110 bytes, params: 1, frame: 15
var r1;
var r0;
var value3;
var moduleValue;
const value = environment.__proto__;
const value2 = env1_10.guildId != null;
if (value2) {
value3 = env1_10.draftEnabled !== env1_10.originalEnabled;
if (value3) {
r1 = value3;
} else {
moduleValue = require(22) /* metro dependency 22 */;
r1 = !moduleValue.isEqual(env1_10.draft, env1_10.original);
}
r0 = r1;
} else {
r0 = value2;
}
return r0;
}
}
function GUILD_THEME_PREVIEW_START({guildId, draft, original, draftEnabled, originalEnabled, origin, owner}) { // fn#33288, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4197:2120, offset: 0x0102b91e, size: 183 bytes, params: 2, frame: 22
clearAwaitingGuildUpdateTimeout();
const object = {guildId: guildId};
object.draft = (require(1866) /* metro dependency 1866: guildThemeSerialization */).cloneGuildThemeSettings(draft);
object.original = (require(1866) /* metro dependency 1866: guildThemeSerialization */).cloneGuildThemeSettings(original);
object.draftEnabled = draftEnabled;
object.originalEnabled = originalEnabled;
object.origin = origin;
owner = owner ?? env0_10.owner;
object.owner = owner;
object.isSaving = false;
object.isAwaitingGuildUpdate = false;
object.saveError = null;
}
function GUILD_THEME_PREVIEW_SELECT_PRESET({presetId}) { // fn#33289, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4197:2509, offset: 0x0102b9d5, size: 181 bytes, params: 2, frame: 16
var object;
var value4;
if (env0_10.guildId == null) {
return false;
}
const object2 = {presetId: presetId, customUserThemeSettings: undefined};
const isEqual2 = Module00022Module.isEqual(env0_10.draft, object2);
let r0 = isEqual2 ? !env0_10.draftEnabled : !isEqual2;
if (r0) {
clearAwaitingGuildUpdateTimeout();
object = {};
copyDataProperties(object, env0_10, Module00022Module);
object['draft'] = object2;
value4 = true;
object['draftEnabled'] = value4;
object['isAwaitingGuildUpdate'] = false;
object['saveError'] = null;
r0 = value4;
}
return r0;
}
function GUILD_THEME_PREVIEW_UPDATE_CUSTOM({colors, gradientAngle, baseMix}) { // fn#33290, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4197:2831, offset: 0x0102ba8a, size: 233 bytes, params: 2, frame: 20
var object;
var value4;
if (env0_10.guildId == null) {
return false;
}
const object3 = {presetId: undefined};
const items2 = [];
arraySpread(items2, colors, 0, colors);
object3.customUserThemeSettings = {colors: items2, gradientColorStops: [], gradientAngle: gradientAngle,
baseMix: baseMix};
const isEqual2 = Module00022Module.isEqual(env0_10.draft, object3);
let r0 = isEqual2 ? !env0_10.draftEnabled : !isEqual2;
if (r0) {
clearAwaitingGuildUpdateTimeout();
object = {};
copyDataProperties(object, env0_10, 0);
object['draft'] = object3;
value4 = true;
object['draftEnabled'] = value4;
object['isAwaitingGuildUpdate'] = false;
object['saveError'] = null;
r0 = value4;
}
return r0;
}
function GUILD_THEME_PREVIEW_TRANSFER_OWNERSHIP({owner}) { // fn#33291, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4197:3244, offset: 0x0102bb73, size: 77 bytes, params: 2, frame: 14
var object;
let r0 = env0_10.guildId != null && env0_10.owner !== owner;
if (r0) {
object = {};
copyDataProperties(object, env0_10, owner);
object['owner'] = owner;
r0 = true;
}
return r0;
}
function GUILD_THEME_PREVIEW_SAVE_START() { // fn#33292, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4197:3413, offset: 0x0102bbc0, size: 65 bytes, params: 1, frame: 14
clearAwaitingGuildUpdateTimeout();
const object = {};
copyDataProperties(object, env0_10, undefined);
object['isSaving'] = true;
object['isAwaitingGuildUpdate'] = false;
object['saveError'] = null;
}
function GUILD_THEME_PREVIEW_SAVE_SUCCESS_33293({guildId, guildTheme}) { // fn#33293, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4197:3569, offset: 0x0102bc01, size: 256 bytes, params: 2, frame: 20
if (env0_10.guildId == null) {
return false;
}
if (guildId !== env0_10.guildId) {
return false;
}
const r7 = guildTheme?.themeSettings ?? null;
const enabled = guildTheme?.enabled;
const r4 = enabled != null && enabled;
const object = {};
copyDataProperties(object, env0_10, undefined);
object['draft'] = (require(1866) /* metro dependency 1866: guildThemeSerialization */).cloneGuildThemeSettings(r7);
object['original'] = (require(1866) /* metro dependency 1866: guildThemeSerialization */).cloneGuildThemeSettings(r7);
object['draftEnabled'] = r4;
object['originalEnabled'] = r4;
object['isSaving'] = false;
object['isAwaitingGuildUpdate'] = true;
object['saveError'] = null;
scheduleAwaitingGuildUpdateTimeout();
return true;
function scheduleAwaitingGuildUpdateTimeout() { // fn#33294, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4197:3953, owner: GUILD_THEME_PREVIEW_SAVE_SUCCESS_33293.scheduleAwaitingGuildUpdateTimeout, offset: 0x0102bd01, size: 43 bytes, params: 1, frame: 14
clearAwaitingGuildUpdateTimeout();
env1_9.start(10000, _fun33295);
function _fun33295() { // fn#33295, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4197:4046, offset: 0x0102bd2c, size: 64 bytes, params: 1, frame: 12
const value = environment.__proto__.__proto__;
if (env2_10.isAwaitingGuildUpdate) {
(importDefault(694) /* metro dependency 694: Dispatcher */).dispatch({type: 'GUILD_THEME_PREVIEW_END'});
}
}
}
}
function GUILD_THEME_PREVIEW_SAVE_FAILURE({guildId, error}) { // fn#33296, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4197:4170, offset: 0x0102bd6c, size: 110 bytes, params: 2, frame: 15
var object;
let r0 = env0_10.guildId != null && guildId === env0_10.guildId;
if (r0) {
clearAwaitingGuildUpdateTimeout();
object = {};
copyDataProperties(object, env0_10, undefined);
object['isSaving'] = false;
object['isAwaitingGuildUpdate'] = false;
object['saveError'] = error;
r0 = true;
}
return r0;
}
function GUILD_SETTINGS_GUILD_THEME_SAVE_SUCCESS_33297({guildId}) { // fn#33297, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4197:4395, offset: 0x0102bdda, size: 57 bytes, params: 2, frame: 11
return env0_10.guildId != null && guildId === env0_10.guildId && GUILD_THEME_PREVIEW_END();
}
function CHANNEL_SELECT_33298({guildId}) { // fn#33298, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4197:4545, offset: 0x0102be13, size: 59 bytes, params: 2, frame: 11
let r0 = env0_10.guildId != null && guildId !== env0_10.guildId;
if (r0) {
GUILD_THEME_PREVIEW_END();
r0 = true;
}
return r0;
}
function GUILD_DELETE_33299({guild}) { // fn#33299, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4197:4710, offset: 0x0102be4e, size: 64 bytes, params: 2, frame: 11
let r0 = env0_10.guildId != null && guild.id === env0_10.guildId;
if (r0) {
GUILD_THEME_PREVIEW_END();
r0 = true;
}
return r0;
}
function GUILD_MEMBER_REMOVE_33300({guildId, user}) { // fn#33300, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4197:4828, offset: 0x0102be8e, size: 93 bytes, params: 2, frame: 12
var r1;
var r0;
const id = user.id;
const authenticationStoreBinding = AuthenticationStore;
const getId = authenticationStoreBinding.getId;
const value2 = id === Reflect.apply(getId, authenticationStoreBinding, []);
if (value2) {
r1 = env0_10.guildId != null && guildId === env0_10.guildId;
if (r1) {
GUILD_THEME_PREVIEW_END();
r1 = true;
}
r0 = r1;
} else {
r0 = value2;
}
return r0;
}
function GUILD_UPDATE_33301({guild}) { // fn#33301, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4197:4971, offset: 0x0102beeb, size: 266 bytes, params: 2, frame: 18
var enabled;
var r5;
var themeSettings;
var r8;
var r2;
var r0;
var theme;
var value6;
var value7;
var moduleValue;
var value8;
var value9;
var value11;
var moduleValue2;
const isAwaitingGuildUpdate = env0_10.isAwaitingGuildUpdate;
let r1 = isAwaitingGuildUpdate ? env0_10.guildId == null : !isAwaitingGuildUpdate;
r1 = !r1 ? guild.id !== env0_10.guildId : r1;
if (r1) {
r0 = !r1;
} else {
theme = guild.theme;
value6 = undefined;
value7 = value6 !== theme;
if (value7) {
moduleValue = require(1866) /* metro dependency 1866: guildThemeSerialization */;
value8 = moduleValue.fromServerGuildTheme(guild.theme);
value9 = null;
enabled = value9 == value8 ? value6 : value8.enabled;
r5 = value9 != enabled && enabled;
themeSettings = value9 == value8 ? value6 : value8.themeSettings;
r8 = value9 != themeSettings ? themeSettings : value9;
value11 = r5 === env0_10.originalEnabled;
if (value11) {
moduleValue2 = require(22) /* metro dependency 22 */;
r2 = moduleValue2.isEqual(r8, env0_10.original);
} else {
r2 = value11;
}
if (r2) {
GUILD_THEME_PREVIEW_END();
r2 = true;
} else {
r2 = !!r2;
}
r1 = r2;
} else {
r1 = value7;
}
r0 = r1;
}
return r0;
}
}
global.__d(_fun33267, 4039, [6, 7, 15, 17, 18, 1226, 4040, 4041, 694, 1866, 22, 566,
2]) /* metro module 4039, dependencies: [6, 7, 15, 17, 18, 1226, 4040, 4041, 694, 1866, 22, 566, 2] */;