diff --git a/src/components/Layout/Settings/PreferencesWrapper/PreferencesWrapper.jsx b/src/components/Layout/Settings/PreferencesWrapper/PreferencesWrapper.jsx index 063065e8..99ede687 100644 --- a/src/components/Layout/Settings/PreferencesWrapper/PreferencesWrapper.jsx +++ b/src/components/Layout/Settings/PreferencesWrapper/PreferencesWrapper.jsx @@ -7,7 +7,8 @@ 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'); + const [shown, setShown] = useState(localStorage.getItem(props.setting) === 'true' || props.default || false); + console.log(props.default) EventBus.on('toggle', (setting) => { if (setting === props.setting) { diff --git a/src/features/quote/options/Custom.jsx b/src/features/quote/options/Custom.jsx new file mode 100644 index 00000000..88cc9897 --- /dev/null +++ b/src/features/quote/options/Custom.jsx @@ -0,0 +1,117 @@ +import variables from 'config/variables'; +import { useState } from 'react'; +import { MdCancel, MdAdd, MdOutlineFormatQuote } from 'react-icons/md'; +import TextareaAutosize from '@mui/material/TextareaAutosize'; + +import { Row, Content, Action } from 'components/Layout/Settings'; +import { Button } from 'components/Elements'; + +function CustomSettings() { + const [customQuote, setCustomQuote] = useState(getCustom()); + + function handleCustomQuote(e, index, type) { + const result = e.target.value; + const newCustomQuote = [...customQuote]; + newCustomQuote[index][type] = result; + setCustomQuote(newCustomQuote); + localStorage.setItem('customQuote', JSON.stringify(newCustomQuote)); + document.querySelector('.reminder-info').style.display = 'flex'; + localStorage.setItem('showReminder', true); + } + + function modifyCustomQuote(type, index) { + let newCustomQuote = [...customQuote]; + if (type === 'add') { + newCustomQuote.push({ quote: '', author: '' }); + } else { + newCustomQuote.splice(index, 1); + } + setCustomQuote(newCustomQuote); + localStorage.setItem('customQuote', JSON.stringify(newCustomQuote)); + } + + function getCustom() { + let data = JSON.parse(localStorage.getItem('customQuote')); + if (data === null) { + data = []; + } + return data; + } + + const QUOTE_SECTION = 'modals.main.settings.sections.quote'; + + return ( + <> + + + +