@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.
28 lines • 1.74 kB
JavaScript
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
import { Fragment } from 'react';
import { MemoryRouter, useInRouterContext, } from 'react-router-dom';
import { PageEntered } from './components/PageEntered.js';
import { I18nProvider } from './providers/I18nProvider/I18nProvider.js';
import { QueryClientProvider } from './providers/QueryClientProvider.js';
import { ThemeProvider } from './providers/ThemeProvider/ThemeProvider.js';
import { WalletProvider } from './providers/WalletProvider/WalletProvider.js';
import { useWidgetConfig, WidgetProvider, } from './providers/WidgetProvider/WidgetProvider.js';
import { URLSearchParamsBuilder } from './stores/form/URLSearchParamsBuilder.js';
import { StoreProvider } from './stores/StoreProvider.js';
export const AppProvider = ({ children, config, formRef, }) => {
return (_jsx(QueryClientProvider, { children: _jsx(WidgetProvider, { config: config, children: _jsx(I18nProvider, { children: _jsx(ThemeProvider, { children: _jsx(WalletProvider, { children: _jsx(StoreProvider, { config: config, formRef: formRef, children: _jsx(AppRouter, { children: children }) }) }) }) }) }) }));
};
const memoryRouterProps = {
future: {
v7_startTransition: true,
v7_relativeSplatPath: true,
},
};
export const AppRouter = ({ children }) => {
const { buildUrl } = useWidgetConfig();
const inRouterContext = useInRouterContext();
const Router = inRouterContext ? Fragment : MemoryRouter;
const routerProps = inRouterContext ? undefined : memoryRouterProps;
return (_jsxs(Router, { ...routerProps, children: [children, buildUrl ? _jsx(URLSearchParamsBuilder, {}) : null, _jsx(PageEntered, {})] }));
};
//# sourceMappingURL=AppProvider.js.map