stackpress
Version:
Incept is a content management framework.
19 lines (18 loc) • 1.2 kB
JavaScript
import { jsx as _jsx } from "react/jsx-runtime";
import { R22nProvider } from 'r22n';
import ServerProvider from '../server/ServerProvider';
import ModalProvider from '../modal/ModalProvider';
import NotifyProvider from '../notify/NotifyProvider';
import ThemeProvider from '../theme/ThemeProvider';
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';
const modal = [
'border-2 p-4 bg-[#EBF0F6] border-[#C8D5E0] text-[#222222]',
'dark:bg-[#090D14] dark:border-[#1F2937] dark:text-[#DDDDDD]'
];
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: modal.join(' '), children: children }) }) }) }) }));
}