| @@ -68,8 +68,16 @@ | ||
| 68 | 68 | partialize: ({ viewedPages }) => ({ viewedPages }), |
| 69 | 69 | }), |
| 70 | 70 | ); |
| 71 | 71 | |
| 72 | +export const navigateTo = (slug) => { | |
| 73 | + const page = pages.find((a) => a.slug === slug); | |
| 74 | + if (!page) return useRouterState.getState().setCurrent(pages[0]); | |
| 75 | + | |
| 76 | + useActivityStore.getState().incrementActivity(`draft-${page.slug}`); | |
| 77 | + useRouterState.getState().setCurrent(page); | |
| 78 | +}; | |
| 79 | + | |
| 72 | 80 | export const useRouter = () => { |
| 73 | 81 | const { current, setCurrent, history, goBack } = useRouterState(); |
| 74 | 82 | const Component = current?.component ?? (() => null); |
| 75 | 83 | useEffect(() => { |
| @@ -87,15 +95,9 @@ | ||
| 87 | 95 | </section> |
| 88 | 96 | ), |
| 89 | 97 | [current], |
| 90 | 98 | ), |
| 91 | - navigateTo: (slug) => { | |
| 92 | - const page = pages.find((a) => a.slug === slug); | |
| 93 | - if (!page) return setCurrent(pages[0]); | |
| 94 | - | |
| 95 | - useActivityStore.getState().incrementActivity(`draft-${page.slug}`); | |
| 96 | - setCurrent(page); | |
| 97 | - }, | |
| 99 | + navigateTo, | |
| 98 | 100 | goBack, |
| 99 | 101 | history, |
| 100 | 102 | }; |
| 101 | 103 | }; |