import variables from 'modules/variables'; import { PureComponent, Fragment } from 'react'; import { Cancel } from '@mui/icons-material'; import Checkbox from '../Checkbox'; import Switch from '../Switch'; import Slider from '../Slider'; import Dropdown from '../Dropdown'; export default class QuoteSettings extends PureComponent { getMessage = (text) => variables.language.getMessage(variables.languagecode, text); constructor() { super(); this.state = { quoteType: localStorage.getItem('quoteType') || 'api', customQuote: this.getCustom() }; } marketplaceType = () => { if (localStorage.getItem('quote_packs')) { return ; } } resetCustom = () => { localStorage.setItem('customQuote', '[{"quote": "", "author": ""}]'); this.setState({ customQuote: [{ quote: '', author: '' }] }); toast(this.getMessage('toasts.reset')); EventBus.dispatch('refresh', 'background'); } customQuote(e, text, index, type) { const result = (text === true) ? e.target.value : e.target.result; const customQuote = this.state.customQuote; customQuote[index][type] = result; this.setState({ customQuote }); this.forceUpdate(); localStorage.setItem('customQuote', JSON.stringify(customQuote)); document.querySelector('.reminder-info').style.display = 'block'; localStorage.setItem('showReminder', true); } modifyCustomQuote(type, index) { const customQuote = this.state.customQuote; if (type === 'add') { customQuote.push({ quote: '', author: '' }); } else { customQuote.splice(index, 1); } this.setState({ customQuote }); this.forceUpdate(); localStorage.setItem('customQuote', JSON.stringify(customQuote)); } getCustom() { let data = JSON.parse(localStorage.getItem('customQuote')); if (data === null) { data = [{ quote: localStorage.getItem('customQuote') || '', author: localStorage.getItem('customQuoteAuthor') || '' }]; } return data; } render() { let customSettings; if (this.state.quoteType === 'custom') { customSettings = ( <>
{this.getMessage('modals.main.settings.sections.quote.custom')} {this.getMessage('modals.main.settings.buttons.reset')}
{this.state.customQuote.map((_url, index) => (