UNPKG

stackpress

Version:

Incept is a content management framework.

36 lines (35 loc) 2.77 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.PanelApp = PanelApp; exports.default = LayoutPanel; const jsx_runtime_1 = require("react/jsx-runtime"); const react_1 = require("react"); const NotifyContainer_js_1 = __importDefault(require("../notify/NotifyContainer.js")); const hooks_js_1 = require("../notify/hooks.js"); const hooks_js_2 = require("../theme/hooks.js"); const hooks_js_3 = require("../server/hooks.js"); const LayoutHead_js_1 = __importDefault(require("./components/LayoutHead.js")); const LayoutLeft_js_1 = __importDefault(require("./components/LayoutLeft.js")); const LayoutMain_js_1 = __importDefault(require("./components/LayoutMain.js")); const LayoutMenu_js_1 = __importDefault(require("./components/LayoutMenu.js")); const LayoutRight_js_1 = __importDefault(require("./components/LayoutRight.js")); const LayoutProvider_js_1 = __importDefault(require("./LayoutProvider.js")); const hooks_js_4 = require("./hooks.js"); function PanelApp(props) { const { menu, children } = props; const config = (0, hooks_js_3.useConfig)(); const request = (0, hooks_js_3.useRequest)(); const [left, toggleLeft] = (0, hooks_js_4.useToggle)(); const [right, toggleRight] = (0, hooks_js_4.useToggle)(); const { theme, toggle: toggleTheme } = (0, hooks_js_2.useTheme)(); const pathname = request.url.pathname; return ((0, jsx_runtime_1.jsxs)("div", { className: `${theme} layout-panel`, children: [(0, jsx_runtime_1.jsx)(LayoutHead_js_1.default, { open: { left, right }, theme: theme, toggleLeft: toggleLeft, toggleRight: toggleRight, toggleTheme: toggleTheme }), (0, jsx_runtime_1.jsx)(LayoutLeft_js_1.default, { brand: config.path('brand.name', 'Stackpress'), base: config.path('view.base', '/'), logo: config.path('brand.icon', 'icon.png'), open: left, toggle: toggleLeft, children: menu ? ((0, jsx_runtime_1.jsx)(LayoutMenu_js_1.default, { path: pathname, menu: menu })) : props.left }), (0, jsx_runtime_1.jsx)(LayoutRight_js_1.default, { open: right, children: props.right }), (0, jsx_runtime_1.jsx)(LayoutMain_js_1.default, { open: { left, right }, children: children })] })); } function LayoutPanel(props) { const { data, session, request, response, menu, left, right, children } = props; (0, react_1.useEffect)(hooks_js_1.unload, []); return ((0, jsx_runtime_1.jsxs)(LayoutProvider_js_1.default, { data: data, session: session, request: request, response: response, children: [(0, jsx_runtime_1.jsx)(PanelApp, { left: left, right: right, menu: menu, children: children }), (0, jsx_runtime_1.jsx)(NotifyContainer_js_1.default, {})] })); }