decord/source/modules/client_themes/ClientThemesBackgroundStore.tsx

270 lines
9 KiB
TypeScript
Raw Normal View History

2026-08-24 06:08:38 +00:00
// Module ID: 4199
// Function ID: 4200
2026-07-29 08:29:29 +00:00
// Name: isSyncedModeThemesEnabled
2026-08-24 06:08:38 +00:00
// Dependencies: [1303, 1302, 1304, 1340, 1395, 1391, 1922, 1348, 1305, 1367, 4200, 1377, 4223, 4042, 4069, 1366, 4226, 589, 1347, 709, 2]
2026-07-20 16:05:17 +00:00
2026-08-24 06:08:38 +00:00
// Module 4199 (isSyncedModeThemesEnabled)
import initializeDefault from "initialize" /* 589 */;
import dispatcherDefault from "dispatcher" /* 709 */;
import getThemeForColor from "getThemeForColor" /* 1347 */;
import useIsMobileVisualRefreshExperimentEnabled from "useIsMobileVisualRefreshExperimentEnabled" /* 1367 */;
import DismissibleContent from "DismissibleContent" /* 1377 */;
import getPremiumPlanItemDefault from "getPremiumPlanItem" /* 4042 */;
import explicitContentFromProto from "explicitContentFromProto" /* 4069 */;
import UNSAFE_isDismissibleContentDismissed from "UNSAFE_isDismissibleContentDismissed" /* 4200 */;
import closure_5 from "initialize" /* 1303 */;
import closure_6 from "handleThemeChange" /* 1302 */;
import closure_7 from "CHANNEL_SIDEBAR_WIDTH" /* 1304 */;
import closure_8 from "handleConnectionClosedOrResumed" /* 1340 */;
import { isGuildTextChannelType } from "createChannelRecord" /* 1395 */;
import closure_10 from "ensureGuildLoaded" /* 1391 */;
import closure_11 from "mergeGuildAvatar" /* 1922 */;
import { BACKGROUND_GRADIENT_PRESETS_MAP as closure_12 } from "ThemeTypes" /* 1348 */;
import { SystemThemeState } from "SystemThemeState" /* 1305 */;
2026-07-23 10:11:24 +00:00
2026-08-24 06:08:38 +00:00
require = arg1;
2026-07-20 16:05:17 +00:00
function isSyncedModeThemesEnabled() {
2026-08-24 06:08:38 +00:00
return useIsMobileVisualRefreshExperimentEnabled.isMobileVisualRefreshEnabled("ClientThemesBackgroundStore");
2026-07-20 16:05:17 +00:00
}
function reset() {
2026-07-29 08:29:29 +00:00
if (c14) {
2026-08-24 06:08:38 +00:00
c3 = undefined;
2026-07-20 16:05:17 +00:00
}
2026-08-24 06:08:38 +00:00
c16 = false;
c15 = false;
2026-07-20 16:05:17 +00:00
}
function handleUserStoreChange() {
2026-08-24 06:08:38 +00:00
const tmp = !getPremiumPlanItemDefault.canUseClientThemes(currentUser.getCurrentUser());
if (tmp === closure_14) {
2026-07-20 16:05:17 +00:00
return false;
} else {
2026-08-24 06:08:38 +00:00
closure_14 = tmp;
c16 = false;
2026-07-20 16:05:17 +00:00
}
2026-08-24 06:08:38 +00:00
const obj = getPremiumPlanItemDefault;
2026-07-20 16:05:17 +00:00
}
function handleSelectivelySyncedStoreChange() {
2026-08-24 06:08:38 +00:00
const ClientThemeSettings = explicitContentFromProto.ClientThemeSettings;
2026-08-06 08:05:19 +00:00
const backgroundGradientPresetId = ClientThemeSettings.getSetting().backgroundGradientPresetId;
if (null == backgroundGradientPresetId) {
2026-08-24 06:08:38 +00:00
if (null == closure_3) {
2026-07-23 10:11:24 +00:00
return false;
2026-07-20 16:05:17 +00:00
} else {
2026-08-24 06:08:38 +00:00
closure_3 = undefined;
2026-07-20 16:05:17 +00:00
}
2026-08-24 06:08:38 +00:00
} else if (dependencyMap[backgroundGradientPresetId] === closure_3) {
2026-07-20 16:05:17 +00:00
return false;
2026-08-06 08:05:19 +00:00
} else {
2026-08-24 06:08:38 +00:00
closure_3 = tmp2;
2026-07-20 16:05:17 +00:00
}
}
function handleSyncedModeChange() {
2026-08-11 06:20:06 +00:00
return require(1366) /* isPerModeThemingActive */.isPerModeThemingActive(isSyncedModeThemesEnabled);
2026-07-20 16:05:17 +00:00
}
function handleSameAsDeviceThemeToggle() {
2026-08-24 06:08:38 +00:00
return useIsMobileVisualRefreshExperimentEnabled.isMobileVisualRefreshEnabled("ClientThemesBackgroundStore");
2026-07-20 16:05:17 +00:00
}
function handleUserSettingsProtoStoreUpdate() {
2026-08-24 06:08:38 +00:00
const ClientThemeSettings = explicitContentFromProto.ClientThemeSettings;
2026-08-06 08:05:19 +00:00
const backgroundGradientPresetId = ClientThemeSettings.getSetting().backgroundGradientPresetId;
let result = useSystemTheme.useSystemTheme !== SystemThemeState.ON;
if (!result) {
result = null == backgroundGradientPresetId;
}
if (!result) {
2026-08-11 06:20:06 +00:00
let tmpResult = tmp(1366);
2026-08-06 08:05:19 +00:00
result = tmpResult.isPerModeThemingActive(isSyncedModeThemesEnabled);
}
if (!result) {
2026-08-24 06:08:38 +00:00
tmpResult = tmp(4226);
2026-08-06 08:05:19 +00:00
tmpResult.setUseSystemTheme(SystemThemeState.OFF);
}
if (null != backgroundGradientPresetId) {
let tmp11 = null == tmp10;
if (!tmp11) {
let id;
if (user != null) {
id = user.id;
2026-07-20 16:05:17 +00:00
}
2026-08-06 08:05:19 +00:00
let id1;
if (tmp10 != null) {
id1 = tmp10.id;
2026-07-20 16:05:17 +00:00
}
2026-08-06 08:05:19 +00:00
tmp11 = id === id1;
2026-07-20 16:05:17 +00:00
}
2026-08-06 08:05:19 +00:00
if (!tmp11) {
user = tmp10;
}
} else if (null != user) {
user = undefined;
2026-07-20 16:05:17 +00:00
}
}
2026-07-29 08:29:29 +00:00
let c14 = true;
let c15 = false;
2026-08-05 07:35:12 +00:00
let c16 = false;
2026-08-24 06:08:38 +00:00
const PersistedStore = initializeDefault.PersistedStore;
2026-07-29 08:29:29 +00:00
class ClientThemesBackgroundStore extends PersistedStore {
constructor() {
applyArgumentsResult = HermesBuiltin.applyArguments(new.target, new.target);
items = [];
items[0] = (gradientPreset) => {
let gradientPresetId;
if (gradientPreset != null) {
gradientPreset = gradientPreset.gradientPreset;
if (gradientPreset != null) {
gradientPresetId = gradientPreset.id;
2026-07-20 16:05:17 +00:00
}
}
2026-07-29 08:29:29 +00:00
return { gradientPresetId };
};
applyArgumentsResult.migrations = items;
return applyArgumentsResult;
}
}
const prototype = ClientThemesBackgroundStore.prototype;
prototype["initialize"] = function initialize(gradientPresetId) {
2026-08-24 06:08:38 +00:00
c16 = false;
2026-07-29 08:29:29 +00:00
if (null != gradientPresetId) {
2026-08-05 07:35:12 +00:00
let tmp;
if (null != gradientPresetId.gradientPresetId) {
tmp = dependencyMap[gradientPresetId.gradientPresetId];
2026-07-20 16:05:17 +00:00
}
2026-08-24 06:08:38 +00:00
closure_3 = tmp;
closure_14 = true !== gradientPresetId.canUseClientThemes;
2026-07-29 08:29:29 +00:00
}
2026-08-24 06:08:38 +00:00
this.waitFor(closure_10, closure_5, closure_6, closure_7, closure_8, closure_11);
const items = [closure_11];
2026-07-29 08:29:29 +00:00
this.syncWith(items, handleUserStoreChange);
2026-08-24 06:08:38 +00:00
const items1 = [closure_5];
2026-07-29 08:29:29 +00:00
this.syncWith(items1, handleSelectivelySyncedStoreChange);
};
prototype["getState"] = function getState() {
if (c14) {
let obj = {};
} else {
let id;
if (user != null) {
id = user.id;
2026-07-20 16:05:17 +00:00
}
2026-08-05 07:35:12 +00:00
obj = { gradientPresetId: null, canUseClientThemes: true };
2026-07-29 08:29:29 +00:00
obj[0] = id;
}
return obj;
};
Object.defineProperty(prototype, "gradientPreset", {
get: function gradientPreset() {
if (obj.isPerModeThemingActive(isSyncedModeThemesEnabled)) {
2026-08-05 07:35:12 +00:00
if (c14) {
let tmp10;
if (c16) {
tmp10 = closure_3;
}
return tmp10;
} else {
syncedClientTheme = syncedClientTheme.getSyncedClientTheme(syncedClientTheme.systemTheme);
let prop;
if (syncedClientTheme != null) {
prop = syncedClientTheme.backgroundGradientPresetId;
}
let tmp7;
if (null != prop) {
tmp7 = dependencyMap[prop];
}
return tmp7;
2026-07-29 08:29:29 +00:00
}
} else {
return closure_3;
2026-07-20 16:05:17 +00:00
}
2026-08-11 06:20:06 +00:00
obj = require(1366) /* isPerModeThemingActive */;
2026-07-29 08:29:29 +00:00
},
set: undefined
});
prototype["getLinearGradient"] = function getLinearGradient() {
let linearGradientForBackgroundGradient = null;
if (null != this.gradientPreset) {
2026-08-24 06:08:38 +00:00
linearGradientForBackgroundGradient = getThemeForColor.getLinearGradientForBackgroundGradient(tmp.gradientPreset);
const obj = getThemeForColor;
2026-07-29 08:29:29 +00:00
}
return linearGradientForBackgroundGradient;
};
Object.defineProperty(prototype, "isPreview", {
get: function isPreview() {
return c14;
},
set: undefined
});
Object.defineProperty(prototype, "isCoachmark", {
get: function isCoachmark() {
return c15;
},
set: undefined
});
Object.defineProperty(prototype, "mobilePendingThemeIndex", {
get: function mobilePendingThemeIndex() {
return closure_4;
},
set: undefined
});
ClientThemesBackgroundStore.displayName = "ClientThemesBackgroundStore";
ClientThemesBackgroundStore.persistKey = "ClientThemesBackgroundStore";
2026-08-24 06:08:38 +00:00
const clientThemesBackgroundStore = new ClientThemesBackgroundStore(dispatcherDefault, {
2026-07-20 16:05:17 +00:00
UPDATE_BACKGROUND_GRADIENT_PRESET: function handleUpdateBackgroundGradientPreset(presetId) {
presetId = presetId.presetId;
2026-08-24 06:08:38 +00:00
closure_16 = c14;
2026-07-20 16:05:17 +00:00
let tmp;
if (null != presetId) {
2026-07-23 10:11:24 +00:00
tmp = dependencyMap[presetId];
2026-07-20 16:05:17 +00:00
}
2026-08-24 06:08:38 +00:00
closure_3 = tmp;
2026-07-20 16:05:17 +00:00
},
UPDATE_MOBILE_PENDING_THEME_INDEX: function handleUpdateMobilePendingThemeIndex(mobileThemesIndex) {
mobileThemesIndex = mobileThemesIndex.mobileThemesIndex;
let tmp;
if (null != mobileThemesIndex) {
tmp = mobileThemesIndex;
}
2026-08-24 06:08:38 +00:00
mobileThemesIndex = tmp;
2026-07-20 16:05:17 +00:00
},
RESET_PREVIEW_CLIENT_THEME: function handleResetPreviewClientTheme() {
2026-08-24 06:08:38 +00:00
c3 = undefined;
c16 = false;
2026-07-20 16:05:17 +00:00
},
CLIENT_THEMES_EDITOR_CLOSE: reset,
CHANNEL_SELECT: function handleChannelSelect(channelId) {
channelId = channelId.channelId;
if (null != channelId) {
if (null != channelId.guildId) {
2026-08-24 06:08:38 +00:00
if (!obj2.UNSAFE_isDismissibleContentDismissed(DismissibleContent.DismissibleContent.CLIENT_THEMES_COACHMARK)) {
2026-07-29 08:29:29 +00:00
if (tmp6Result.ageEligibleForPremiumUpsell(tmp)) {
2026-07-23 10:11:24 +00:00
channel = channel.getChannel(channelId);
2026-07-29 08:29:29 +00:00
let tmp4 = null != channel;
if (tmp4) {
tmp4 = isGuildTextChannelType(channel.type);
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
if (tmp4) {
2026-08-24 06:08:38 +00:00
c15 = true;
2026-07-20 16:05:17 +00:00
}
}
2026-08-24 06:08:38 +00:00
tmp6Result = tmp6(4223);
2026-07-20 16:05:17 +00:00
}
2026-08-24 06:08:38 +00:00
obj2 = UNSAFE_isDismissibleContentDismissed;
2026-07-29 08:29:29 +00:00
tmp6 = require;
2026-07-20 16:05:17 +00:00
}
}
},
LOGOUT: reset,
CACHE_LOADED: handleUserSettingsProtoStoreUpdate,
CONNECTION_OPEN: handleUserSettingsProtoStoreUpdate,
OVERLAY_INITIALIZE: handleUserSettingsProtoStoreUpdate,
SELECTIVELY_SYNCED_USER_SETTINGS_UPDATE: handleUserSettingsProtoStoreUpdate,
UNSYNCED_USER_SETTINGS_UPDATE: handleUserSettingsProtoStoreUpdate,
USER_SETTINGS_PROTO_UPDATE: handleUserSettingsProtoStoreUpdate,
SYSTEM_THEME_CHANGE: handleSyncedModeChange,
UPDATE_SYNCED_CLIENT_THEME: handleSyncedModeChange,
SET_SAME_AS_DEVICE_THEME_ENABLED: handleSameAsDeviceThemeToggle,
CLEAR_SYNCED_CLIENT_THEMES: handleSameAsDeviceThemeToggle
});
2026-08-24 06:08:38 +00:00
let result = require("set").fileFinishedImporting("modules/client_themes/ClientThemesBackgroundStore.tsx");
2026-07-20 16:05:17 +00:00
2026-07-29 08:29:29 +00:00
export default clientThemesBackgroundStore;