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]); + }); } }