UNPKG

@helldoc/core

Version:
46 lines (45 loc) 1.69 kB
"use strict"; var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; exports.__esModule = true; var context_1 = require("../context"); var runtime_1 = require("../runtime"); var react_router_1 = require("react-router"); var react_1 = require("react"); var react_2 = __importDefault(require("react")); function LayoutManager(props) { var pages = runtime_1.siteData.pages; var matchPage = pages.find(function (page) { return page.path === props.match.path; }) || { path: "", component: "" }; react_1.useEffect(function () { if (matchPage.title) { console.log(matchPage.title); document.title = matchPage.title; } }); function resolveLayoutName() { var layoutName = "Layout"; if (matchPage.frontmatter && matchPage.frontmatter.layout) { layoutName = matchPage.frontmatter.layout; } return layoutName; } var Layout = runtime_1.layouts[resolveLayoutName()]; return (react_2["default"].createElement(context_1.PageDataContext.Provider, { value: matchPage }, react_2["default"].createElement(Layout, __assign({}, props)))); } exports["default"] = react_router_1.withRouter(LayoutManager);