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