From 3ec5a2c199ca89cf268c439897915f3e7974f448 Mon Sep 17 00:00:00 2001 From: David Ralph Date: Sat, 16 Jan 2021 22:43:46 +0000 Subject: [PATCH] soon --- src/App.jsx | 25 ++++-- src/components/modals/Main.jsx | 32 +++++--- src/components/modals/Update.jsx | 1 + src/components/modals/marketplace/Item.jsx | 4 +- src/components/modals/marketplace/Items.jsx | 8 +- src/components/modals/settings/Checkbox.jsx | 12 ++- src/components/modals/settings/FileUpload.jsx | 9 ++- src/components/modals/settings/Section.jsx | 15 +++- src/components/modals/settings/Slider.jsx | 5 +- .../settings/sections/BackgroundSettings.jsx | 47 ++++++++--- .../settings/sections/GreetingSettings.jsx | 9 ++- .../settings/sections/SearchSettings.jsx | 7 +- src/components/modals/tabs/Addons.jsx | 38 +++++++-- src/components/modals/tabs/Marketplace.jsx | 49 +++++++++--- src/components/modals/tabs/Settings.jsx | 10 ++- src/components/widgets/Widgets.jsx | 19 +++-- .../widgets/background/Background.jsx | 79 ++++++++++++++----- .../widgets/background/Favourite.jsx | 14 +++- .../widgets/background/Maximise.jsx | 13 ++- src/components/widgets/greeting/Greeting.jsx | 38 ++++++--- src/components/widgets/navbar/Navbar.jsx | 8 +- src/components/widgets/navbar/Notes.jsx | 4 +- src/components/widgets/quote/Quote.jsx | 72 ++++++++++++----- src/components/widgets/search/Search.jsx | 6 +- src/components/widgets/time/Clock.jsx | 53 ++++++++----- src/components/widgets/time/Date.jsx | 32 +++++--- src/modules/helpers/background/hexToRgb.js | 9 ++- src/modules/helpers/background/rgbToHex.js | 14 +++- src/modules/helpers/background/rgbToHsv.js | 18 +++-- src/modules/helpers/background/setRgba.js | 6 +- src/modules/helpers/marketplace.js | 28 +++++-- src/modules/helpers/settings.js | 28 +++++-- 32 files changed, 530 insertions(+), 182 deletions(-) diff --git a/src/App.jsx b/src/App.jsx index 3fd0423a..bd0e0776 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -29,18 +29,31 @@ export default class App extends React.PureComponent { } componentDidMount() { - if (!localStorage.getItem('firstRun')) SettingsFunctions.setDefaultSettings(); - if (localStorage.getItem('showWelcome') === 'true') this.setState({ welcomeModal: true }); + if (!localStorage.getItem('firstRun')) { + SettingsFunctions.setDefaultSettings(); + } + + if (localStorage.getItem('showWelcome') === 'true') { + this.setState({ + welcomeModal: true + }); + } const css = localStorage.getItem('customcss'); - if (css) document.head.insertAdjacentHTML('beforeend', ''); + if (css) { + document.head.insertAdjacentHTML('beforeend', ''); + } - if (localStorage.getItem('darkTheme') === 'true') document.getElementsByClassName('Toastify')[0].classList.add('dark'); + if (localStorage.getItem('darkTheme') === 'true'){ + document.getElementsByClassName('Toastify')[0].classList.add('dark'); + } } closeWelcome() { localStorage.setItem('showWelcome', false); - this.setState({ welcomeModal: false }); + this.setState({ + welcomeModal: false + }); } // Render all the components @@ -48,10 +61,12 @@ export default class App extends React.PureComponent { // dark theme support for modals and info card let modalClassList = 'Modal'; let tooltipClassList = 'infoCard'; + if ((localStorage.getItem('brightnessTime') && new Date().getHours() > 18) || localStorage.getItem('darkTheme') === 'true') { modalClassList += ' dark'; tooltipClassList += ' dark'; } + const overlayClassList = (localStorage.getItem('animations') === 'true') ? 'Overlay modal-animation' : 'Overlay'; /// language diff --git a/src/components/modals/Main.jsx b/src/components/modals/Main.jsx index 9cd69890..9f65db61 100644 --- a/src/components/modals/Main.jsx +++ b/src/components/modals/Main.jsx @@ -9,23 +9,26 @@ import AddonsIcon from '@material-ui/icons/Widgets'; import MarketplaceIcon from '@material-ui/icons/ShoppingBasket'; export default class MainModal extends React.PureComponent { - constructor(...args) { - super(...args); - this.state = { - tab: '', - currentTab: '' - }; - this.tabs = { - settings: , - addons: this.changeEnabled('marketplace')}/>, - marketplace: - } + constructor(...args) { + super(...args); + this.state = { + tab: '', + currentTab: '' } + this.tabs = { + settings: , + addons: this.changeEnabled('marketplace')}/>, + marketplace: + } + } componentDidMount() { document.getElementById('backgroundImage').classList.toggle('backgroundEffects'); document.getElementById('center').classList.toggle('backgroundEffects'); - this.setState({ tab: this.tabs.settings, currentTab: 'settings' }); + + this.setState({ + tab: this.tabs.settings, currentTab: 'settings' + }); } componentWillUnmount() { @@ -36,7 +39,10 @@ export default class MainModal extends React.PureComponent { changeEnabled(input) { document.getElementById(this.state.currentTab + 'TabLink').classList.toggle('active'); document.getElementById(input + 'TabLink').classList.toggle('active'); - this.setState({ tab: this.tabs[input], currentTab: input }); + + this.setState({ + tab: this.tabs[input], currentTab: input + }); } render() { diff --git a/src/components/modals/Update.jsx b/src/components/modals/Update.jsx index c93e341e..5a2c2504 100644 --- a/src/components/modals/Update.jsx +++ b/src/components/modals/Update.jsx @@ -22,6 +22,7 @@ export default class Update extends React.PureComponent { } const data = await (await fetch(Constants.API_URL + '/getUpdate')).json(); + if (data.statusCode === 500 || data.title === null) { const supportText = `

