diff --git a/packages/client/package.json b/packages/client/package.json index e0783866..78ca2e87 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -86,6 +86,7 @@ "react-helmet": "^6.1.0", "react-lazy-load-image-component": "^1.5.4", "react-pdf": "^5.7.2", + "react-query": "^3.39.0", "react-split-pane": "^0.1.92", "scroll-into-view-if-needed": "^2.2.29", "swr": "^1.2.0", diff --git a/packages/client/src/components/data-render/index.tsx b/packages/client/src/components/data-render/index.tsx index acf4575a..4b3c5e3f 100644 --- a/packages/client/src/components/data-render/index.tsx +++ b/packages/client/src/components/data-render/index.tsx @@ -8,7 +8,7 @@ type RenderProps = React.ReactNode | (() => React.ReactNode); interface IProps { loading: boolean; - error: Error | null; + error: Error | null | unknown; empty?: boolean; loadingContent?: RenderProps; errorContent?: RenderProps; diff --git a/packages/client/src/components/document/star/index.tsx b/packages/client/src/components/document/star/index.tsx index 39dc0946..f0585d4a 100644 --- a/packages/client/src/components/document/star/index.tsx +++ b/packages/client/src/components/document/star/index.tsx @@ -1,6 +1,6 @@ import { IconStar } from '@douyinfe/semi-icons'; import { Button, Tooltip } from '@douyinfe/semi-ui'; -import { useDocumentStar } from 'data/document'; +import { useDocumentCollectToggle } from 'data/refactor/collector'; import React from 'react'; interface IProps { @@ -9,7 +9,7 @@ interface IProps { } export const DocumentStar: React.FC = ({ documentId, render }) => { - const { data, toggleStar } = useDocumentStar(documentId); + const { data, toggle: toggleStar } = useDocumentCollectToggle(documentId); const text = data ? '取消收藏' : '收藏文档'; return ( diff --git a/packages/client/src/components/message/index.tsx b/packages/client/src/components/message/index.tsx index d7fe5c98..caded197 100644 --- a/packages/client/src/components/message/index.tsx +++ b/packages/client/src/components/message/index.tsx @@ -250,5 +250,6 @@ const MessageBox = () => { export const Message = () => { const { loading, error } = useUser(); - return } />; + return null; + // return } />; }; diff --git a/packages/client/src/components/template/editor/editor.tsx b/packages/client/src/components/template/editor/editor.tsx index 069b0bb2..d5ed712e 100644 --- a/packages/client/src/components/template/editor/editor.tsx +++ b/packages/client/src/components/template/editor/editor.tsx @@ -1,5 +1,5 @@ -import { IconArticle, IconChevronLeft } from '@douyinfe/semi-icons'; -import { Button, Nav, Popconfirm, Popover, Space, Switch, Tooltip, Typography } from '@douyinfe/semi-ui'; +import { IconChevronLeft } from '@douyinfe/semi-icons'; +import { Button, Nav, Popconfirm, Space, Switch, Tooltip, Typography } from '@douyinfe/semi-ui'; import { ILoginUser, ITemplate } from '@think/domains'; import cls from 'classnames'; import { DocumentStyle } from 'components/document/style'; diff --git a/packages/client/src/components/template/editor/index.tsx b/packages/client/src/components/template/editor/index.tsx index f2cc8bef..8b10f9d0 100644 --- a/packages/client/src/components/template/editor/index.tsx +++ b/packages/client/src/components/template/editor/index.tsx @@ -1,12 +1,12 @@ -import { IconArticle, IconChevronLeft } from '@douyinfe/semi-icons'; -import { Button, Nav, Popconfirm, Popover, Space, Spin, Switch, Tooltip, Typography } from '@douyinfe/semi-ui'; +import { IconChevronLeft } from '@douyinfe/semi-icons'; +import { Button, Nav, Popconfirm, Space, Spin, Switch, Tooltip, Typography } from '@douyinfe/semi-ui'; import cls from 'classnames'; import { DataRender } from 'components/data-render'; import { DocumentStyle } from 'components/document/style'; import { Seo } from 'components/seo'; import { Theme } from 'components/theme'; import { User } from 'components/user'; -import { useTemplate } from 'data/template'; +import { useTemplate } from 'data/refactor/template'; import { useUser } from 'data/user'; import { useDocumentStyle } from 'hooks/use-document-style'; import { useWindowSize } from 'hooks/use-window-size'; @@ -25,9 +25,8 @@ const { Text } = Typography; export const TemplateEditor: React.FC = ({ templateId }) => { const { user } = useUser(); const { data, loading, error, updateTemplate, deleteTemplate } = useTemplate(templateId); - const { width: windowWidth } = useWindowSize(); - const [title, setTitle] = useState(data.title); + const [title, setTitle] = useState(data && data.title); const [isPublic, setPublic] = useState(false); const { width, fontSize } = useDocumentStyle(); const editorWrapClassNames = useMemo(() => { @@ -47,6 +46,7 @@ export const TemplateEditor: React.FC = ({ templateId }) => { useEffect(() => { if (!data) return; setPublic(data.isPublic); + setTitle(data.title); }, [data]); return ( diff --git a/packages/client/src/components/user/index.tsx b/packages/client/src/components/user/index.tsx index eda58d5f..e008f432 100644 --- a/packages/client/src/components/user/index.tsx +++ b/packages/client/src/components/user/index.tsx @@ -45,7 +45,7 @@ export const User: React.FC = () => { ) : ( - {user && user.name[0]} + {user && user.name && user.name[0]} ) } diff --git a/packages/client/src/components/wiki/card/index.tsx b/packages/client/src/components/wiki/card/index.tsx index 0daece69..386ca8b5 100644 --- a/packages/client/src/components/wiki/card/index.tsx +++ b/packages/client/src/components/wiki/card/index.tsx @@ -3,7 +3,7 @@ import { Avatar, Skeleton, Space, Typography } from '@douyinfe/semi-ui'; import { IconDocument } from 'components/icons/IconDocument'; import { LocaleTime } from 'components/locale-time'; import { WikiStar } from 'components/wiki/star'; -import { IWikiWithIsMember } from 'data/wiki'; +import { IWikiWithIsMember } from 'data/refactor/collector'; import Link from 'next/link'; import styles from './index.module.scss'; diff --git a/packages/client/src/components/wiki/create/index.tsx b/packages/client/src/components/wiki/create/index.tsx index c794428b..4c825471 100644 --- a/packages/client/src/components/wiki/create/index.tsx +++ b/packages/client/src/components/wiki/create/index.tsx @@ -1,7 +1,7 @@ import { Form, Modal } from '@douyinfe/semi-ui'; import { FormApi } from '@douyinfe/semi-ui/lib/es/form'; import type { IWiki } from '@think/domains'; -import { ICreateWiki, useOwnWikis } from 'data/wiki'; +import { ICreateWiki, useOwnWikis } from 'data/refactor/wiki'; import Router from 'next/router'; import { Dispatch, SetStateAction, useRef } from 'react'; diff --git a/packages/client/src/components/wiki/star/index.tsx b/packages/client/src/components/wiki/star/index.tsx index 4edf800a..a7e49f73 100644 --- a/packages/client/src/components/wiki/star/index.tsx +++ b/packages/client/src/components/wiki/star/index.tsx @@ -1,6 +1,6 @@ import { IconStar } from '@douyinfe/semi-icons'; import { Button, Tooltip } from '@douyinfe/semi-ui'; -import { useWikiStar } from 'data/wiki'; +import { useWikiCollectToggle } from 'data/refactor/collector'; import React from 'react'; interface IProps { @@ -10,13 +10,13 @@ interface IProps { } export const WikiStar: React.FC = ({ wikiId, render, onChange }) => { - const { data, toggleStar } = useWikiStar(wikiId); + const { data, toggle } = useWikiCollectToggle(wikiId); const text = data ? '取消收藏' : '收藏知识库'; return ( <> {render ? ( - render({ star: data, toggleStar, text }) + render({ star: data, toggleStar: toggle, text }) ) : (