UNPKG

stackpress

Version:

Incept is a content management framework.

22 lines (21 loc) 1.78 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = LayoutProvider; const jsx_runtime_1 = require("react/jsx-runtime"); const r22n_1 = require("r22n"); const ServerProvider_js_1 = __importDefault(require("../server/ServerProvider.js")); const ModalProvider_js_1 = __importDefault(require("../modal/ModalProvider.js")); const NotifyProvider_js_1 = __importDefault(require("../notify/NotifyProvider.js")); const ThemeProvider_js_1 = __importDefault(require("../theme/ThemeProvider.js")); function LayoutProvider(props) { var _a, _b; const { data, session, request, response, children } = props || {}; const { languages = {}, locale = 'en_US' } = (data === null || data === void 0 ? void 0 : data.language) || {}; const { label = 'EN', translations = {} } = languages[locale] || {}; const notify = (_a = data === null || data === void 0 ? void 0 : data.view) === null || _a === void 0 ? void 0 : _a.notify; const theme = ((_b = request === null || request === void 0 ? void 0 : request.session) === null || _b === void 0 ? void 0 : _b.theme) || 'light'; return ((0, jsx_runtime_1.jsx)(ServerProvider_js_1.default, { data: data, session: session, request: request, response: response, children: (0, jsx_runtime_1.jsx)(r22n_1.R22nProvider, { language: label, translations: translations, children: (0, jsx_runtime_1.jsx)(ThemeProvider_js_1.default, { theme: theme, children: (0, jsx_runtime_1.jsx)(NotifyProvider_js_1.default, { config: notify, children: (0, jsx_runtime_1.jsx)(ModalProvider_js_1.default, { className: "layout-modal", children: children }) }) }) }) })); }