mirror of
https://github.com/facebook/react.git
synced 2025-11-01 09:12:30 +00:00
451736b557
## Summary This pull request aims to improve the maintainability of the codebase by consolidating types and constants that are shared between the backend and frontend. This consolidation will allow us to maintain backwards compatibility in the frontend in the future. To achieve this, we have moved the shared types and constants to the following blessed files: - react-devtools-shared/src/constants - react-devtools-shared/src/types - react-devtools-shared/src/backend/types - react-devtools-shared/src/backend/NativeStyleEditor/types Please note that the inclusion of NativeStyleEditor in this list is temporary, and we plan to remove it once we have a better plugin system in place. ## How did you test this change? I have tested it by running `yarn flow dom-node`, which reports no errors.
29 lines
714 B
JavaScript
29 lines
714 B
JavaScript
/**
|
|
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*
|
|
* @flow
|
|
*/
|
|
|
|
import {useContext, useMemo} from 'react';
|
|
import {SettingsContext} from './Settings/SettingsContext';
|
|
import {THEME_STYLES} from '../constants';
|
|
|
|
const useThemeStyles = (): any => {
|
|
const {theme, displayDensity, browserTheme} = useContext(SettingsContext);
|
|
|
|
const style = useMemo(
|
|
() => ({
|
|
...THEME_STYLES[displayDensity],
|
|
...THEME_STYLES[theme === 'auto' ? browserTheme : theme],
|
|
}),
|
|
[theme, browserTheme, displayDensity],
|
|
);
|
|
|
|
return style;
|
|
};
|
|
|
|
export default useThemeStyles;
|