diff --git a/src/App.jsx b/src/App.jsx
index 0397707c..21cdee2c 100644
--- a/src/App.jsx
+++ b/src/App.jsx
@@ -11,15 +11,17 @@ import { ToastContainer } from 'react-toastify';
export default class App extends React.PureComponent {
componentDidMount() {
- // 4.0 -> 5.0
- if (!localStorage.getItem('showWelcome')) {
- SettingsFunctions.moveSettings();
- }
-
if (!localStorage.getItem('firstRun')) {
SettingsFunctions.setDefaultSettings();
+ window.location.reload();
}
+ // 4.0 -> 5.0 (the key below is only on 5.0)
+ if (!localStorage.getItem('order')) {
+ SettingsFunctions.moveSettings();
+ window.location.reload();
+ }
+
SettingsFunctions.loadSettings();
EventBus.on('refresh', (data) => {
diff --git a/src/components/modals/main/settings/ResetModal.jsx b/src/components/modals/main/settings/ResetModal.jsx
index 4e85b6d3..46ad50db 100644
--- a/src/components/modals/main/settings/ResetModal.jsx
+++ b/src/components/modals/main/settings/ResetModal.jsx
@@ -5,13 +5,18 @@ import SettingsFunctions from '../../../../modules/helpers/settings';
export default function ResetModal(props) {
const language = window.language.modals.main.settings.sections.advanced.reset_modal;
+ const reset = () => {
+ SettingsFunctions.setDefaultSettings('reset');
+ window.location.reload();
+ }
+
return (
<>
{language.title}
{language.question}
{language.information}
-
+
>
diff --git a/src/modules/helpers/settings.js b/src/modules/helpers/settings.js
index 89709df0..a7de6ec6 100644
--- a/src/modules/helpers/settings.js
+++ b/src/modules/helpers/settings.js
@@ -69,7 +69,6 @@ export default class SettingsFunctions {
// Finally we set this to true so it doesn't run the function on every load
localStorage.setItem('firstRun', true);
- window.location.reload();
}
static loadSettings(hotreload) {
@@ -162,23 +161,20 @@ export default class SettingsFunctions {
}
static moveSettings() {
- localStorage.setItem('order', "[\"greeting\", \"time\", \"quicklinks\", \"quote\", \"date\"]");
- localStorage.setItem('backgroundType', 'api');
- localStorage.setItem('timeformat', 'twentyfourhour');
- localStorage.setItem('bgtransition', true);
- localStorage.setItem('tempformat', 'celsius');
- localStorage.setItem('theme', 'auto');
- localStorage.setItem('toastDisplayTime', 2500);
- localStorage.setItem('widgetzoom', 100);
- localStorage.setItem('fontweight', 400);
- localStorage.setItem('language', window.languagecode);
- localStorage.setItem('tabname', window.language.tabname);
- localStorage.setItem('debugtimeout', 0);
- localStorage.setItem('showWelcome', true);
- localStorage.setItem('quicklinks', '[]');
- localStorage.setItem('customBackgroundColour', "{\"angle\":\"180\",\"gradient\":[{\"colour\":\"#ffb032\",\"stop\":0}],\"type\":\"linear\"}");
- localStorage.setItem('firstRun', true);
+ if (Object.keys(localStorage).length === 0) {
+ return this.setDefaultSettings();
+ }
- window.location.reload();
+ let settings = {};
+ for (const key of Object.keys(localStorage)) {
+ settings[key] = localStorage.getItem(key);
+ }
+
+ localStorage.clear();
+
+ this.setDefaultSettings();
+ Object.keys(settings).forEach(key => {
+ localStorage.setItem(key, settings[key]);
+ });
}
}