mirror of
https://github.com/mue/mue.git
synced 2026-07-16 21:44:22 +02:00
refacotr: settings options layout
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
import React, { useState } from 'react';
|
||||
import React, { useState, useEffect } from 'react';
|
||||
import { Row, Content, Action } from 'components/Layout/Settings/Item';
|
||||
import variables from 'config/variables';
|
||||
import Slider from '../../../Form/Settings/Slider/Slider';
|
||||
@@ -7,23 +7,33 @@ import values from 'utils/data/slider_values.json';
|
||||
import EventBus from 'utils/eventbus';
|
||||
|
||||
const PreferencesWrapper = ({ children, ...props }) => {
|
||||
const [shown, setShown] = useState(
|
||||
localStorage.getItem(props.setting) === 'true' || props.default || false,
|
||||
);
|
||||
console.log(props.default);
|
||||
|
||||
EventBus.on('toggle', (setting) => {
|
||||
if (setting === props.setting) {
|
||||
setShown(!shown);
|
||||
const [shown, setShown] = useState(() => {
|
||||
if (!props.setting) {
|
||||
return true;
|
||||
}
|
||||
return localStorage.getItem(props.setting) === 'true' || props.default || false;
|
||||
});
|
||||
|
||||
useEffect(() => {
|
||||
const handleToggle = (setting) => {
|
||||
if (setting === props.setting) {
|
||||
setShown((prevShown) => !prevShown);
|
||||
}
|
||||
};
|
||||
|
||||
EventBus.on('toggle', handleToggle);
|
||||
|
||||
return () => {
|
||||
EventBus.off('toggle', handleToggle);
|
||||
};
|
||||
}, [props.setting]);
|
||||
|
||||
return (
|
||||
<div
|
||||
className={
|
||||
shown
|
||||
? 'preferences bg-modal-content-light dark:bg-modal-content-dark p-10 rounded'
|
||||
: 'opacity-50 pointer-events-none transition-400 ease-in-out bg-modal-content-light dark:bg-modal-content-dark p-10 rounded'
|
||||
? 'preferences bg-modal-content-light dark:bg-modal-content-dark p-10 rounded divide-y divide-gray-500'
|
||||
: 'opacity-50 pointer-events-none transition-400 ease-in-out bg-modal-content-light dark:bg-modal-content-dark p-10 rounded divide-y divide-gray-500'
|
||||
}
|
||||
>
|
||||
{props.zoomSetting && (
|
||||
|
||||
Reference in New Issue
Block a user