stackpress
Version:
Incept is a content management framework.
15 lines (14 loc) • 1.04 kB
JavaScript
import { jsx as _jsx } from "react/jsx-runtime";
import { R22nProvider } from 'r22n';
import ServerProvider from '../server/ServerProvider.js';
import ModalProvider from '../modal/ModalProvider.js';
import NotifyProvider from '../notify/NotifyProvider.js';
import ThemeProvider from '../theme/ThemeProvider.js';
export default function LayoutProvider(props) {
const { data, session, request, response, children } = props || {};
const { languages = {}, locale = 'en_US' } = data?.language || {};
const { label = 'EN', translations = {} } = languages[locale] || {};
const notify = data?.view?.notify;
const theme = request?.session?.theme || 'light';
return (_jsx(ServerProvider, { data: data, session: session, request: request, response: response, children: _jsx(R22nProvider, { language: label, translations: translations, children: _jsx(ThemeProvider, { theme: theme, children: _jsx(NotifyProvider, { config: notify, children: _jsx(ModalProvider, { className: "layout-modal", children: children }) }) }) }) }));
}