refactor: improve dark theme, add switch component etc, fix stuff

Co-authored-by: Alex Sparkes <turbomarshmello@gmail.com>
This commit is contained in:
David Ralph
2021-03-20 19:45:49 +00:00
parent b7656fa951
commit e4395497ed
23 changed files with 150 additions and 84 deletions

View File

@@ -26,11 +26,41 @@ export default class Widgets extends React.PureComponent {
return enabled;
}
componentDidMount() {
const widget = document.getElementById('widgets');
// These lines of code prevent double clicking the page or pressing CTRL + A from highlighting the page
widget.addEventListener('mousedown', (event) => {
if (event.detail > 1) {
event.preventDefault();
}
}, false);
document.onkeydown = (e) => {
e = e || window.event;
if (!e.ctrlKey) {
return;
}
let code = e.which || e.keyCode;
const modals = document.getElementsByClassName('ReactModal__Overlay');
if (modals.length > 0) {
return;
}
switch (code) {
case 65:
e.preventDefault();
e.stopPropagation();
break;
}
};
}
render() {
const enabled = this.enabled;
return (
<React.Fragment>
<div id='widgets'>
{enabled('searchBar') ? <Search/> : null}
{enabled('greeting') ? <Greeting/> : null}
{enabled('time') ? <Clock/> : null}
@@ -38,7 +68,7 @@ export default class Widgets extends React.PureComponent {
{enabled('quote') ? <Quote/> : null}
{enabled('view') ? <Maximise/> : null}
{enabled('favouriteEnabled') ? <Favourite/> : null}
</React.Fragment>
</div>
);
}
}

View File

@@ -71,28 +71,11 @@ export default class DateWidget extends React.PureComponent {
}
}
// based on https://gist.github.com/IamSilviu/5899269#gistcomment-2773524
getWeekNumber() {
const today = new Date();
const firstDayOfYear = new Date(today.getFullYear(), 0, 1);
const pastDaysOfYear = (today - firstDayOfYear) / 86400000;
return Math.ceil((pastDaysOfYear + firstDayOfYear.getDay() + 1) / 7);
}
componentDidMount() {
this.getDate();
}
render() {
return (
<div>
<span style={{ 'textTransform': 'capitalize', 'fontWeight': 'bold' }}>{this.state.date}</span>
{(localStorage.getItem('weeknumber') === 'true') ?
<span style={{ 'textTransform': 'capitalize', 'fontWeight': 'bold' }}><br/>
{'Week ' + this.getWeekNumber()}
</span>
:null}
</div>
)
return <span style={{ 'textTransform': 'capitalize', 'fontWeight': 'bold' }}>{this.state.date}</span>;
}
}