page controls - wip
* page breadcrumb * other minor additions and fixes
This commit is contained in:
@@ -1,14 +1,28 @@
|
||||
import { useParams } from 'react-router-dom';
|
||||
import React, { Suspense } from 'react';
|
||||
|
||||
const Editor = React.lazy(() => import('@/features/editor/editor'));
|
||||
import React, { useEffect } from 'react';
|
||||
import { useAtom } from 'jotai/index';
|
||||
import usePage from '@/features/page/hooks/usePage';
|
||||
import Editor from '@/features/editor/editor';
|
||||
import { pageAtom } from '@/features/page/atoms/page-atom';
|
||||
|
||||
export default function Page() {
|
||||
const { pageId } = useParams();
|
||||
const [, setPage] = useAtom(pageAtom(pageId));
|
||||
const { pageQuery } = usePage(pageId);
|
||||
|
||||
return (
|
||||
<Suspense fallback={<div>Loading...</div>}>
|
||||
<Editor key={pageId} pageId={pageId} />
|
||||
</Suspense>
|
||||
);
|
||||
useEffect(() => {
|
||||
if (pageQuery.data) {
|
||||
setPage(pageQuery.data);
|
||||
}
|
||||
}, [pageQuery.data, pageQuery.isLoading, setPage, pageId]);
|
||||
|
||||
if (pageQuery.isLoading) {
|
||||
return <div>Loading...</div>;
|
||||
}
|
||||
|
||||
if (pageQuery.isError) {
|
||||
return <div>Error fetching page data.</div>;
|
||||
}
|
||||
|
||||
return (<Editor key={pageId} pageId={pageId} />);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user