UNPKG

@zextras/carbonio-shell-ui

Version:

The Zextras Carbonio web client

33 lines 1.41 kB
"use strict"; 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