Files
discord-decomp/sources/modules/user_settings/SelectivelySyncedUserSettingsStore.tsx
2026-07-28 01:06:53 +03:00

233 lines
11 KiB
TypeScript

/* Metro module 1311; source: modules/user_settings/SelectivelySyncedUserSettingsStore.tsx; dependencies: [6, 7, 15, 17, 18, 661, 566, 587, 22, 694, 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 * as FileImportTrackerModule from '../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as StorageModule from '../../external/discord_common/js/packages/storage/Storage.tsx'; /* Metro dependency 587 */
import * as ConstantsModule from '../../Constants.tsx'; /* Metro dependency 661 */
function _fun14463(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#14463, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1438:6, offset: 0x00e07797, size: 343 bytes, params: 8, frame: 19
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
let env0_9 = {};
const PersistedStore = (Flux).PersistedStore;
let value = _fun14467(PersistedStore);
value.displayName = 'SelectivelySyncedUserSettingsStore';
value.persistKey = 'SelectivelySyncedUserSettingsStore';
value.migrations = [_fun14474, _fun14475];
value = new value(importDefault(694) /* metro dependency 694: Dispatcher */,
{SELECTIVELY_SYNCED_USER_SETTINGS_UPDATE: SELECTIVELY_SYNCED_USER_SETTINGS_UPDATE, LOGOUT: function() {
env0_9 = {};
}});
(FileImportTrackerModule).fileFinishedImporting('modules/user_settings/SelectivelySyncedUserSettingsStore.tsx');
exports.default = value;
function _isNativeReflectConstruct_14464() { // fn#14464, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1438:179, offset: 0x00e078ee, 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_14464_isNativeReflectConstruct = function() {
return !!result;
})();
}
function _fun14467(a0) { // fn#14467, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1438:387, offset: 0x00e0794c, size: 164 bytes, params: 2, frame: 16
const SelectivelySyncedUserSettingsStore2 = SelectivelySyncedUserSettingsStore;
Inherits(SelectivelySyncedUserSettingsStore2, a0);
return CreateClass(SelectivelySyncedUserSettingsStore2, [{key: 'initialize', value: value_14469}, {key: 'getState',
value: value_14470}, {key: 'shouldSync', value: value_14471}, {key: 'getTextSettings', value: value_14472},
{key: 'getAppearanceSettings', value: value_14473}]);
function SelectivelySyncedUserSettingsStore() { // fn#14468, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1438:399, offset: 0x00e079f0, size: 113 bytes, params: 1, frame: 20
const value = environment.__proto__;
env1_3(this, SelectivelySyncedUserSettingsStore);
const value3 = env1_6(SelectivelySyncedUserSettingsStore);
return env1_5(this, _isNativeReflectConstruct_14464() ? global.Reflect.construct(value3, arguments,
env1_6(this).constructor) : value3.apply(this, arguments));
}
function value_14469(a0) { // fn#14469, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1438:787, offset: 0x00e07a61, size: 22 bytes, params: 2, frame: 2
const r1 = a0 ?? ({});
value = environment.__proto__;
}
function value_14470() { // fn#14470, offset: 0x00e07a77, size: 9 bytes, params: 1, frame: 1
return env1_9;
}
function value_14471(a0) { // fn#14471, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1438:884, offset: 0x00e07a80, size: 39 bytes, params: 2, frame: 3
const value = environment.__proto__;
return env1_9[a0]?.shouldSync !== false;
}
function value_14472() { // fn#14472, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1438:981, offset: 0x00e07aa7, size: 31 bytes, params: 1, frame: 3
const value = environment.__proto__;
return env1_9.text?.settings;
}
function value_14473() { // fn#14473, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1438:1077, offset: 0x00e07ac6, size: 32 bytes, params: 1, frame: 3
const value = environment.__proto__;
return env1_9.appearance?.settings;
}
}
function _fun14474() { // fn#14474, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1438:1286, offset: 0x00e07ae6, size: 296 bytes, params: 1, frame: 19
var object;
var object2;
const Storage = (StorageModule).Storage;
const r6 = Storage.get('UserSettingsSync') ?? ({});
const r5 = Storage.get('UserSettingsStore') ?? ({});
Storage.remove('UserSettingsSync');
const object3 = {};
const TEXT = UserSettingsSections.TEXT;
if (r6[TEXT] === false) {
object = {shouldSync: false};
object.settings = (importDefault(22) /* metro dependency 22 */).pick(r5, ['inlineAttachmentMedia',
'inlineEmbedMedia', 'renderEmbeds', 'renderReactions', 'animateEmoji', 'animateStickers', 'gifAutoPlay',
'defaultReactionEmoji']);
object3.text = object;
}
const APPEARANCE = UserSettingsSections.APPEARANCE;
if (r6[APPEARANCE] === false) {
object2 = {shouldSync: false};
object2.settings = (importDefault(22) /* metro dependency 22 */).pick(r5, ['theme', 'clientThemeSettings',
'developerMode']);
object3.appearance = object2;
}
return object3;
}
function SELECTIVELY_SYNCED_USER_SETTINGS_UPDATE({changes}) { // fn#14476, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1438:2068, offset: 0x00e07c9f, size: 192 bytes, params: 2, frame: 22
var r15;
var shouldSync;
var r3;
var propertyName;
var propertyName2;
var property;
var settings;
var binding;
var properties4;
var properties5;
var properties6;
var propertyName3;
var propertyName4;
var settings2;
for (propertyName in changes) {
property = changes[propertyName];
shouldSync = property.shouldSync;
settings = property.settings;
if (shouldSync !== true) {
if (shouldSync !== false) {
continue;
}
binding = env0_9;
binding[propertyName] = {shouldSync: shouldSync, settings: {}};
property = env0_9[propertyName];
if (property == null) {
shouldSync = undefined;
continue;
}
shouldSync = property.shouldSync;
if (shouldSync !== false) {
r15 = propertyName2;
continue;
}
properties4 = Object.keys(settings);
properties5 = 0;
properties6 = properties4.length;
if (properties4 === undefined) {
r15 = propertyName2;
continue;
}
for (r3 = properties5; true; r3 = propertyName4) {
propertyName3 = properties4[r3];
propertyName4 = r3 + 1;
if (propertyName3 === undefined) {
r15 = propertyName2;
break;
}
settings2 = env0_9[propertyName].settings;
settings2[propertyName3] = settings[propertyName3];
}
} else {
delete env0_9[propertyName];
r15 = propertyName2;
}
}
}
}
function _fun14475(a0) { // fn#14475, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1438:1815, offset: 0x00e07c0e, size: 145 bytes, params: 2, frame: 15
var r5;
var theme;
var appearance;
var value2;
var settings;
var object;
var object2;
var object3;
const value = undefined;
if (a0 == null) {
theme = value;
} else {
appearance = a0.appearance;
value2 = appearance == null;
if (value2) {
theme = value;
r5 = value2;
} else {
settings = appearance.settings;
if (settings == null) {
theme = value;
r5 = value2;
} else {
theme = settings.theme;
r5 = value2;
}
}
}
if (theme === 'amoled') {
object = {};
copyDataProperties(object, a0, r5);
object2 = {};
appearance = a0.appearance;
copyDataProperties(object2, appearance, r5);
object3 = {};
appearance = a0.appearance;
copyDataProperties(object3, appearance.settings, r5);
object3['theme'] = 'midnight';
object2['settings'] = object3;
object['appearance'] = object2;
return object;
}
return value;
}
global.__d(_fun14463, 1311, [6, 7, 15, 17, 18, 661, 566, 587, 22, 694,
2]) /* metro module 1311, dependencies: [6, 7, 15, 17, 18, 661, 566, 587, 22, 694, 2] */;