${this.props.language.contact_support}: https://muetab.com/contact

`; return this.setState({ diff --git a/src/components/modals/marketplace/Item.jsx b/src/components/modals/marketplace/Item.jsx index aaac6335..a43a4506 100644 --- a/src/components/modals/marketplace/Item.jsx +++ b/src/components/modals/marketplace/Item.jsx @@ -15,7 +15,9 @@ export default class Item extends React.PureComponent { ); } - } catch (e) {} + } catch (e) { + // ignore + } return (
diff --git a/src/components/modals/marketplace/Items.jsx b/src/components/modals/marketplace/Items.jsx index af9bc691..a144453d 100644 --- a/src/components/modals/marketplace/Items.jsx +++ b/src/components/modals/marketplace/Items.jsx @@ -2,10 +2,14 @@ import React from 'react'; export default class Items extends React.PureComponent { render() { - if (this.props.items.length === 0) return null; // if there are no items in category don't render it + if (this.props.items.length === 0) { + return null; // if there are no items in category don't render it + } let seeMoreHTML; - if (this.props.seeMoreFunction && this.props.items.length === 3) seeMoreHTML = ; // only render see more button if there are enough addons + if (this.props.seeMoreFunction && this.props.items.length === 3) { + seeMoreHTML = ; // only render see more button if there are enough addons + } return (
diff --git a/src/components/modals/settings/Checkbox.jsx b/src/components/modals/settings/Checkbox.jsx index 5b799c6d..ca64eb71 100644 --- a/src/components/modals/settings/Checkbox.jsx +++ b/src/components/modals/settings/Checkbox.jsx @@ -13,13 +13,19 @@ export default class Checkbox extends React.PureComponent { handleChange(name) { SettingsFunctions.setItem(name); - this.setState({ checked: (this.state.checked === true) ? false : true }); + this.setState({ + checked: (this.state.checked === true) ? false : true + }); } render() { let text = this.props.text; - if (this.props.newFeature) text = {this.props.text} NEW; - else if (this.props.betaFeature) text = {this.props.text} BETA; + + if (this.props.newFeature) { + text = {this.props.text} NEW; + } else if (this.props.betaFeature) { + text = {this.props.text} BETA; + } return ( diff --git a/src/components/modals/settings/FileUpload.jsx b/src/components/modals/settings/FileUpload.jsx index 9de79f0d..59ffdcc6 100644 --- a/src/components/modals/settings/FileUpload.jsx +++ b/src/components/modals/settings/FileUpload.jsx @@ -7,9 +7,12 @@ export default class FileUpload extends React.PureComponent { const reader = new FileReader(); const file = e.target.files[0]; - if (this.props.type === 'settings') reader.readAsText(file, 'UTF-8'); - else { // background upload - if (file.size > 2000000) return toast('File is over 2MB'); + if (this.props.type === 'settings') { + reader.readAsText(file, 'UTF-8'); + } else { // background upload + if (file.size > 2000000) { + return toast('File is over 2MB'); + } reader.readAsDataURL(file); } reader.addEventListener('load', (e) => this.props.loadFunction(e)); diff --git a/src/components/modals/settings/Section.jsx b/src/components/modals/settings/Section.jsx index 130b34f0..1efb93b6 100644 --- a/src/components/modals/settings/Section.jsx +++ b/src/components/modals/settings/Section.jsx @@ -19,7 +19,9 @@ export default class Section extends React.PureComponent { transform: (this.state.transform === 'rotate(0)') ? 'rotate(-180deg)' : 'rotate(0)' }); - if (this.props.onToggle) this.props.onToggle(display); + if (this.props.onToggle) { + this.props.onToggle(display); + } } render() { @@ -31,6 +33,7 @@ export default class Section extends React.PureComponent {
  • {this.props.children}
  • ); + expandMore = ( this.toggleSection()} /> ); } - if (this.props.slider !== false) slider = ; - if (this.props.dropdown === false) noDropdown = 'nodropdown'; + + if (this.props.slider !== false) { + slider = ; + } + + if (this.props.dropdown === false){ + noDropdown = 'nodropdown'; + } return (
    diff --git a/src/components/modals/settings/Slider.jsx b/src/components/modals/settings/Slider.jsx index 2826d475..bbe11107 100644 --- a/src/components/modals/settings/Slider.jsx +++ b/src/components/modals/settings/Slider.jsx @@ -11,11 +11,14 @@ export default class Slider extends React.PureComponent { handleChange(name) { SettingsFunctions.setItem(name); - this.setState({ checked: (this.state.checked === true) ? false : true }); + this.setState({ + checked: (this.state.checked === true) ? false : true + }); } render() { let setText = (this.props.override) ? this.props.override : this.props.name; + return (