// Module ID: 4195 // Function ID: 4196 // Name: isSyncedModeThemesEnabled // Dependencies: [1303, 1302, 1304, 1340, 1395, 1391, 1922, 1348, 1305, 1367, 4196, 1377, 4219, 4039, 4066, 1366, 4222, 589, 1347, 709, 2] // Module 4195 (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(1367) /* useIsMobileVisualRefreshExperimentEnabled */.isMobileVisualRefreshEnabled("ClientThemesBackgroundStore"); } function reset() { if (c14) { let c3; } let c16 = false; let c15 = false; } function handleUserStoreChange() { const tmp = !importDefault(4039).canUseClientThemes(currentUser.getCurrentUser()); if (tmp === c14) { return false; } else { c14 = tmp; let c16 = false; } const obj = importDefault(4039); } function handleSelectivelySyncedStoreChange() { const ClientThemeSettings = require(4066) /* 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 = tmp2; } } function handleSyncedModeChange() { return require(1366) /* isPerModeThemingActive */.isPerModeThemingActive(isSyncedModeThemesEnabled); } function handleSameAsDeviceThemeToggle() { return require(1367) /* useIsMobileVisualRefreshExperimentEnabled */.isMobileVisualRefreshEnabled("ClientThemesBackgroundStore"); } function handleUserSettingsProtoStoreUpdate() { const ClientThemeSettings = require(4066) /* 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(4222); 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; 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(1366) /* isPerModeThemingActive */; }, set: undefined }); prototype["getLinearGradient"] = function getLinearGradient() { let linearGradientForBackgroundGradient = null; if (null != this.gradientPreset) { linearGradientForBackgroundGradient = require(1347) /* getThemeForColor */.getLinearGradientForBackgroundGradient(tmp.gradientPreset); const obj = require(1347) /* 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(1377) /* 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(4219); } obj2 = require(4196) /* 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;