fix(theme-button): fix flicker during theme switch (#6782)

This commit is contained in:
HaHa 2025-09-30 05:10:51 +08:00 committed by GitHub
parent 42e3de9e2c
commit 713281a8ba
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -64,7 +64,7 @@ function toggleTheme(event: MouseEvent) {
`circle(0px at ${x}px ${y}px)`, `circle(0px at ${x}px ${y}px)`,
`circle(${endRadius}px at ${x}px ${y}px)`, `circle(${endRadius}px at ${x}px ${y}px)`,
]; ];
document.documentElement.animate( const animate = document.documentElement.animate(
{ {
clipPath: isDark.value ? [...clipPath].reverse() : clipPath, clipPath: isDark.value ? [...clipPath].reverse() : clipPath,
}, },
@ -76,6 +76,9 @@ function toggleTheme(event: MouseEvent) {
: '::view-transition-new(root)', : '::view-transition-new(root)',
}, },
); );
animate.onfinish = () => {
transition.skipTransition();
};
}); });
} }
</script> </script>