page controls - wip

* page breadcrumb
* other minor additions and fixes
This commit is contained in:
Philipinho
2023-10-30 14:53:49 +00:00
parent 730e925b6a
commit dd62d2bb1a
13 changed files with 429 additions and 119 deletions
@@ -8,20 +8,20 @@ import {
} from 'react-arborist';
import { useAtom } from 'jotai';
import { treeDataAtom } from '@/features/page/tree/atoms/tree-data-atom';
import { createPage, deletePage, movePage, updatePage } from '@/features/page/services/page-service';
import { createPage, deletePage, movePage } from '@/features/page/services/page-service';
import { v4 as uuidv4 } from 'uuid';
import { IMovePage } from '@/features/page/types/page.types';
import { useNavigate} from 'react-router-dom';
import { TreeNode } from '@/features/page/tree/types';
import usePage from '@/features/page/hooks/usePage';
export function usePersistence<T>() {
const [data, setData] = useAtom(treeDataAtom);
const { updatePageMutation } = usePage();
const navigate = useNavigate();
const tree = useMemo(() => new SimpleTree<TreeNode>(data), [data]);
const onMove: MoveHandler<T> = (args: { parentId, index, parentNode, dragNodes, dragIds }) => {
for (const id of args.dragIds) {
tree.move({ id, parentId: args.parentId, index: args.index });
@@ -57,7 +57,7 @@ export function usePersistence<T>() {
setData(tree.data);
try {
updatePage({ id, title: name });
updatePageMutation({ id, title: name });
} catch (error) {
console.error('Error updating page title:', error);
}