import React from 'react'; import config, { Settings } from 'app/core/config'; import { GrafanaTheme } from '@grafana/ui'; export const ConfigContext = React.createContext(config); export const ConfigConsumer = ConfigContext.Consumer; export const provideConfig = (component: React.ComponentType) => { const ConfigProvider = (props: any) => ( {React.createElement(component, { ...props })} ); return ConfigProvider; }; interface ThemeProviderProps { children: (theme: GrafanaTheme) => JSX.Element; } export const ThemeProvider = ({ children }: ThemeProviderProps) => { return ( {({ bootData }) => { return children(bootData.user.lightTheme ? GrafanaTheme.Light : GrafanaTheme.Dark); }} ); };