mirror of
https://github.com/IRBorisov/ConceptPortal.git
synced 2025-06-26 04:50:36 +03:00
M: Prevent animations for darkMode transitions
This commit is contained in:
parent
7bd5cd5d74
commit
d11ccb45c4
|
@ -100,14 +100,25 @@ export const OptionsState = ({ children }: React.PropsWithChildren) => {
|
|||
);
|
||||
|
||||
const toggleDarkMode = useCallback(() => {
|
||||
if (!document.startViewTransition || window.matchMedia('(prefers-reduced-motion: reduce)').matches) {
|
||||
if (!document.startViewTransition) {
|
||||
setDarkMode(prev => !prev);
|
||||
} else {
|
||||
const style = document.createElement('style');
|
||||
style.innerHTML = `
|
||||
* {
|
||||
animation: none !important;
|
||||
transition: none !important;
|
||||
}
|
||||
`;
|
||||
document.head.appendChild(style);
|
||||
|
||||
document.startViewTransition(() => {
|
||||
flushSync(() => {
|
||||
setDarkMode(prev => !prev);
|
||||
});
|
||||
});
|
||||
|
||||
setTimeout(() => document.head.removeChild(style), PARAMETER.moveDuration);
|
||||
}
|
||||
}, [setDarkMode]);
|
||||
|
||||
|
|
|
@ -223,6 +223,6 @@
|
|||
.cc-animate-color {
|
||||
transition-property: color, background-color;
|
||||
transition-timing-function: var(--transition-bezier);
|
||||
transition-duration: var(--duration-fade);
|
||||
transition-duration: var(--duration-select);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user