decord/source/modules/client_themes/ClientThemesBackgroundStore.tsx
2026-08-27 16:17:25 +00:00

269 lines
9 KiB
TypeScript

// Module ID: 4265
// Function ID: 4266
// Name: isSyncedModeThemesEnabled
// Dependencies: [1303, 1302, 1304, 1340, 1395, 1391, 1922, 1348, 1305, 1367, 4266, 1377, 4289, 4107, 4134, 1366, 4292, 589, 1347, 709, 2]
// Module 4265 (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" /* 4107 */;
import explicitContentFromProto from "explicitContentFromProto" /* 4134 */;
import UNSAFE_isDismissibleContentDismissed from "UNSAFE_isDismissibleContentDismissed" /* 4266 */;
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 */;
require = arg1;
function isSyncedModeThemesEnabled() {
return useIsMobileVisualRefreshExperimentEnabled.isMobileVisualRefreshEnabled("ClientThemesBackgroundStore");
}
function reset() {
if (c14) {
c3 = undefined;
}
c16 = false;
c15 = false;
}
function handleUserStoreChange() {
const tmp = !getPremiumPlanItemDefault.canUseClientThemes(currentUser.getCurrentUser());
if (tmp === closure_14) {
return false;
} else {
closure_14 = tmp;
c16 = false;
}
const obj = getPremiumPlanItemDefault;
}
function handleSelectivelySyncedStoreChange() {
const ClientThemeSettings = explicitContentFromProto.ClientThemeSettings;
const backgroundGradientPresetId = ClientThemeSettings.getSetting().backgroundGradientPresetId;
if (null == backgroundGradientPresetId) {
if (null == closure_3) {
return false;
} else {
closure_3 = undefined;
}
} else if (dependencyMap[backgroundGradientPresetId] === closure_3) {
return false;
} else {
closure_3 = tmp2;
}
}
function handleSyncedModeChange() {
return require(1366) /* isPerModeThemingActive */.isPerModeThemingActive(isSyncedModeThemesEnabled);
}
function handleSameAsDeviceThemeToggle() {
return useIsMobileVisualRefreshExperimentEnabled.isMobileVisualRefreshEnabled("ClientThemesBackgroundStore");
}
function handleUserSettingsProtoStoreUpdate() {
const ClientThemeSettings = explicitContentFromProto.ClientThemeSettings;
const backgroundGradientPresetId = ClientThemeSettings.getSetting().backgroundGradientPresetId;
let result = useSystemTheme.useSystemTheme !== SystemThemeState.ON;
if (!result) {
result = null == backgroundGradientPresetId;
}
if (!result) {
let tmpResult = tmp(1366);
result = tmpResult.isPerModeThemingActive(isSyncedModeThemesEnabled);
}
if (!result) {
tmpResult = tmp(4292);
tmpResult.setUseSystemTheme(SystemThemeState.OFF);
}
if (null != backgroundGradientPresetId) {
let tmp11 = null == tmp10;
if (!tmp11) {
let id;
if (user != null) {
id = user.id;
}
let id1;
if (tmp10 != null) {
id1 = tmp10.id;
}
tmp11 = id === id1;
}
if (!tmp11) {
user = tmp10;
}
} else if (null != user) {
user = undefined;
}
}
let c14 = true;
let c15 = false;
let c16 = false;
const PersistedStore = initializeDefault.PersistedStore;
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;
}
}
return { gradientPresetId };
};
applyArgumentsResult.migrations = items;
return applyArgumentsResult;
}
}
const prototype = ClientThemesBackgroundStore.prototype;
prototype["initialize"] = function initialize(gradientPresetId) {
c16 = false;
if (null != gradientPresetId) {
let tmp;
if (null != gradientPresetId.gradientPresetId) {
tmp = dependencyMap[gradientPresetId.gradientPresetId];
}
closure_3 = tmp;
closure_14 = true !== gradientPresetId.canUseClientThemes;
}
this.waitFor(closure_10, closure_5, closure_6, closure_7, closure_8, closure_11);
const items = [closure_11];
this.syncWith(items, handleUserStoreChange);
const items1 = [closure_5];
this.syncWith(items1, handleSelectivelySyncedStoreChange);
};
prototype["getState"] = function getState() {
if (c14) {
let obj = {};
} else {
let id;
if (user != null) {
id = user.id;
}
obj = { gradientPresetId: null, canUseClientThemes: true };
obj[0] = id;
}
return obj;
};
Object.defineProperty(prototype, "gradientPreset", {
get: function gradientPreset() {
if (obj.isPerModeThemingActive(isSyncedModeThemesEnabled)) {
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;
}
} else {
return closure_3;
}
obj = require(1366) /* isPerModeThemingActive */;
},
set: undefined
});
prototype["getLinearGradient"] = function getLinearGradient() {
let linearGradientForBackgroundGradient = null;
if (null != this.gradientPreset) {
linearGradientForBackgroundGradient = getThemeForColor.getLinearGradientForBackgroundGradient(tmp.gradientPreset);
const obj = getThemeForColor;
}
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";
const clientThemesBackgroundStore = new ClientThemesBackgroundStore(dispatcherDefault, {
UPDATE_BACKGROUND_GRADIENT_PRESET: function handleUpdateBackgroundGradientPreset(presetId) {
presetId = presetId.presetId;
closure_16 = c14;
let tmp;
if (null != presetId) {
tmp = dependencyMap[presetId];
}
closure_3 = tmp;
},
UPDATE_MOBILE_PENDING_THEME_INDEX: function handleUpdateMobilePendingThemeIndex(mobileThemesIndex) {
mobileThemesIndex = mobileThemesIndex.mobileThemesIndex;
let tmp;
if (null != mobileThemesIndex) {
tmp = mobileThemesIndex;
}
mobileThemesIndex = tmp;
},
RESET_PREVIEW_CLIENT_THEME: function handleResetPreviewClientTheme() {
c3 = undefined;
c16 = false;
},
CLIENT_THEMES_EDITOR_CLOSE: reset,
CHANNEL_SELECT: function handleChannelSelect(channelId) {
channelId = channelId.channelId;
if (null != channelId) {
if (null != channelId.guildId) {
if (!obj2.UNSAFE_isDismissibleContentDismissed(DismissibleContent.DismissibleContent.CLIENT_THEMES_COACHMARK)) {
if (tmp6Result.ageEligibleForPremiumUpsell(tmp)) {
channel = channel.getChannel(channelId);
let tmp4 = null != channel;
if (tmp4) {
tmp4 = isGuildTextChannelType(channel.type);
}
if (tmp4) {
c15 = true;
}
}
tmp6Result = tmp6(4289);
}
obj2 = UNSAFE_isDismissibleContentDismissed;
tmp6 = require;
}
}
},
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
});
let result = require("set").fileFinishedImporting("modules/client_themes/ClientThemesBackgroundStore.tsx");
export default clientThemesBackgroundStore;