diff --git a/src/PageManager.tsx b/src/PageManager.tsx index 481de5d8..40940f3f 100644 --- a/src/PageManager.tsx +++ b/src/PageManager.tsx @@ -109,6 +109,7 @@ export function PageManager({ maxStackSize = 5 }: { maxStackSize?: number }) { const onPopState = (e: PopStateEvent) => { let state = e.state as { index: number; url: string } | null + console.log('popstate', state) setSecondaryStack((pre) => { const currentItem = pre[pre.length - 1] as TStackItem | undefined const currentIndex = currentItem?.index @@ -202,7 +203,13 @@ export function PageManager({ maxStackSize = 5 }: { maxStackSize?: number }) { } const popSecondaryPage = () => { - window.history.go(-1) + if (secondaryStack.length === 1) { + // back to home page + window.history.replaceState(null, '', '/') + setSecondaryStack([]) + } else { + window.history.go(-1) + } } const clearSecondaryPages = () => {