UNPKG

@slashid/docusaurus-theme-slashid

Version:
40 lines (38 loc) 1.98 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = DocItemWrapper; var _react = _interopRequireDefault(require("react")); var _router = require("@docusaurus/router"); var _react2 = require("@slashid/react"); var _DocItem = _interopRequireDefault(require("@theme-init/DocItem")); var _domain = require("../../domain"); var _useSlashIDConfig = require("../hooks/useSlashIDConfig"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /* ============================================================================ * Copyright (c) SlashID * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * ========================================================================== */ function getSlashIDProps(docItemProps) { var _docItemProps$content, _docItemProps$content2, _docItemProps$content3; const slashIDProps = docItemProps === null || docItemProps === void 0 ? void 0 : (_docItemProps$content = docItemProps.content) === null || _docItemProps$content === void 0 ? void 0 : (_docItemProps$content2 = _docItemProps$content.frontMatter) === null || _docItemProps$content2 === void 0 ? void 0 : (_docItemProps$content3 = _docItemProps$content2.sidebar_custom_props) === null || _docItemProps$content3 === void 0 ? void 0 : _docItemProps$content3.slashid; if (!slashIDProps) return undefined; return slashIDProps; } function DocItemWrapper(props) { const { user } = (0, _react2.useSlashID)(); const config = (0, _useSlashIDConfig.useSlashIDConfig)(); const redirectTo = config.privateRedirectPath; if (!(0, _domain.shouldPathRender)(props.route.path, config.privatePaths, user)) { return <_router.Redirect to={redirectTo} />; } if (!(0, _domain.shouldItemRender)(getSlashIDProps(props), user)) { return <_router.Redirect to={redirectTo} />; } return <_DocItem.default {...props} />; }