decord/source/modules/user_settings/ThemeStore.tsx

262 lines
8.1 KiB
TypeScript
Raw Normal View History

2026-07-29 08:29:29 +00:00
// Module ID: 1302
// Function ID: 1303
// Name: handleThemeChange
// Dependencies: [1303, 1304, 1340, 1305, 685, 676, 1339, 1345, 1354, 589, 1355, 709, 2]
2026-07-20 16:05:17 +00:00
2026-07-29 08:29:29 +00:00
// Module 1302 (handleThemeChange)
import initialize from "initialize";
import CHANNEL_SIDEBAR_WIDTH from "CHANNEL_SIDEBAR_WIDTH";
import handleConnectionClosedOrResumed from "handleConnectionClosedOrResumed";
2026-07-23 10:11:24 +00:00
import SystemThemeState from "SystemThemeState";
import { UserSettingsDelay } from "MAX_FAVORITES";
import { ThemeTypes } from "ME";
2026-07-29 08:29:29 +00:00
import { PersistedStore } from "initialize";
2026-07-23 10:11:24 +00:00
2026-07-20 16:05:17 +00:00
let THEME_PREFERENCES_MOBILE;
let THEME_PREFERENCES_WEB_REFRESH;
2026-07-29 08:29:29 +00:00
let closure_6;
2026-07-23 10:11:24 +00:00
const require = arg1;
2026-07-20 16:05:17 +00:00
function handleThemeChange() {
2026-07-29 08:29:29 +00:00
const tmp3 = importDefault(1345)(closure_12, THEME_PREFERENCES_MOBILE);
let flag = tmp3 !== closure_13;
2026-07-20 16:05:17 +00:00
if (flag) {
2026-07-29 08:29:29 +00:00
closure_13 = tmp3;
importDefault(1354)(closure_13);
2026-07-20 16:05:17 +00:00
flag = true;
}
return flag;
}
2026-07-29 08:29:29 +00:00
({ SystemTheme: closure_6, THEME_PREFERENCES_WEB_REFRESH, THEME_PREFERENCES_MOBILE } = SystemThemeState);
2026-07-20 16:05:17 +00:00
let obj = { UNSET: 0, [0]: "UNSET", SET: 1, [1]: "SET" };
const UNSET = obj.UNSET;
2026-07-29 08:29:29 +00:00
let tmp3 = require("getSystemTheme")();
let closure_12 = tmp3;
let closure_13 = THEME_PREFERENCES_MOBILE[tmp3];
let closure_14 = {};
let c15 = false;
class ThemeStore extends PersistedStore {
}
const prototype = ThemeStore.prototype;
prototype["initialize"] = function initialize(theme) {
theme = undefined;
if (theme != null) {
theme = theme.theme;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
if (null != theme) {
const SET = obj.SET;
theme = theme.theme;
importDefault(1354)(theme);
if (null != theme.preferences) {
const preferences = theme.preferences;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
if (null != theme.syncedClientThemes) {
const syncedClientThemes = theme.syncedClientThemes;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
if (null != theme.syncedThemesEnabled) {
const syncedThemesEnabled = theme.syncedThemesEnabled;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
}
this.waitFor(CHANNEL_SIDEBAR_WIDTH, initialize, handleConnectionClosedOrResumed);
};
prototype["getState"] = function getState() {
return { theme: this.theme, preferences: THEME_PREFERENCES_MOBILE, syncedClientThemes: closure_14, syncedThemesEnabled: c15, status: UNSET };
};
Object.defineProperty(prototype, "theme", {
get: function theme(arg0, items) {
return closure_13;
},
set: undefined
});
Object.defineProperty(prototype, "systemTheme", {
get: function systemTheme() {
return closure_12;
},
set: undefined
});
prototype["themePreferenceForSystemTheme"] = function themePreferenceForSystemTheme(closure_0) {
return THEME_PREFERENCES_MOBILE[closure_0];
};
prototype["getSyncedClientTheme"] = function getSyncedClientTheme(systemTheme) {
return dependencyMap[systemTheme];
};
prototype["isSameAsDeviceThemeEnabled"] = function isSameAsDeviceThemeEnabled() {
return c15;
};
ThemeStore.displayName = "ThemeStore";
ThemeStore.persistKey = "ThemeStore";
const items = [
2026-07-20 16:05:17 +00:00
(theme) => {
let str = theme.theme;
if ("amoled" === str) {
str = "midnight";
}
const obj = {};
const merged = Object.assign(theme);
2026-07-29 08:29:29 +00:00
obj.theme = str;
2026-07-20 16:05:17 +00:00
return obj;
},
(preferences) => {
let tmp = preferences;
if (null != preferences.preferences) {
tmp = preferences;
2026-07-23 10:11:24 +00:00
if (preferences.preferences[constants.DARK] === ThemeTypes.DARK) {
2026-07-20 16:05:17 +00:00
let obj = {};
const merged = Object.assign(preferences);
obj = {};
const merged1 = Object.assign(preferences.preferences);
2026-07-29 08:29:29 +00:00
obj[tmp2.DARK] = tmp3.DARKER;
obj.preferences = obj;
2026-07-20 16:05:17 +00:00
tmp = obj;
}
}
return tmp;
}
];
2026-07-29 08:29:29 +00:00
ThemeStore.migrations = items;
2026-07-20 16:05:17 +00:00
obj = {
CACHE_LOADED: handleThemeChange,
CONNECTION_OPEN: function handleConnectionOpen() {
2026-07-29 08:29:29 +00:00
if (darkSidebar.darkSidebar) {
const appearance = settings.settings.appearance;
darkSidebar = undefined;
if (appearance != null) {
darkSidebar = appearance.darkSidebar;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
if (!darkSidebar) {
const PreloadedUserSettingsActionCreators = require(1355) /* updateUserGuildSettings */.PreloadedUserSettingsActionCreators;
PreloadedUserSettingsActionCreators.updateAsync("appearance", (arg0) => {
arg0.darkSidebar = true;
}, UserSettingsDelay.INFREQUENT_USER_ACTION);
}
importDefault(709).wait(() => {
callback(table[11]).dispatch({ type: "UNSYNCED_USER_SETTINGS_UPDATE", settings: { darkSidebar: false } });
});
const obj = importDefault(709);
}
const tmp13 = importDefault(1345)(closure_12, THEME_PREFERENCES_MOBILE);
let flag = tmp13 !== closure_13;
if (flag) {
closure_13 = tmp13;
importDefault(1354)(closure_13);
flag = true;
}
return flag;
2026-07-20 16:05:17 +00:00
},
LOGOUT: function handleLogOut(isSwitchingAccount) {
2026-07-29 08:29:29 +00:00
let closure_14 = {};
let c15 = false;
isSwitchingAccount = isSwitchingAccount.isSwitchingAccount;
let tmp = !isSwitchingAccount;
if (!isSwitchingAccount) {
const tmp6 = importDefault(1345)(closure_12, THEME_PREFERENCES_MOBILE);
let flag = tmp6 !== closure_13;
if (flag) {
closure_13 = tmp6;
tmp2(1354)(closure_13);
flag = true;
}
tmp = flag;
tmp2 = importDefault;
2026-07-20 16:05:17 +00:00
}
return tmp;
},
OVERLAY_INITIALIZE: handleThemeChange,
SELECTIVELY_SYNCED_USER_SETTINGS_UPDATE: function handleSelectivelySyncedUserSettingsUpdate() {
2026-07-29 08:29:29 +00:00
const tmp3 = importDefault(1345)(closure_12, THEME_PREFERENCES_MOBILE);
let flag = tmp3 !== closure_13;
if (flag) {
closure_13 = tmp3;
importDefault(1354)(closure_13);
flag = true;
}
return flag;
2026-07-20 16:05:17 +00:00
},
UNSYNCED_USER_SETTINGS_UPDATE: handleThemeChange,
USER_SETTINGS_PROTO_UPDATE: handleThemeChange,
RESET_PREVIEW_CLIENT_THEME: handleThemeChange,
SYSTEM_THEME_CHANGE: function handleSystemThemeChange(systemTheme) {
2026-07-23 10:11:24 +00:00
systemTheme = systemTheme.systemTheme;
2026-07-29 08:29:29 +00:00
const tmp3 = importDefault(1345)(systemTheme, THEME_PREFERENCES_MOBILE);
let flag = tmp3 !== closure_13;
if (flag) {
closure_13 = tmp3;
importDefault(1354)(closure_13);
flag = true;
}
return flag;
2026-07-20 16:05:17 +00:00
},
UPDATE_THEME_PREFERENCES: function handleUpdateThemePreferences(preferences) {
2026-07-23 10:11:24 +00:00
const obj = {};
const merged = Object.assign(obj);
2026-07-20 16:05:17 +00:00
const merged1 = Object.assign(preferences.preferences);
2026-07-29 08:29:29 +00:00
const tmp5 = importDefault(1345)(closure_12, obj);
let flag = tmp5 !== closure_13;
if (flag) {
closure_13 = tmp5;
importDefault(1354)(closure_13);
flag = true;
}
return flag;
2026-07-20 16:05:17 +00:00
},
UPDATE_SYNCED_CLIENT_THEME: function handleUpdateSyncedClientTheme(systemTheme) {
const obj = {};
2026-07-23 10:11:24 +00:00
const merged = Object.assign(obj);
2026-07-20 16:05:17 +00:00
obj[systemTheme.systemTheme] = systemTheme.clientTheme;
return true;
},
SET_SAME_AS_DEVICE_THEME_ENABLED: function handleSetSameAsDeviceThemeEnabled(enabled) {
let flag = enabled !== enabled.enabled;
if (flag) {
enabled = enabled.enabled;
flag = true;
}
return flag;
},
CLEAR_SYNCED_CLIENT_THEMES: function handleClearSyncedClientThemes() {
2026-07-29 08:29:29 +00:00
let tmp = c15;
if (!c15) {
2026-07-23 10:11:24 +00:00
tmp = null != dependencyMap[constants.LIGHT];
2026-07-20 16:05:17 +00:00
}
if (!tmp) {
2026-07-23 10:11:24 +00:00
tmp = null != dependencyMap[constants.DARK];
2026-07-20 16:05:17 +00:00
}
2026-07-23 10:11:24 +00:00
dependencyMap = {};
2026-07-29 08:29:29 +00:00
c15 = false;
2026-07-20 16:05:17 +00:00
return tmp;
},
SET_THEME_OVERRIDE: function handleSetThemeOverride(arg0) {
2026-07-29 08:29:29 +00:00
const tmp3 = importDefault(1345)(closure_12, THEME_PREFERENCES_MOBILE);
let flag = tmp3 !== closure_13;
if (flag) {
closure_13 = tmp3;
importDefault(1354)(closure_13);
flag = true;
}
return flag;
2026-07-20 16:05:17 +00:00
},
CLEAR_THEME_OVERRIDE: function handleClearThemeOverride() {
2026-07-29 08:29:29 +00:00
const tmp3 = importDefault(1345)(closure_12, THEME_PREFERENCES_MOBILE);
let flag = tmp3 !== closure_13;
if (flag) {
closure_13 = tmp3;
importDefault(1354)(closure_13);
flag = true;
}
return flag;
2026-07-20 16:05:17 +00:00
},
REFRESH_THEME: function handleRefresh() {
2026-07-29 08:29:29 +00:00
const tmp3 = importDefault(1345)(closure_12, THEME_PREFERENCES_MOBILE);
let flag = tmp3 !== closure_13;
if (flag) {
closure_13 = tmp3;
importDefault(1354)(closure_13);
flag = true;
}
return flag;
2026-07-20 16:05:17 +00:00
}
};
2026-07-29 08:29:29 +00:00
const themeStore = new ThemeStore(require("dispatcher"), obj);
const result = require("handleConnectionClosedOrResumed").fileFinishedImporting("modules/user_settings/ThemeStore.tsx");
2026-07-20 16:05:17 +00:00
2026-07-29 08:29:29 +00:00
export default themeStore;