diff --git a/src/components/Layout/Settings/Hero/Hero.jsx b/src/components/Layout/Settings/Hero/Hero.jsx
index 03ba0b49..7fc13912 100644
--- a/src/components/Layout/Settings/Hero/Hero.jsx
+++ b/src/components/Layout/Settings/Hero/Hero.jsx
@@ -1,10 +1,11 @@
import variables from 'config/variables';
-import { useState, useEffect } from 'react';
+import { useState, useEffect, useMemo } from 'react';
import EventBus from 'utils/eventbus';
import { Button } from 'components/Elements';
import { MdFlag, MdOutlineVisibilityOff, MdOutlineVisibility } from 'react-icons/md';
import Slider from '../../../Form/Settings/Slider/Slider';
import values from 'utils/data/slider_values.json';
+import { motion, AnimatePresence } from 'framer-motion';
const Preview = (props) => {
return (
@@ -19,6 +20,62 @@ const Preview = (props) => {
);
};
+const VisibilityToggleButton = ({ setting, onClick }) => {
+ const iconVariants = {
+ initial: { opacity: 0, scale: 0.8 },
+ animate: { opacity: 1, scale: 1 },
+ exit: { opacity: 0, scale: 0.8 },
+ };
+
+ const prefersReducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches;
+
+ return (
+
+ );
+};
+
const Controls = (props) => {
const [setting, setSetting] = useState(localStorage.getItem(props.setting) === 'true');
@@ -45,36 +102,45 @@ const Controls = (props) => {
EventBus.emit('refresh', props.category);
};
- const VisibilityToggle = () => (
- :