File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -51,14 +51,20 @@ export default defineNuxtPlugin(nuxtApp => {
5151 let changeRoute : ( ) => void
5252 const ready = new Promise < void > ( resolve => ( changeRoute = resolve ) )
5353
54- transition = document . startViewTransition ( ( ) => {
54+ try {
55+ transition = document . startViewTransition ( ( ) => {
56+ changeRoute ( )
57+ return promise
58+ } )
59+
60+ transition . finished . finally ( resetTransitionState )
61+ await nuxtApp . callHook ( 'page:view-transition:start' , transition )
62+ } catch ( err ) {
63+ console . error ( 'View Transition failed:' , err )
5564 changeRoute ! ( )
56- return promise
57- } )
58-
59- transition . finished . then ( resetTransitionState )
60-
61- await nuxtApp . callHook ( 'page:view-transition:start' , transition )
65+ finishTransition ?.( )
66+ resetTransitionState ( )
67+ }
6268
6369 return ready
6470 } )
@@ -80,7 +86,7 @@ export default defineNuxtPlugin(nuxtApp => {
8086 // Finish when page render completes
8187 nuxtApp . hook ( 'page:finish' , ( ) => {
8288 finishTransition ?.( )
83- resetTransitionState ( )
89+ // Do not reset state here, let transition.finished handle it
8490 } )
8591} )
8692
You can’t perform that action at this time.
0 commit comments