diff --git a/src/components/modals/main/marketplace/sections/Added.jsx b/src/components/modals/main/marketplace/sections/Added.jsx index a2e30bd4..a724ca10 100644 --- a/src/components/modals/main/marketplace/sections/Added.jsx +++ b/src/components/modals/main/marketplace/sections/Added.jsx @@ -3,7 +3,6 @@ import React from 'react'; import LocalMallIcon from '@material-ui/icons/LocalMall'; import Item from '../Item'; import Items from '../Items'; -import FileUpload from '../../settings/FileUpload'; import MarketplaceFunctions from '../../../../../modules/helpers/marketplace'; @@ -117,8 +116,6 @@ export default class Added extends React.PureComponent { return ( <>
- this.manage('install', JSON.parse(e.target.result))} /> - {/**/} {content}
this.toggle()} /> diff --git a/src/components/modals/main/marketplace/sections/Sideload.jsx b/src/components/modals/main/marketplace/sections/Sideload.jsx new file mode 100644 index 00000000..02e09142 --- /dev/null +++ b/src/components/modals/main/marketplace/sections/Sideload.jsx @@ -0,0 +1,30 @@ +import React from 'react'; + +import FileUpload from '../../settings/FileUpload'; + +import MarketplaceFunctions from '../../../../../modules/helpers/marketplace'; + +import { toast } from 'react-toastify'; + +export default function Sideload() { + const manage = (type, input) => { + switch (type) { + case 'install': + MarketplaceFunctions.install(input.type, input); + break; + default: + break; + } + + toast(window.language.toasts[type + 'ed']); + } + + return ( + <> +
+ manage('install', JSON.parse(e.target.result))} /> + +
+ + ); +} diff --git a/src/components/modals/main/settings/sections/Greeting.jsx b/src/components/modals/main/settings/sections/Greeting.jsx index 5c10441f..96117263 100644 --- a/src/components/modals/main/settings/sections/Greeting.jsx +++ b/src/components/modals/main/settings/sections/Greeting.jsx @@ -1,5 +1,7 @@ import React from 'react'; +import EventBus from '../../../../../modules/helpers/eventbus'; + import Checkbox from '../Checkbox'; import Switch from '../Switch'; import Text from '../Text'; @@ -22,6 +24,8 @@ export default class GreetingSettings extends React.PureComponent { this.setState({ birthday: data }); + + EventBus.dispatch('refresh', 'greeting'); } render() { @@ -30,14 +34,14 @@ export default class GreetingSettings extends React.PureComponent { return ( <>

{greeting.title}

- - - - + + + +

{greeting.birthday}

- - + +

{greeting.birthday_date}

diff --git a/src/components/modals/main/settings/sections/Time.jsx b/src/components/modals/main/settings/sections/Time.jsx index 74a4a903..f813207e 100644 --- a/src/components/modals/main/settings/sections/Time.jsx +++ b/src/components/modals/main/settings/sections/Time.jsx @@ -34,21 +34,21 @@ export default class TimeSettings extends React.PureComponent { const digitalSettings = ( <>

{time.digital.title}

- +
- - + + ); const analogSettings = ( <>

{time.analogue.title}

- - - - - + + + + + ); @@ -62,21 +62,21 @@ export default class TimeSettings extends React.PureComponent { const longSettings = ( <> - - + + ); const shortSettings = ( <>
- +

- + @@ -94,8 +94,8 @@ export default class TimeSettings extends React.PureComponent { return ( <>

{time.title}

- - this.setState({ timeType: value })}> + + this.setState({ timeType: value })} category='clock'> @@ -103,13 +103,13 @@ export default class TimeSettings extends React.PureComponent { {timeSettings}

{time.date.title}

- - this.setState({ dateType: value })}> + + this.setState({ dateType: value })} category='date'>
- + {dateSettings} ); diff --git a/src/components/modals/main/tabs/Addons.jsx b/src/components/modals/main/tabs/Addons.jsx index 5296fd0a..8d2b720c 100644 --- a/src/components/modals/main/tabs/Addons.jsx +++ b/src/components/modals/main/tabs/Addons.jsx @@ -1,6 +1,7 @@ import React from 'react'; import Added from '../marketplace/sections/Added'; +import Sideload from '../marketplace/sections/Sideload'; import Tabs from './backend/Tabs'; @@ -10,7 +11,7 @@ export default function Addons() { return (
-
+
); } diff --git a/src/components/widgets/background/Favourite.jsx b/src/components/widgets/background/Favourite.jsx index 4e06b74b..cfab8f7d 100644 --- a/src/components/widgets/background/Favourite.jsx +++ b/src/components/widgets/background/Favourite.jsx @@ -36,6 +36,6 @@ export default class Favourite extends React.PureComponent { return null; } - return {this.state.favourited}; + return {this.state.favourited}; } } diff --git a/src/components/widgets/background/Maximise.jsx b/src/components/widgets/background/Maximise.jsx index 84ac1d36..5bd94eb1 100644 --- a/src/components/widgets/background/Maximise.jsx +++ b/src/components/widgets/background/Maximise.jsx @@ -48,7 +48,7 @@ export default class View extends React.PureComponent { render() { return ( - + ); diff --git a/src/components/widgets/greeting/Greeting.jsx b/src/components/widgets/greeting/Greeting.jsx index 5809afc9..1e93e029 100644 --- a/src/components/widgets/greeting/Greeting.jsx +++ b/src/components/widgets/greeting/Greeting.jsx @@ -1,5 +1,6 @@ import React from 'react'; +import EventBus from '../../../modules/helpers/eventbus'; import dtf from '../../../modules/helpers/date'; import './greeting.scss'; @@ -101,6 +102,18 @@ export default class Greeting extends React.PureComponent { } componentDidMount() { + EventBus.on('refresh', (data) => { + if (data === 'greeting') { + const element = document.querySelector('.greeting'); + + if (localStorage.getItem('greeting') === 'false') { + return element.style.display = 'none'; + } + + element.style.display = 'block'; + } + }); + this.getGreeting(0); } diff --git a/src/components/widgets/quicklinks/QuickLinks.jsx b/src/components/widgets/quicklinks/QuickLinks.jsx index ac0e9ca0..6e5ebd20 100644 --- a/src/components/widgets/quicklinks/QuickLinks.jsx +++ b/src/components/widgets/quicklinks/QuickLinks.jsx @@ -87,10 +87,10 @@ export default class QuickLinks extends React.PureComponent { const tooltipEnabled = localStorage.getItem('quicklinkstooltip'); - const quickLink = (item) => { + const quickLink = (item, index) => { const link = ( - this.deleteLink(item.name, e)} href={item.url} target={target} rel={rel}> - {item.name}/ + this.deleteLink(item.name, e)} href={item.url} target={target} rel={rel} draggable={false}> + {item.name} ); @@ -103,8 +103,8 @@ export default class QuickLinks extends React.PureComponent { return (
- {this.state.items.map((item) => ( - quickLink(item) + {this.state.items.map((item, index) => ( + quickLink(item, index) ))} diff --git a/src/components/widgets/quote/Quote.jsx b/src/components/widgets/quote/Quote.jsx index a91fc96f..753b06d1 100644 --- a/src/components/widgets/quote/Quote.jsx +++ b/src/components/widgets/quote/Quote.jsx @@ -178,10 +178,6 @@ export default class Quote extends React.PureComponent { this.init(); } - componentWillUnmount() { - EventBus.remove('refresh'); - } - render() { return (
diff --git a/src/components/widgets/time/Clock.jsx b/src/components/widgets/time/Clock.jsx index 4f660d00..2133c165 100644 --- a/src/components/widgets/time/Clock.jsx +++ b/src/components/widgets/time/Clock.jsx @@ -1,5 +1,7 @@ import React from 'react'; +import EventBus from '../../../modules/helpers/eventbus'; + import './clock.scss'; const Analog = React.lazy(() => import('react-clock')); @@ -86,11 +88,23 @@ export default class Clock extends React.PureComponent { } componentDidMount() { + EventBus.on('refresh', (data) => { + if (data === 'clock') { + const element = document.querySelector('.clock-container'); + + if (localStorage.getItem('time') === 'false') { + return element.style.display = 'none'; + } + + element.style.display = 'block'; + } + }); + this.startTime(0); } render() { - let clockHTML =

{this.state.time}{this.state.ampm}

; + let clockHTML =

{this.state.time}{this.state.ampm}

; const enabled = (setting) => { return (localStorage.getItem(setting) === 'true'); @@ -100,7 +114,7 @@ export default class Clock extends React.PureComponent { clockHTML = ( { + if (data === 'date') { + const element = document.querySelector('.date'); + + if (localStorage.getItem('date') === 'false') { + return element.style.display = 'none'; + } + + element.style.display = 'block'; + this.getDate(); + } + }); + this.getDate(); } diff --git a/src/modules/helpers/marketplace.js b/src/modules/helpers/marketplace.js index 648238d4..a4f3be1f 100644 --- a/src/modules/helpers/marketplace.js +++ b/src/modules/helpers/marketplace.js @@ -60,6 +60,7 @@ export default class MarketplaceFunctions { input.settings.forEach(element => localStorage.setItem(element.name, element.value)); break; + case 'photos': case 'photo_packs': localStorage.setItem('photo_packs', JSON.stringify(input.photos)); localStorage.setItem('oldBackgroundType', localStorage.getItem('backgroundType'));