import React from 'react'; import SettingsFunctions from '../../../modules/helpers/settings'; import Checkbox from '../settings/Checkbox'; import Dropdown from '../settings/Dropdown'; import Section from '../settings/Section'; import { toast } from 'react-toastify'; import BackgroundSettings from '../settings/sections/BackgroundSettings'; import SearchSettings from '../settings/sections/SearchSettings'; import LanguageSettings from '../settings/sections/LanguageSettings'; import GreetingSettings from '../settings/sections/GreetingSettings'; export default class Settings extends React.PureComponent { resetItem(type) { switch (type) { case 'css': document.getElementById('customcss').value = ''; break; default: break; } toast(this.props.toastLanguage.reset); } componentDidMount() { // Settings document.getElementById('greetingName').value = localStorage.getItem('greetingName'); document.getElementById('language').value = localStorage.getItem('language'); document.getElementById('customcss').value = localStorage.getItem('customcss'); if (document.getElementById('modal').classList.contains('dark')) { // Dark theme support for dropdowns const choices = document.getElementsByClassName('choices'); for (let i = 0; i < choices.length; i++) choices[i].style.backgroundColor = '#2f3542'; } document.getElementById('file-input').onchange = (e) => { // import settings const reader = new FileReader(); reader.readAsText(e.target.files[0], 'UTF-8'); reader.onload = (readerEvent) => { const content = JSON.parse(readerEvent.target.result); for (const key of Object.keys(content)) localStorage.setItem(key, content[key]); toast(this.props.toastLanguage.imported); }; }; } render() { return (
Custom CSS this.resetItem('css')}>{this.props.language.reset} NEW