@lifi/widget
Version:
LI.FI Widget for cross-chain bridging and swapping. It will drive your multi-chain strategy and attract new users from everywhere.
18 lines • 1.05 kB
JavaScript
import { jsx as _jsx } from "react/jsx-runtime";
import { ThemeProvider as MuiThemeProvider, useColorScheme, } from '@mui/material';
import { useEffect, useMemo } from 'react';
import { createTheme } from '../../themes/createTheme.js';
import { useWidgetConfig } from '../WidgetProvider/WidgetProvider.js';
export const ThemeProvider = ({ children, }) => {
const { appearance: colorSchemeMode, theme: themeConfig } = useWidgetConfig();
const { setMode } = useColorScheme();
// biome-ignore lint/correctness/useExhaustiveDependencies: setMode is stable
useEffect(() => {
if (colorSchemeMode) {
setMode(colorSchemeMode);
}
}, [colorSchemeMode]);
const theme = useMemo(() => createTheme(themeConfig), [themeConfig]);
return (_jsx(MuiThemeProvider, { theme: theme, defaultMode: colorSchemeMode ?? 'system', modeStorageKey: "li.fi-widget-mode", colorSchemeStorageKey: "li.fi-widget-color-scheme", disableTransitionOnChange: true, children: children }));
};
//# sourceMappingURL=ThemeProvider.js.map