Browse Source

fix: 🐛

imwald
codytseng 11 months ago
parent
commit
f697421c1b
  1. 7
      src/PageManager.tsx

7
src/PageManager.tsx

@ -109,6 +109,7 @@ export function PageManager({ maxStackSize = 5 }: { maxStackSize?: number }) { @@ -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,8 +203,14 @@ export function PageManager({ maxStackSize = 5 }: { maxStackSize?: number }) { @@ -202,8 +203,14 @@ export function PageManager({ maxStackSize = 5 }: { maxStackSize?: number }) {
}
const popSecondaryPage = () => {
if (secondaryStack.length === 1) {
// back to home page
window.history.replaceState(null, '', '/')
setSecondaryStack([])
} else {
window.history.go(-1)
}
}
const clearSecondaryPages = () => {
if (secondaryStack.length === 0) return

Loading…
Cancel
Save