this.onColorPickerChange(color, 'start')}
+ onChange={(color) => this.onColorPickerChange(color, 'change')}
+ onEndChange={(color) => this.onColorPickerChange(color, 'end')}
+ gradient={this.GradientPickerInitalState}
+ isGradient />
);
} else {
gradientInputs = this.state.gradientSettings.gradient.map((g, i) => {
@@ -178,6 +176,7 @@ export default class BackgroundSettings extends React.PureComponent {
);
});
}
+
colourSettings = (
{gradientInputs}
@@ -187,6 +186,7 @@ export default class BackgroundSettings extends React.PureComponent {
);
}
+
return (
@@ -202,17 +202,17 @@ export default class BackgroundSettings extends React.PureComponent {
name='backgroundapi'
id='backgroundAPI'
onChange={() => localStorage.setItem('backgroundAPI', document.getElementById('backgroundAPI').value)} >
-
-
+
+
{this.props.language.background.custom_url} this.resetItem('customBackground')}>{this.props.language.reset}
@@ -221,7 +221,7 @@ export default class BackgroundSettings extends React.PureComponent {
{this.props.language.background.custom_colour} this.resetItem('customBackgroundColour')}>{this.props.language.reset}
@@ -229,6 +229,7 @@ export default class BackgroundSettings extends React.PureComponent {
{this.state.shown && colourSettings}
+ this.beforeUnload()}/>
);
}
diff --git a/src/components/modals/settings/sections/GreetingSettings.jsx b/src/components/modals/settings/sections/GreetingSettings.jsx
index e0986bd6..25e3dbd4 100644
--- a/src/components/modals/settings/sections/GreetingSettings.jsx
+++ b/src/components/modals/settings/sections/GreetingSettings.jsx
@@ -23,6 +23,10 @@ export default class GreetingSettings extends React.PureComponent {
this.setState({ birthday: data });
}
+ componentDidMount() {
+ document.getElementById('greetingName').value = localStorage.getItem('greetingName');
+ }
+
render() {
return (
diff --git a/src/components/modals/tabs/Settings.jsx b/src/components/modals/tabs/Settings.jsx
index 52c5c174..c6b4a421 100644
--- a/src/components/modals/tabs/Settings.jsx
+++ b/src/components/modals/tabs/Settings.jsx
@@ -3,6 +3,7 @@ import SettingsFunctions from '../../../modules/helpers/settings';
import Checkbox from '../settings/Checkbox';
import Dropdown from '../settings/Dropdown';
import Section from '../settings/Section';
+import FileUpload from '../settings/FileUpload';
import { toast } from 'react-toastify';
import BackgroundSettings from '../settings/sections/BackgroundSettings';
@@ -18,7 +19,6 @@ export default class Settings extends React.PureComponent {
componentDidMount() {
// Settings
- document.getElementById('greetingName').value = localStorage.getItem('greetingName');
document.getElementById('language').value = localStorage.getItem('language');
document.getElementById('customcss').value = localStorage.getItem('customcss');
@@ -26,17 +26,12 @@ export default class Settings extends React.PureComponent {
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);
- };
- };
+ settingsImport(e) {
+ const content = JSON.parse(e.target.result);
+ for (const key of Object.keys(content)) localStorage.setItem(key, content[key]);
+ toast(this.props.toastLanguage.imported);
}
render() {
@@ -98,7 +93,7 @@ export default class Settings extends React.PureComponent {
-
+ this.settingsImport(e)} />
);
}
diff --git a/src/modules/helpers/settings.js b/src/modules/helpers/settings.js
index e88a9466..c753d3f1 100644
--- a/src/modules/helpers/settings.js
+++ b/src/modules/helpers/settings.js
@@ -47,8 +47,6 @@ export default class SettingsFunctions {
}
static saveStuff(hexDisabled) {
- localStorage.setItem('blur', document.getElementById('blurRange').value); // this is better than inline onChange for performance
- localStorage.setItem('brightness', document.getElementById('brightnessRange').value);
localStorage.setItem('greetingName', document.getElementById('greetingName').value);
localStorage.setItem('customBackground', document.getElementById('customBackground').value);
localStorage.setItem('customcss', document.getElementById('customcss').value);