From 5f9bc4a94be6b4fe5da6b02500fbdb5bfc34e6a4 Mon Sep 17 00:00:00 2001 From: David Ralph Date: Wed, 31 Mar 2021 12:21:37 +0100 Subject: [PATCH] fix: Reset modal now works, widget order has reset button etc --- src/components/modals/main/scss/index.scss | 10 +++++ .../modals/main/settings/ResetModal.jsx | 15 ++++--- .../modals/main/settings/sections/About.jsx | 15 +++++-- .../main/settings/sections/Advanced.jsx | 2 +- .../modals/main/settings/sections/Order.jsx | 10 ++++- src/components/modals/main/tabs/Settings.jsx | 5 ++- .../modals/main/tabs/backend/Tab.jsx | 39 ++++++++++++------- .../modals/main/tabs/backend/Tabs.jsx | 2 +- src/modules/constants.js | 1 + src/modules/default_settings.json | 4 ++ src/translations/en_GB.json | 1 + 11 files changed, 75 insertions(+), 29 deletions(-) diff --git a/src/components/modals/main/scss/index.scss b/src/components/modals/main/scss/index.scss index 9b112c07..a3052a34 100644 --- a/src/components/modals/main/scss/index.scss +++ b/src/components/modals/main/scss/index.scss @@ -325,3 +325,13 @@ li { border-radius: 50%; padding-right: 5px; } + +.resetmodal { + min-height: 300px !important; + max-width: 300px !important; +} + +.resetfooter { + position: absolute; + bottom: 20px; +} \ No newline at end of file diff --git a/src/components/modals/main/settings/ResetModal.jsx b/src/components/modals/main/settings/ResetModal.jsx index b898cacd..51951193 100644 --- a/src/components/modals/main/settings/ResetModal.jsx +++ b/src/components/modals/main/settings/ResetModal.jsx @@ -1,13 +1,16 @@ import React from 'react'; +import SettingsFunctions from '../../../../modules/helpers/settings'; + export default function ResetModal(props) { return ( -
- × -
- reset text - - +
+

WARNING

+

Do you want to reset Mue?

+

This will delete all data. If you want to keep your data and preferences, please export first.

+
+ +
); diff --git a/src/components/modals/main/settings/sections/About.jsx b/src/components/modals/main/settings/sections/About.jsx index 0ac658d6..2add4761 100644 --- a/src/components/modals/main/settings/sections/About.jsx +++ b/src/components/modals/main/settings/sections/About.jsx @@ -18,10 +18,19 @@ export default class About extends React.PureComponent { } async getGitHubData() { - const contributors = await (await fetch('https://api.github.com/repos/mue/mue/contributors')).json(); - const { sponsors } = await (await fetch(window.constants.SPONSORS_URL + '/list')).json(); + let contributors, sponsors, versionData; + try { + contributors = await (await fetch(window.constants.GITHUB_URL + '/repos/mue/mue/contributors')).json(); + sponsors = (await (await fetch(window.constants.SPONSORS_URL + '/list')).json()).sponsors; + + versionData = await (await fetch(window.constants.GITHUB_URL + '/repos/mue/mue/releases')).json(); + } catch (e) { + return this.setState({ + update: 'Failed to get update information', + loading: 'An error occurred' + }); + } - const versionData = await (await fetch('https://api.github.com/repos/mue/mue/releases')).json(); const newVersion = versionData[0].tag_name; let updateMsg = this.language.version.no_update; diff --git a/src/components/modals/main/settings/sections/Advanced.jsx b/src/components/modals/main/settings/sections/Advanced.jsx index cca59185..fd2fa770 100644 --- a/src/components/modals/main/settings/sections/Advanced.jsx +++ b/src/components/modals/main/settings/sections/Advanced.jsx @@ -52,7 +52,7 @@ export default class AdvancedSettings extends React.PureComponent {

{advanced.experimental_warning}

- this.setState({ resetModal: false })} isOpen={this.state.resetModal} className={'modal'} overlayClassName={'Overlay'} ariaHideApp={false}> + this.setState({ resetModal: false })} isOpen={this.state.resetModal} className={'Modal resetmodal'} overlayClassName={'Overlay'} ariaHideApp={false}> this.setState({ resetModal: false })} /> diff --git a/src/components/modals/main/settings/sections/Order.jsx b/src/components/modals/main/settings/sections/Order.jsx index 9f6632f5..beeff2bb 100644 --- a/src/components/modals/main/settings/sections/Order.jsx +++ b/src/components/modals/main/settings/sections/Order.jsx @@ -26,7 +26,14 @@ export default class OrderSettings extends React.PureComponent { this.setState(({items}) => ({ items: arrayMove(items, oldIndex, newIndex) })); - }; + } + + reset = () => { + localStorage.setItem('order', JSON.stringify(['greeting', 'time', 'quote', 'date'])); + this.setState({ + items: JSON.parse(localStorage.getItem('order')) + }); + } componentDidUpdate() { localStorage.setItem('order', JSON.stringify(this.state.items)); @@ -36,6 +43,7 @@ export default class OrderSettings extends React.PureComponent { return ( <>

Order

+ Reset {this.state.items.map((value, index) => ( diff --git a/src/components/modals/main/tabs/Settings.jsx b/src/components/modals/main/tabs/Settings.jsx index 97528670..9a7de327 100644 --- a/src/components/modals/main/tabs/Settings.jsx +++ b/src/components/modals/main/tabs/Settings.jsx @@ -11,6 +11,7 @@ import Background from '../settings/sections/background/Background'; import Advanced from '../settings/sections/Advanced'; import Changelog from '../settings/sections/Changelog'; import Order from '../settings/sections/Order'; +import Experimental from '../settings/sections/Experimental'; import Tabs from './backend/Tabs'; @@ -25,10 +26,10 @@ export default function Settings() {
-
+
-
+
diff --git a/src/components/modals/main/tabs/backend/Tab.jsx b/src/components/modals/main/tabs/backend/Tab.jsx index 97184053..4cb01c63 100644 --- a/src/components/modals/main/tabs/backend/Tab.jsx +++ b/src/components/modals/main/tabs/backend/Tab.jsx @@ -34,26 +34,29 @@ export default function Tab(props) { } } + const language = window.language.modals.main.settings.sections; + const navbarlanguage = window.language.modals.main.navbar; + let icon, divider; switch (props.label) { // Navbar - case 'Settings': icon = ; break; - case 'My Add-ons': icon = ; break; - case 'Marketplace': icon = ; break; + case navbarlanguage.settings: icon = ; break; + case navbarlanguage.addons: icon = ; break; + case navbarlanguage.marketplace: icon = ; break; // Settings - case 'Time': icon =