Files
discord-decomp/actions/UserSettingsActionCreators.tsx
T
2026-11-01 12:12:55 +02:00

234 lines
8.4 KiB
TypeScript

// Metro module 6206 (f6207).
import ClientThemesBackgroundStore from "../modules/client_themes/ClientThemesBackgroundStore";
import SelectivelySyncedUserSettingsStore from "../modules/user_settings/SelectivelySyncedUserSettingsStore";
import ThemeStore from "../modules/user_settings/ThemeStore";
import { ThemeTypes } from "../Constants";
import { SystemThemeState, SystemTheme } from "../modules/user_settings/ThemeConstants";
import { PreloadedUserSettingsActionCreators, UserSettingsDelay } from "../modules/user_settings/UserSettingsProtoActionCreators";
import { Theme, GuildFolder } from "../_bundle/Module1306";
import { UInt32Value, StringValue, Int64Value, UInt64Value } from "../_bundle/Module1337";
import Dispatcher from "../Dispatcher";
import { InlineAttachmentMedia, InlineEmbedMedia, RenderEmbeds, RenderReactions, AnimateEmoji, AnimateStickers, GifAutoPlay, ClientThemeSettings, DeveloperMode } from "../modules/user_settings/UserSettings";
SystemTheme;
const r28 = {
overrideLocale: (a0) => {
Dispatcher.dispatch({
type: "USER_SETTINGS_LOCALE_OVERRIDE",
locale: a0
});
},
updatedUnsyncedSettings: (a0) => {
Dispatcher.dispatch({
type: "UNSYNCED_USER_SETTINGS_UPDATE",
settings: a0
});
},
setShouldSyncTextSettings: (a0) => {
Dispatcher.dispatch({
type: "SELECTIVELY_SYNCED_USER_SETTINGS_UPDATE",
changes: {
text: {
shouldSync: a0,
settings: a0 ? {} : {
inlineAttachmentMedia: InlineAttachmentMedia.getSetting(),
inlineEmbedMedia: InlineEmbedMedia.getSetting(),
renderEmbeds: RenderEmbeds.getSetting(),
renderReactions: RenderReactions.getSetting(),
animateEmoji: AnimateEmoji.getSetting(),
animateStickers: AnimateStickers.getSetting(),
gifAutoPlay: GifAutoPlay.getSetting()
}
}
}
});
},
setShouldSyncAppearanceSettings: async (c15571_0) => {
let c25743_0;
let c25743_2 = 0;
const r10 = void 0;
L23: {
try {
c25743_0 = r10;
if (c15571_0) {
c25743_2 = 1;
await PreloadedUserSettingsActionCreators.updateAsync("appearance", (a0) => {
a0.theme = ThemeTypes.DARK === ThemeStore.theme ? Theme.DARK : ThemeTypes.LIGHT === ThemeStore.theme ? Theme.LIGHT : ThemeTypes.DARKER === ThemeStore.theme ? Theme.DARKER : ThemeTypes.MIDNIGHT === ThemeStore.theme ? Theme.MIDNIGHT : Theme.DARK;
const id = ClientThemesBackgroundStore.gradientPreset?.id;
const customUserThemeSettings2 = ClientThemeSettings.getSetting()?.customUserThemeSettings;
a0.clientThemeSettings = {
backgroundGradientPresetId: id != null ? UInt32Value.create({
value: id
}) : void 0,
customUserThemeSettings: customUserThemeSettings2 != null ? {
colors: customUserThemeSettings2.colors,
gradientColorStops: customUserThemeSettings2.gradientColorStops,
gradientAngle: customUserThemeSettings2.gradientAngle,
baseMix: customUserThemeSettings2.baseMix
} : void 0
};
}, UserSettingsDelay.INFREQUENT_USER_ACTION);
c25743_2 = 0;
Dispatcher.dispatch({
type: "SELECTIVELY_SYNCED_USER_SETTINGS_UPDATE",
changes: {
appearance: {
shouldSync: c15571_0,
settings: c15571_0 ? {} : {
theme: ThemeStore.theme,
clientThemeSettings: {
backgroundGradientPresetId: ClientThemesBackgroundStore.gradientPreset?.id
},
developerMode: DeveloperMode.getSetting()
}
}
}
});
break L23;
}
Dispatcher.dispatch({
type: "SELECTIVELY_SYNCED_USER_SETTINGS_UPDATE",
changes: {
appearance: {
shouldSync: c15571_0,
settings: c15571_0 ? {} : {
theme: ThemeStore.theme,
clientThemeSettings: {
backgroundGradientPresetId: ClientThemesBackgroundStore.gradientPreset?.id
},
developerMode: DeveloperMode.getSetting()
}
}
}
});
} catch ($e) {
let r29 = $e;
if (c25743_2 !== 0) {
while (true) {
try {
c25743_2 = 0;
} catch ($e) {
r29 = $e;
if (c25743_2 === 0) {
break;
}
continue;
}
return void 0;
}
}
throw r29;
}
return void 0;
}
},
applySettingsOverride: (a0) => {
Dispatcher.dispatch({
type: "USER_SETTINGS_OVERRIDE_APPLY",
settings: a0
});
},
clearSettingsOverride: function clearSettingsOverride() {
Dispatcher.dispatch({
type: "USER_SETTINGS_OVERRIDE_CLEAR",
settings: Array.prototype.slice.call(arguments, 0)
});
},
updateLocale: (value) => PreloadedUserSettingsActionCreators.updateAsync("localization", (a0) => {
a0.locale = StringValue.create({
value
});
}, UserSettingsDelay.INFREQUENT_USER_ACTION),
updateTheme: (a0) => {
let c15573_0 = a0;
Dispatcher.dispatch({
type: "SELECTIVELY_SYNCED_USER_SETTINGS_UPDATE",
changes: {
appearance: {
settings: {
theme: a0
}
}
}
});
if (SelectivelySyncedUserSettingsStore.shouldSync("appearance")) {
PreloadedUserSettingsActionCreators.updateAsync("appearance", (a0) => {
a0.theme = ThemeTypes.DARK === c15573_0 ? Theme.DARK : ThemeTypes.LIGHT === c15573_0 ? Theme.LIGHT : ThemeTypes.DARKER === c15573_0 ? Theme.DARKER : ThemeTypes.MIDNIGHT === c15573_0 ? Theme.MIDNIGHT : Theme.DARK;
}, UserSettingsDelay.INFREQUENT_USER_ACTION);
}
}
};
export default r28;
export function saveGuildFolders(c15574_0) {
return PreloadedUserSettingsActionCreators.updateAsync("guildFolders", (a0) => {
a0.folders = c15574_0.map((item) => {
const r15 = GuildFolder.create({
guildIds: item.guildIds
});
if (item.folderId != null) {
r15.id = Int64Value.create({
value: String(item.folderId)
});
}
if (item.folderColor != null) {
r15.color = UInt64Value.create({
value: String(item.folderColor)
});
}
if (item.folderName != null && item.folderName !== "") {
r15.name = StringValue.create({
value: String(item.folderName)
});
}
return r15;
});
}, UserSettingsDelay.FREQUENT_USER_ACTION);
}
export function saveClientTheme(a0) {
const { backgroundGradientPresetId, customUserThemeSettings, theme, useSystemTheme } = a0;
let r7 = arguments[1];
if (r7 === void 0) {
r7 = UserSettingsDelay.INFREQUENT_USER_ACTION;
}
const r2 = theme === "system";
let useSystemTheme2 = r2 ? SystemThemeState.ON : SystemThemeState.OFF;
if (useSystemTheme != null) {
useSystemTheme2 = useSystemTheme;
}
Dispatcher.dispatch({
type: "UNSYNCED_USER_SETTINGS_UPDATE",
settings: {
useSystemTheme: useSystemTheme2
}
});
Dispatcher.dispatch({
type: "SELECTIVELY_SYNCED_USER_SETTINGS_UPDATE",
changes: {
appearance: {
settings: {
clientThemeSettings: {
backgroundGradientPresetId,
customUserThemeSettings
},
theme: r2 ? void 0 : theme
}
}
}
});
if (SelectivelySyncedUserSettingsStore.shouldSync("appearance")) {
return PreloadedUserSettingsActionCreators.updateAsync("appearance", (a0) => {
a0.theme = ThemeTypes.DARK === theme ? Theme.DARK : ThemeTypes.LIGHT === theme ? Theme.LIGHT : ThemeTypes.DARKER === theme ? Theme.DARKER : ThemeTypes.MIDNIGHT === theme ? Theme.MIDNIGHT : Theme.DARK;
a0.clientThemeSettings = {
backgroundGradientPresetId: backgroundGradientPresetId != null ? UInt32Value.create({
value: backgroundGradientPresetId
}) : void 0,
customUserThemeSettings: customUserThemeSettings != null ? {
colors: customUserThemeSettings.colors,
gradientColorStops: customUserThemeSettings.gradientColorStops,
gradientAngle: customUserThemeSettings.gradientAngle,
baseMix: customUserThemeSettings.baseMix
} : void 0
};
}, r7);
}
}