decord/source/modules/client_themes/ClientThemesBackgroundStore.tsx
2026-08-05 07:35:12 +00:00

269 lines
8.8 KiB
TypeScript

// Module ID: 4067
// Function ID: 4068
// Name: isSyncedModeThemesEnabled
// Dependencies: [1303, 1302, 1304, 1340, 1376, 1372, 1874, 4068, 1305, 1348, 4071, 1358, 4094, 3901, 3928, 1347, 4097, 589, 4098, 709, 2]
// Module 4067 (isSyncedModeThemesEnabled)
import initialize from "initialize";
import handleThemeChange from "handleThemeChange";
import CHANNEL_SIDEBAR_WIDTH from "CHANNEL_SIDEBAR_WIDTH";
import handleConnectionClosedOrResumed from "handleConnectionClosedOrResumed";
import { isGuildTextChannelType } from "createChannelRecord";
import ensureGuildLoaded from "ensureGuildLoaded";
import mergeGuildAvatar from "mergeGuildAvatar";
import { BACKGROUND_GRADIENT_PRESETS_MAP as closure_12 } from "ThemeTypes";
import { SystemThemeState } from "SystemThemeState";
import { PersistedStore } from "initialize";
const require = arg1;
function isSyncedModeThemesEnabled() {
return require(1348) /* useIsMobileVisualRefreshExperimentEnabled */.isMobileVisualRefreshEnabled("ClientThemesBackgroundStore");
}
function reset() {
if (c14) {
let c3;
}
let c16 = false;
let c15 = false;
}
function handleUserStoreChange() {
const tmp = !importDefault(3901).canUseClientThemes(currentUser.getCurrentUser());
if (tmp === c14) {
return false;
} else {
c14 = tmp;
let c16 = false;
}
const obj = importDefault(3901);
}
function handleSelectivelySyncedStoreChange() {
if (initialize.shouldSync("appearance")) {
const ClientThemeSettings = require(3928) /* explicitContentFromProto */.ClientThemeSettings;
const backgroundGradientPresetId = ClientThemeSettings.getSetting().backgroundGradientPresetId;
if (null == backgroundGradientPresetId) {
if (null == c3) {
return false;
} else {
c3 = undefined;
}
} else if (dependencyMap[backgroundGradientPresetId] === c3) {
return false;
} else {
c3 = tmp5;
}
} else {
return false;
}
}
function handleSyncedModeChange() {
return require(1347) /* isPerModeThemingActive */.isPerModeThemingActive(isSyncedModeThemesEnabled);
}
function handleSameAsDeviceThemeToggle() {
return require(1348) /* useIsMobileVisualRefreshExperimentEnabled */.isMobileVisualRefreshEnabled("ClientThemesBackgroundStore");
}
function handleUserSettingsProtoStoreUpdate() {
if (initialize.shouldSync("appearance")) {
const ClientThemeSettings = require(3928) /* explicitContentFromProto */.ClientThemeSettings;
const backgroundGradientPresetId = ClientThemeSettings.getSetting().backgroundGradientPresetId;
let result = useSystemTheme.useSystemTheme !== SystemThemeState.ON;
if (!result) {
result = null == backgroundGradientPresetId;
}
if (!result) {
let tmpResult = tmp(1347);
result = tmpResult.isPerModeThemingActive(isSyncedModeThemesEnabled);
}
if (!result) {
tmpResult = tmp(4097);
tmpResult.setUseSystemTheme(SystemThemeState.OFF);
}
if (null != backgroundGradientPresetId) {
let tmp13 = null == tmp12;
if (!tmp13) {
let id;
if (user != null) {
id = user.id;
}
let id1;
if (tmp12 != null) {
id1 = tmp12.id;
}
tmp13 = id === id1;
}
if (!tmp13) {
user = tmp12;
}
} else if (null != user) {
user = undefined;
}
} else {
return false;
}
}
let c14 = true;
let c15 = false;
let c16 = false;
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) {
let c16 = false;
if (null != gradientPresetId) {
let tmp;
if (null != gradientPresetId.gradientPresetId) {
tmp = dependencyMap[gradientPresetId.gradientPresetId];
}
let closure_3 = tmp;
let closure_14 = true !== gradientPresetId.canUseClientThemes;
}
this.waitFor(ensureGuildLoaded, initialize, handleThemeChange, CHANNEL_SIDEBAR_WIDTH, handleConnectionClosedOrResumed, mergeGuildAvatar);
const items = [mergeGuildAvatar];
this.syncWith(items, handleUserStoreChange);
const items1 = [initialize];
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(1347) /* isPerModeThemingActive */;
},
set: undefined
});
prototype["getLinearGradient"] = function getLinearGradient() {
let linearGradientForBackgroundGradient = null;
if (null != this.gradientPreset) {
linearGradientForBackgroundGradient = require(4098) /* getThemeForColor */.getLinearGradientForBackgroundGradient(tmp.gradientPreset);
const obj = require(4098) /* 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(require("dispatcher"), {
UPDATE_BACKGROUND_GRADIENT_PRESET: function handleUpdateBackgroundGradientPreset(presetId) {
presetId = presetId.presetId;
let closure_16 = c14;
let tmp;
if (null != presetId) {
tmp = dependencyMap[presetId];
}
let closure_3 = tmp;
},
UPDATE_MOBILE_PENDING_THEME_INDEX: function handleUpdateMobilePendingThemeIndex(mobileThemesIndex) {
mobileThemesIndex = mobileThemesIndex.mobileThemesIndex;
let tmp;
if (null != mobileThemesIndex) {
tmp = mobileThemesIndex;
}
let closure_4 = tmp;
},
RESET_PREVIEW_CLIENT_THEME: function handleResetPreviewClientTheme() {
let c3;
let 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(require(1358) /* 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) {
let c15 = true;
}
}
tmp6Result = tmp6(4094);
}
obj2 = require(4071) /* 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("CHANNEL_SIDEBAR_WIDTH").fileFinishedImporting("modules/client_themes/ClientThemesBackgroundStore.tsx");
export default clientThemesBackgroundStore;