(tree?: PageTree.Root)
| 20 | } |
| 21 | |
| 22 | const usePageTree = (tree?: PageTree.Root) => { |
| 23 | const matches = useMatches(); |
| 24 | const serialized = matches.find((match) => match.id === 'routes/docs') |
| 25 | ?.data as LayoutData | undefined; |
| 26 | |
| 27 | return useMemo(() => { |
| 28 | if (tree) return tree; |
| 29 | if (!serialized?.pageTree) return undefined; |
| 30 | return deserializePageTree(serialized.pageTree); |
| 31 | }, [serialized?.pageTree, tree]); |
| 32 | }; |
| 33 | |
| 34 | const nodeKey = (node: PageTree.Node) => |
| 35 | node.$id ?? |