cleanup and a new feature

This commit is contained in:
David Ralph
2020-09-14 20:48:58 +01:00
parent 9969a4db10
commit 1249ce45d3
8 changed files with 72 additions and 50 deletions

View File

@@ -0,0 +1,41 @@
import React from 'react';
import FullscreenIcon from '@material-ui/icons/Fullscreen';
export default class View extends React.PureComponent {
constructor(...args) {
super(...args);
this.state = {
hidden: false
};
}
setAttribute(blur, brightness) {
document.querySelector('#backgroundImage').setAttribute(
'style',
`background-image: url(${document.getElementById('backgroundImage').style.backgroundImage.replace('url("', '').replace('")', '')});
-webkit-filter: blur(${blur});
-webkit-filter: brightness(${brightness}%);`
);
}
viewStuff() {
const elements = ['#searchBar', '.navbar-container', '.clock', '.greeting', '.quotediv'];
elements.forEach(element => {
(this.state.hidden === false) ? document.querySelector(element).style.display = 'none' : document.querySelector(element).style.display = 'block';
});
if (this.state.hidden === false) {
this.setState({ hidden: true });
this.setAttribute(0, 100);
} else {
this.setState({ hidden: false });
this.setAttribute(localStorage.getItem('blur'), localStorage.getItem('brightness'));
}
}
render() {
if (localStorage.getItem('view') === 'false') return <div></div>;
return <div className='view'>
<FullscreenIcon id='viewButton' onClick={() => this.viewStuff()} />
</div>
}
}

View File

@@ -34,8 +34,7 @@ export default class Quote extends React.PureComponent {
if (localStorage.getItem('offlineMode') === 'true') return this.doOffline();
try { // First we try and get a quote from the API...
let data = await fetch(Constants.API_URL + '/getQuote');
data = await data.json();
const data = await (await fetch(Constants.API_URL + '/getQuote')).json();
if (data.statusCode === 429) return this.doOffline(); // If we hit the ratelimit, we fallback to local quotes
this.setState({
quote: '"' + data.quote + '"',
@@ -61,7 +60,7 @@ export default class Quote extends React.PureComponent {
if (localStorage.getItem('copyButton') === 'false') copy = '';
return (
<div>
<div className='quotediv'>
<h1 className='quote'>{`${this.state.quote}`}</h1>
<h1 className='quoteauthor'>{this.state.author} {copy}</h1>
</div>