@zextras/carbonio-shell-ui
Version:
The Zextras Carbonio web client
31 lines • 1.55 kB
JavaScript
;
/*
* SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>
*
* SPDX-License-Identifier: AGPL-3.0-only
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.isDarkReaderPropValues = isDarkReaderPropValues;
exports.useDarkReaderResultValue = useDarkReaderResultValue;
const react_1 = require("react");
const lodash_1 = require("lodash");
const constants_1 = require("../constants");
const account_1 = require("../store/account");
const store_1 = require("../store/login/store");
function isDarkReaderPropValues(maybeDarkReaderPropValue) {
return (typeof maybeDarkReaderPropValue === 'string' &&
constants_1.DARK_READER_VALUES.includes(maybeDarkReaderPropValue));
}
// return the final calculated value between carbonioPrefDarkMode value and carbonioWebUiDarkMode config
function useDarkReaderResultValue() {
const settings = (0, account_1.useUserSettings)();
const carbonioWebUiDarkMode = (0, store_1.useLoginConfigStore)((s) => s.carbonioWebUiDarkMode);
const settingReceived = (0, react_1.useMemo)(() => (0, lodash_1.size)(settings.prefs) > 0 || (0, lodash_1.size)(settings.attrs) > 0 || (0, lodash_1.size)(settings.props) > 0, [settings]);
return (0, react_1.useMemo)(() => {
if (settingReceived) {
return (settings.prefs.carbonioPrefDarkMode || (carbonioWebUiDarkMode && 'enabled') || 'disabled');
}
return undefined;
}, [settingReceived, settings, carbonioWebUiDarkMode]);
}
//# sourceMappingURL=use-dark-reader-result-value.js.map