Skip to content
Draft
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 14 additions & 8 deletions app/plugins/view-transitions.client.ts
Original file line number Diff line number Diff line change
Expand Up @@ -51,14 +51,20 @@ export default defineNuxtPlugin(nuxtApp => {
let changeRoute: () => void
const ready = new Promise<void>(resolve => (changeRoute = resolve))

transition = document.startViewTransition(() => {
try {
transition = document.startViewTransition(() => {
changeRoute()
return promise
})

transition.finished.finally(resetTransitionState)
await nuxtApp.callHook('page:view-transition:start', transition)
} catch (err) {
console.error('View Transition failed:', err)
changeRoute!()
return promise
})

transition.finished.then(resetTransitionState)

await nuxtApp.callHook('page:view-transition:start', transition)
finishTransition?.()
resetTransitionState()
}
Comment thread
coderabbitai[bot] marked this conversation as resolved.

return ready
})
Expand All @@ -80,7 +86,7 @@ export default defineNuxtPlugin(nuxtApp => {
// Finish when page render completes
nuxtApp.hook('page:finish', () => {
finishTransition?.()
resetTransitionState()
// Do not reset state here, let transition.finished handle it
})
})

Expand Down
Loading