@zextras/carbonio-shell-ui
Version:
The Zextras Carbonio web client
33 lines • 1.41 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.useDarkMode = void 0;
/*
* SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>
*
* SPDX-License-Identifier: AGPL-3.0-only
*/
const react_1 = require("react");
const use_dark_reader_result_value_1 = require("./use-dark-reader-result-value");
const utils_1 = require("./utils");
const useDarkMode = () => {
const darkReaderResultValue = (0, use_dark_reader_result_value_1.useDarkReaderResultValue)();
const [darkModeEnabled, setDarkModeEnabled] = (0, react_1.useState)(false);
(0, react_1.useEffect)(() => {
if (darkReaderResultValue) {
setDarkModeEnabled((darkReaderResultValue === 'auto' && (0, utils_1.getPrefersColorSchemeDarkMedia)().matches) ||
darkReaderResultValue === 'enabled');
}
}, [darkReaderResultValue]);
(0, react_1.useEffect)(() => {
const setCallback = (event) => {
setDarkModeEnabled(event.matches);
};
(0, utils_1.getPrefersColorSchemeDarkMedia)().addEventListener('change', setCallback);
return () => {
(0, utils_1.getPrefersColorSchemeDarkMedia)().removeEventListener('change', setCallback);
};
}, []);
return { darkModeEnabled, darkReaderStatus: darkReaderResultValue };
};
exports.useDarkMode = useDarkMode;
//# sourceMappingURL=use-dark-mode.js.map