mirror of https://github.com/fantasticit/think.git
client: improve style
This commit is contained in:
parent
9c63c09f4d
commit
12476d8c06
|
@ -65,6 +65,9 @@ export const CommentItem: React.FC<IProps> = ({ comment, replyComment, editComme
|
||||||
|
|
||||||
export const CommentItemPlaceholder = () => {
|
export const CommentItemPlaceholder = () => {
|
||||||
return (
|
return (
|
||||||
|
<Skeleton
|
||||||
|
active
|
||||||
|
placeholder={
|
||||||
<div className={styles.wrap}>
|
<div className={styles.wrap}>
|
||||||
<div className={styles.leftWrap}>
|
<div className={styles.leftWrap}>
|
||||||
<Skeleton.Avatar size="small" />
|
<Skeleton.Avatar size="small" />
|
||||||
|
@ -80,5 +83,7 @@ export const CommentItemPlaceholder = () => {
|
||||||
</main>
|
</main>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
}
|
||||||
|
></Skeleton>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import { Avatar, Banner, Button, Pagination, Space, Typography } from '@douyinfe/semi-ui';
|
import { Avatar, Banner, Button, Pagination, Space, Spin, Typography } from '@douyinfe/semi-ui';
|
||||||
import { DataRender } from 'components/data-render';
|
import { DataRender } from 'components/data-render';
|
||||||
import { useComments } from 'data/comment';
|
import { useComments } from 'data/comment';
|
||||||
import { useUser } from 'data/user';
|
import { useUser } from 'data/user';
|
||||||
|
@ -90,13 +90,7 @@ export const CommentEditor: React.FC<IProps> = ({ documentId }) => {
|
||||||
<DataRender
|
<DataRender
|
||||||
loading={loading}
|
loading={loading}
|
||||||
error={error}
|
error={error}
|
||||||
loadingContent={
|
loadingContent={null}
|
||||||
<>
|
|
||||||
{Array.from({ length: 3 }, (_, i) => i).map((i) => (
|
|
||||||
<CommentItemPlaceholder key={i} />
|
|
||||||
))}
|
|
||||||
</>
|
|
||||||
}
|
|
||||||
normalContent={() => (
|
normalContent={() => (
|
||||||
<>
|
<>
|
||||||
{commentsData.total > 0 && (
|
{commentsData.total > 0 && (
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import { IconEdit } from '@douyinfe/semi-icons';
|
import { IconEdit } from '@douyinfe/semi-icons';
|
||||||
import { BackTop, Button, Layout, Nav, Skeleton, Space, Tooltip, Typography } from '@douyinfe/semi-ui';
|
import { BackTop, Button, Layout, Nav, Skeleton, Space, Spin, Tooltip, Typography } from '@douyinfe/semi-ui';
|
||||||
import cls from 'classnames';
|
import cls from 'classnames';
|
||||||
import { DataRender } from 'components/data-render';
|
import { DataRender } from 'components/data-render';
|
||||||
import { DocumentCollaboration } from 'components/document/collaboration';
|
import { DocumentCollaboration } from 'components/document/collaboration';
|
||||||
|
@ -79,7 +79,6 @@ export const DocumentReader: React.FC<IProps> = ({ documentId }) => {
|
||||||
}, [document]);
|
}, [document]);
|
||||||
|
|
||||||
const actions = useMemo(() => {
|
const actions = useMemo(() => {
|
||||||
console.log({ readable, editable });
|
|
||||||
return (
|
return (
|
||||||
<Space>
|
<Space>
|
||||||
{document && (
|
{document && (
|
||||||
|
@ -135,7 +134,20 @@ export const DocumentReader: React.FC<IProps> = ({ documentId }) => {
|
||||||
<div className={cls(styles.editorWrap, editorWrapClassNames)} style={{ fontSize }}>
|
<div className={cls(styles.editorWrap, editorWrapClassNames)} style={{ fontSize }}>
|
||||||
<div id="js-reader-container">
|
<div id="js-reader-container">
|
||||||
{document && <Seo title={document.title} />}
|
{document && <Seo title={document.title} />}
|
||||||
{user && readable && (
|
{user &&
|
||||||
|
(docAuthLoading ? (
|
||||||
|
<div
|
||||||
|
style={{
|
||||||
|
minHeight: 240,
|
||||||
|
display: 'flex',
|
||||||
|
alignItems: 'center',
|
||||||
|
justifyContent: 'center',
|
||||||
|
margin: 'auto',
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<Spin />
|
||||||
|
</div>
|
||||||
|
) : (
|
||||||
<CollaborationEditor
|
<CollaborationEditor
|
||||||
editable={false}
|
editable={false}
|
||||||
user={user}
|
user={user}
|
||||||
|
@ -144,12 +156,13 @@ export const DocumentReader: React.FC<IProps> = ({ documentId }) => {
|
||||||
renderInEditorPortal={renderAuthor}
|
renderInEditorPortal={renderAuthor}
|
||||||
onAwarenessUpdate={triggerJoinUser}
|
onAwarenessUpdate={triggerJoinUser}
|
||||||
/>
|
/>
|
||||||
)}
|
))}
|
||||||
{user && (
|
{user &&
|
||||||
|
(docAuthLoading ? null : (
|
||||||
<div className={styles.commentWrap}>
|
<div className={styles.commentWrap}>
|
||||||
<CommentEditor documentId={documentId} />
|
<CommentEditor documentId={documentId} />
|
||||||
</div>
|
</div>
|
||||||
)}
|
))}
|
||||||
{!isMobile && authority && authority.editable && container && (
|
{!isMobile && authority && authority.editable && container && (
|
||||||
<BackTop style={editBtnStyle} onClick={gotoEdit} target={() => container} visibilityHeight={200}>
|
<BackTop style={editBtnStyle} onClick={gotoEdit} target={() => container} visibilityHeight={200}>
|
||||||
<IconEdit />
|
<IconEdit />
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
display: flex;
|
display: flex;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
min-height: 100px;
|
min-height: 240px;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
|
|
||||||
|
|
|
@ -98,11 +98,8 @@ export const CollaborationEditor = forwardRef((props: ICollaborationEditorProps,
|
||||||
<DataRender
|
<DataRender
|
||||||
loading={loading}
|
loading={loading}
|
||||||
loadingContent={
|
loadingContent={
|
||||||
<div style={{ width: 174, margin: 'auto' }}>
|
<div style={{ margin: 'auto' }}>
|
||||||
<Spin tip="正在加载中...">
|
<Spin />
|
||||||
{/* FIXME: semi-design 的问题,不加 div,文字会换行! */}
|
|
||||||
<div></div>
|
|
||||||
</Spin>
|
|
||||||
</div>
|
</div>
|
||||||
}
|
}
|
||||||
error={error}
|
error={error}
|
||||||
|
|
Loading…
Reference in New Issue