diff --git a/packages/client/src/components/document/reader/editor.tsx b/packages/client/src/components/document/reader/editor.tsx index 01581bf0..1b9bbd4c 100644 --- a/packages/client/src/components/document/reader/editor.tsx +++ b/packages/client/src/components/document/reader/editor.tsx @@ -26,7 +26,7 @@ interface IProps { document: IDocument; } -export const Editor: React.FC = ({ user, documentId, document }) => { +export const Editor: React.FC = ({ user, documentId, document, children }) => { const [loading, toggleLoading] = useToggle(true); const [error, setError] = useState(null); const provider = useMemo(() => { @@ -86,6 +86,7 @@ export const Editor: React.FC = ({ user, documentId, document }) => { document={document} container={() => window.document.querySelector('#js-reader-container .ProseMirror .title')} /> + {children} ); }} diff --git a/packages/client/src/components/document/reader/index.module.scss b/packages/client/src/components/document/reader/index.module.scss index 93102032..67a641ae 100644 --- a/packages/client/src/components/document/reader/index.module.scss +++ b/packages/client/src/components/document/reader/index.module.scss @@ -1,38 +1,40 @@ .wrap { height: 100%; - margin-top: -16px; + display: flex; + flex-direction: column; .headerWrap { - position: sticky; + padding: 0 24px; + height: 60px; } .contentWrap { - height: 100%; - padding: 24px 0; + flex: 1; overflow: hidden; - .editorWrap { - padding-bottom: 24px; + > div { + height: 100%; + padding: 24px 16px 48px; overflow: auto; + } + + .editorWrap { + min-height: 100%; + padding-bottom: 24px; + margin: 0 auto; &.isStandardWidth { width: 96%; max-width: 750px; - margin: 0 auto; } &.isFullWidth { width: 100%; - margin: 0 auto; } } - .editorContainer { - min-height: 240px; - } - .commentWrap { - padding: 16px 0; + padding: 16px 0 32px; border-top: 1px solid var(--semi-color-border); } } diff --git a/packages/client/src/components/document/reader/index.tsx b/packages/client/src/components/document/reader/index.tsx index a1b7d16e..cea3e66e 100644 --- a/packages/client/src/components/document/reader/index.tsx +++ b/packages/client/src/components/document/reader/index.tsx @@ -1,5 +1,5 @@ import Router from 'next/router'; -import React, { useCallback, useMemo } from 'react'; +import React, { useCallback, useMemo, useRef, useState } from 'react'; import cls from 'classnames'; import { Layout, Nav, Space, Button, Typography, Skeleton, Tooltip, Popover, BackTop } from '@douyinfe/semi-ui'; import { IconEdit, IconArticle } from '@douyinfe/semi-icons'; @@ -29,6 +29,7 @@ interface IProps { export const DocumentReader: React.FC = ({ documentId }) => { if (!documentId) return null; + const [container, setContainer] = useState(); const { width: windowWidth } = useWindowSize(); const { width, fontSize } = useDocumentStyle(); const editorWrapClassNames = useMemo(() => { @@ -85,47 +86,50 @@ export const DocumentReader: React.FC = ({ documentId }) => { > -
- } - normalContent={() => { - return ( - <> - -
- {user && } -
-
- -
- {authority && authority.editable && ( - window.document.querySelector('.Pane2')} - visibilityHeight={200} - > - - - )} - window.document.querySelector('.Pane2')} /> - - ); - }} - /> +
+
+ } + normalContent={() => { + return ( + <> + + {user && ( + +
+ +
+
+ )} + {authority && authority.editable && container && ( + container} + visibilityHeight={200} + > + + + )} + {container && container} />} + + ); + }} + /> +
diff --git a/packages/client/src/layouts/double-column/index.module.scss b/packages/client/src/layouts/double-column/index.module.scss index 46d4f767..348ba815 100644 --- a/packages/client/src/layouts/double-column/index.module.scss +++ b/packages/client/src/layouts/double-column/index.module.scss @@ -50,7 +50,7 @@ } .rightWrap { - padding: 16px 24px; + height: 100%; overflow: auto; } } diff --git a/packages/client/src/pages/wiki/[wikiId]/document/[documentId]/index.tsx b/packages/client/src/pages/wiki/[wikiId]/document/[documentId]/index.tsx index ac8e10df..da3fa2d3 100644 --- a/packages/client/src/pages/wiki/[wikiId]/document/[documentId]/index.tsx +++ b/packages/client/src/pages/wiki/[wikiId]/document/[documentId]/index.tsx @@ -11,7 +11,7 @@ interface IProps { const Page: NextPage = ({ wikiId, documentId }) => { return ( } + leftNode={} rightNode={} /> ); diff --git a/packages/client/src/pages/wiki/[wikiId]/documents/index.tsx b/packages/client/src/pages/wiki/[wikiId]/documents/index.tsx index bcac371a..bc03f1c2 100644 --- a/packages/client/src/pages/wiki/[wikiId]/documents/index.tsx +++ b/packages/client/src/pages/wiki/[wikiId]/documents/index.tsx @@ -82,7 +82,7 @@ const Page: NextPage = ({ wikiId }) => { } rightNode={ - <> +
文档管理 @@ -95,7 +95,7 @@ const Page: NextPage<IProps> = ({ wikiId }) => { <WikiTocsManager wikiId={wikiId} /> </TabPane> </Tabs> - </> + </div> } ></DoubleColumnLayout> ); diff --git a/packages/client/src/pages/wiki/[wikiId]/setting/index.tsx b/packages/client/src/pages/wiki/[wikiId]/setting/index.tsx index d014be6a..5978db92 100644 --- a/packages/client/src/pages/wiki/[wikiId]/setting/index.tsx +++ b/packages/client/src/pages/wiki/[wikiId]/setting/index.tsx @@ -27,7 +27,11 @@ const Page: NextPage<IProps> = ({ wikiId }) => { return ( <DoubleColumnLayout leftNode={<WikiTocs wikiId={wikiId} />} - rightNode={<WikiSetting wikiId={wikiId} tab={tab} onNavigate={(tab) => navigate(tab)()} />} + rightNode={ + <div style={{ padding: '16px 24px' }}> + <WikiSetting wikiId={wikiId} tab={tab} onNavigate={(tab) => navigate(tab)()} /> + </div> + } /> ); };