Files
react/packages/react-devtools-shared/src/devtools/views/Settings/SettingsModalContext.js
T
Sebastian MarkbågeandGitHub 09348798a9 Codemod to import * as React from "react"; (#18102)
* import * as React from "react";

This is the correct way to import React from an ES module since the ES
module will not have a default export. Only named exports.

* import * as ReactDOM from "react-dom"
2020-02-21 19:45:20 -08:00

41 lines
1.1 KiB
JavaScript

/**
* Copyright (c) Facebook, Inc. and its 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 * as React from 'react';
import {createContext, useMemo, useState} from 'react';
export type DisplayDensity = 'comfortable' | 'compact';
export type Theme = 'auto' | 'light' | 'dark';
type Context = {
isModalShowing: boolean,
setIsModalShowing: (value: boolean) => void,
...
};
const SettingsModalContext = createContext<Context>(((null: any): Context));
SettingsModalContext.displayName = 'SettingsModalContext';
function SettingsModalContextController({children}: {|children: React$Node|}) {
const [isModalShowing, setIsModalShowing] = useState<boolean>(false);
const value = useMemo(() => ({isModalShowing, setIsModalShowing}), [
isModalShowing,
setIsModalShowing,
]);
return (
<SettingsModalContext.Provider value={value}>
{children}
</SettingsModalContext.Provider>
);
}
export {SettingsModalContext, SettingsModalContextController};