diff --git a/packages/client/src/components/data-render/index.tsx b/packages/client/src/components/data-render/index.tsx index 375b0b9a..e084ff3d 100644 --- a/packages/client/src/components/data-render/index.tsx +++ b/packages/client/src/components/data-render/index.tsx @@ -1,13 +1,16 @@ import React from 'react'; import { Spin, Typography } from '@douyinfe/semi-ui'; +import { Empty } from 'illustrations/empty'; type RenderProps = React.ReactNode | (() => React.ReactNode); interface IProps { loading: boolean; error: Error | null; + empty?: boolean; loadingContent?: RenderProps; errorContent?: RenderProps; + emptyContent?: RenderProps; normalContent: RenderProps; } @@ -21,13 +24,37 @@ const defaultRenderError = (error) => { return {(error && error.message) || '未知错误'}; }; +const defaultEmpty = () => { + return ( +
+
+ +
+ 暂无数据 +
+ ); +}; + const runRender = (fn, ...args) => (typeof fn === 'function' ? fn.apply(null, args) : fn); export const DataRender: React.FC = ({ loading, error, + empty, loadingContent = defaultLoading, errorContent = defaultRenderError, + emptyContent = defaultEmpty, normalContent, }) => { if (loading) { @@ -38,5 +65,9 @@ export const DataRender: React.FC = ({ return runRender(errorContent, error); } + if (empty) { + return runRender(emptyContent); + } + return runRender(normalContent); }; diff --git a/packages/client/src/components/document/version/index.tsx b/packages/client/src/components/document/version/index.tsx index c10cf97c..9409f4fc 100644 --- a/packages/client/src/components/document/version/index.tsx +++ b/packages/client/src/components/document/version/index.tsx @@ -6,6 +6,7 @@ import cls from 'classnames'; import { DEFAULT_EXTENSION, DocumentWithTitle } from 'tiptap'; import { safeJSONParse } from 'helpers/json'; import { DataRender } from 'components/data-render'; +import { LocaleTime } from 'components/locale-time'; import { useToggle } from 'hooks/use-toggle'; import { useDocumentVersion } from 'data/document'; import styles from './index.module.scss'; @@ -102,6 +103,7 @@ export const DocumentVersion: React.FC = ({ documentId, onSelect }) => { (