UNPKG

dumi-theme-lobehub

Version:

dumi-theme-lobehub is a documentation site theme package designed for dumi2. It provides a more beautiful and user-friendly development and reading experience based on @lobehub/ui

61 lines 2.11 kB
import { Giscus } from '@lobehub/ui/awesome'; import { useResponsive } from 'antd-style'; import { useOutlet } from 'dumi'; import { memo, useCallback, useEffect } from 'react'; import { Center } from 'react-layout-kit'; import ApiHeader from "dumi/theme/slots/ApiHeader"; import Content from "dumi/theme/slots/Content"; import { apiHeaderSelectors, siteSelectors, useSiteStore } from "../../store"; import { useStyles } from "./styles"; import { jsx as _jsx } from "react/jsx-runtime"; import { jsxs as _jsxs } from "react/jsx-runtime"; var Documents = /*#__PURE__*/memo(function () { var outlet = useOutlet(); var _useResponsive = useResponsive(), mobile = _useResponsive.mobile; var _useSiteStore = useSiteStore(function (s) { return { giscus: siteSelectors.giscus(s), isApiPage: apiHeaderSelectors.isApiPage(s), pathname: s.location.pathname }; }), isApiPage = _useSiteStore.isApiPage, giscus = _useSiteStore.giscus, pathname = _useSiteStore.pathname; var _useStyles = useStyles(), styles = _useStyles.styles; useEffect(function () { var _window, _document; (_window = window) === null || _window === void 0 || _window.scrollTo(0, 0); (_document = document) === null || _document === void 0 || _document.body.scrollTo(0, 0); }, [pathname]); var Comment = useCallback(function () { return giscus && /*#__PURE__*/_jsx("div", { style: { marginTop: 64 }, children: /*#__PURE__*/_jsx(Giscus, { category: giscus.category, categoryId: giscus.categoryId, id: "giscus", mapping: "title", repo: giscus.repo, repoId: giscus.repoId }) }); }, [giscus, pathname]); return /*#__PURE__*/_jsxs(Center, { className: styles.content, style: { marginBottom: 48, padding: mobile ? 0 : 24 }, children: [isApiPage && /*#__PURE__*/_jsx(ApiHeader, { padding: mobile ? 16 : 0 }), /*#__PURE__*/_jsxs(Content, { children: [outlet, giscus && /*#__PURE__*/_jsx(Comment, {})] })] }); }); export default Documents;