Skip to content

Commit 410b13d

Browse files
committed
ui: interrupt old transition
1 parent bfe6cd2 commit 410b13d

1 file changed

Lines changed: 7 additions & 2 deletions

File tree

packages/ui-default/utils/base.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -183,10 +183,15 @@ export const request = {
183183
},
184184
};
185185

186+
let transition: ViewTransition | null = null;
187+
186188
export async function withTransitionCallback(callback: () => (Promise<void> | void)) {
187189
if (!document.startViewTransition || document.visibilityState === 'hidden') return callback?.();
188-
const transition = document.startViewTransition(callback);
189-
return await transition.finished;
190+
transition?.skipTransition?.();
191+
transition = document.startViewTransition(callback);
192+
await transition.finished;
193+
transition = null;
194+
return null;
190195
}
191196

192197
export async function setTemporaryViewTransitionNames(entries, vtPromise: Promise<void>) {

0 commit comments

Comments
 (0)