diff --git a/components/theme/DarkModeSwitch.tsx b/components/theme/DarkModeSwitch.tsx index 7462772..c178ff2 100644 --- a/components/theme/DarkModeSwitch.tsx +++ b/components/theme/DarkModeSwitch.tsx @@ -1,5 +1,5 @@ import * as React from 'react' -import { useSpring, animated } from 'react-spring' +import { useSpring, animated } from '@react-spring/web' export const defaultProperties = { dark: { @@ -69,26 +69,29 @@ export const DarkModeSwitch: React.FC = ({ if (animationProperties !== defaultProperties) { return Object.assign(defaultProperties, animationProperties) } - return animationProperties }, [animationProperties]) const { circle, svg, lines, mask } = properties[checked ? 'dark' : 'light'] const svgContainerProps = useSpring({ - ...svg, + transform: svg.transform, config: animationProperties.springConfig, }) + const centerCircleProps = useSpring({ - ...circle, + r: circle.r, config: animationProperties.springConfig, }) + const maskedCircleProps = useSpring({ - ...mask, + cx: mask.cx, + cy: mask.cy, config: animationProperties.springConfig, }) + const linesProps = useSpring({ - ...lines, + opacity: lines.opacity, config: animationProperties.springConfig, }) @@ -96,9 +99,13 @@ export const DarkModeSwitch: React.FC = ({ const uniqueMaskId = `circle-mask-${id}` + const AnimatedSvg = animated('svg') + const AnimatedCircle = animated('circle') + const AnimatedG = animated('g') + return ( - - + = ({ > - - - + @@ -144,8 +150,8 @@ export const DarkModeSwitch: React.FC = ({ - - - + + + ) }