|
|
|
@ -109,6 +109,7 @@ export function PageManager({ maxStackSize = 5 }: { maxStackSize?: number }) { |
|
|
|
|
|
|
|
|
|
|
|
const onPopState = (e: PopStateEvent) => { |
|
|
|
const onPopState = (e: PopStateEvent) => { |
|
|
|
let state = e.state as { index: number; url: string } | null |
|
|
|
let state = e.state as { index: number; url: string } | null |
|
|
|
|
|
|
|
console.log('popstate', state) |
|
|
|
setSecondaryStack((pre) => { |
|
|
|
setSecondaryStack((pre) => { |
|
|
|
const currentItem = pre[pre.length - 1] as TStackItem | undefined |
|
|
|
const currentItem = pre[pre.length - 1] as TStackItem | undefined |
|
|
|
const currentIndex = currentItem?.index |
|
|
|
const currentIndex = currentItem?.index |
|
|
|
@ -202,7 +203,13 @@ export function PageManager({ maxStackSize = 5 }: { maxStackSize?: number }) { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
const popSecondaryPage = () => { |
|
|
|
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 = () => { |
|
|
|
const clearSecondaryPages = () => { |
|
|
|
|