import React, { useCallback, useEffect, useMemo, useState } from 'react'; import Editor from '$app/components/editor/Editor'; import { DocumentHeader } from 'src/appflowy_app/components/document/document_header'; import { useAppDispatch, useAppSelector } from '$app/stores/store'; import { updatePageName } from '$app_reducers/pages/async_actions'; import { PageCover } from '$app_reducers/pages/slice'; export function Document({ id }: { id: string }) { const page = useAppSelector((state) => state.pages.pageMap[id]); const [cover, setCover] = useState(undefined); const dispatch = useAppDispatch(); const onTitleChange = useCallback( (newTitle: string) => { void dispatch( updatePageName({ id, name: newTitle, }) ); }, [dispatch, id] ); const view = useMemo(() => { return { ...page, cover, }; }, [page, cover]); useEffect(() => { return () => { setCover(undefined); }; }, [id]); if (!page) return null; return (
); } export default Document;