ui: interrupt old transition

This commit is contained in:
undefined committed 2026-03-24 09:05:56 +08:00
1 parent bfe6cd2b30
commit 410b13d765
1 file changed
+7 -2
+7 -2
View File
@@ -183,10 +183,15 @@ export const request = {
}, },
}; };
let transition: ViewTransition | null = null;
export async function withTransitionCallback(callback: () => (Promise<void> | void)) { export async function withTransitionCallback(callback: () => (Promise<void> | void)) {
if (!document.startViewTransition || document.visibilityState === 'hidden') return callback?.(); if (!document.startViewTransition || document.visibilityState === 'hidden') return callback?.();
const transition = document.startViewTransition(callback); transition?.skipTransition?.();
return await transition.finished; transition = document.startViewTransition(callback);
await transition.finished;
transition = null;
return null;
} }
export async function setTemporaryViewTransitionNames(entries, vtPromise: Promise<void>) { export async function setTemporaryViewTransitionNames(entries, vtPromise: Promise<void>) {