fix: various fixes and date zero-padded feature

This commit is contained in:
David Ralph 2021-04-17 11:17:46 +01:00
parent de417f5fd1
commit 6573ba9553
12 changed files with 74 additions and 35 deletions

View File

@ -19,10 +19,12 @@ export default class ErrorBoundary extends React.PureComponent {
render() {
if (this.state.error) {
return (
<div style={{'textAlign': 'center'}}>
<h1>{this.language.title}</h1>
<p>{this.language.message}</p>
<button className='refresh' onClick={() => window.location.reload()}>{this.language.refresh}</button>
<div className='emptyitems'>
<div className='emptyMessage'>
<h1>{this.language.title}</h1>
<p>{this.language.message}</p>
<button className='refresh' onClick={() => window.location.reload()}>{this.language.refresh}</button>
</div>
</div>
);
}

View File

@ -367,3 +367,7 @@ li {
.MuiIconButton-root {
color: var(--modal-text) !important;
}
.MuiFormControl-root {
margin-top: 10px !important;
}

View File

@ -18,6 +18,10 @@ export default class Dropdown extends React.PureComponent {
onChange = (e) => {
const { value } = e.target;
if (value === window.language.modals.main.loading) {
return;
}
this.setState({
value: value,
title: e.target[e.target.selectedIndex].text

View File

@ -19,6 +19,10 @@ export default class Radio extends React.PureComponent {
handleChange = (e) => {
const { value } = e.target;
if (value === 'loading') {
return;
}
localStorage.setItem(this.props.name, value);
this.setState({

View File

@ -18,7 +18,7 @@ export default class Changelog extends React.PureComponent {
title: data.title,
date: data.date.split(' ')[0],
image: data.featured_image || null,
author: 'By ' + data.author,
author: 'By ' + data.authors.join(', '),
html: data.html
});
}

View File

@ -3,17 +3,48 @@ import React from 'react';
import Radio from '../Radio';
const languages = require('../../../../../modules/languages.json');
const quote_languages = require('../../../../../modules/quote_languages.json');
export default function LanguageSettings() {
const language = window.language.modals.main.settings.sections.language;
export default class BackgroundSettings extends React.PureComponent {
constructor() {
super();
this.state = {
quoteLanguages: [{
name: window.language.modals.main.loading,
value: 'loading'
}]
};
}
return (
<>
<h2>{language.title}</h2>
<Radio name='language' options={languages} element='.language' />
<h3>{language.quote}</h3>
<Radio name='quotelanguage' options={quote_languages} category='quote' />
</>
);
async getQuoteLanguages() {
const data = await (await fetch(window.constants.API_URL + '/quotes/languages')).json();
let array = [];
data.forEach(item => {
array.push({
name: item,
value: item
});
});
this.setState({
quoteLanguages: array
});
}
componentDidMount() {
this.getQuoteLanguages();
}
render() {
const language = window.language.modals.main.settings.sections.language;
return (
<>
<h2>{language.title}</h2>
<Radio name='language' options={languages} element='.language' />
<h3>{language.quote}</h3>
<Radio name='quotelanguage' options={this.state.quoteLanguages} category='quote' />
</>
);
}
}

View File

@ -109,6 +109,7 @@ export default class TimeSettings extends React.PureComponent {
<option value='short'>{time.date.type.short}</option>
</Dropdown>
<br/>
<Checkbox name='datezero' text={time.digital.zero} category='date' element='.date' />
<Checkbox name='weeknumber' text={time.date.week_number} category='date' element='.date'/>
{dateSettings}
</>

View File

@ -106,7 +106,7 @@ export default class Quote extends React.PureComponent {
}
let authorlink = `https://${window.languagecode.split('_')[0]}.wikipedia.org/wiki/${data.author.split(' ').join('_')}`;
if (localStorage.getItem('authorLink') === 'false') {
if (localStorage.getItem('authorLink') === 'false' || data.author === 'Unknown') {
authorlink = null;
}

View File

@ -44,8 +44,10 @@ export default class DateWidget extends React.PureComponent {
const dateMonth = date.getMonth() + 1;
const dateYear = date.getFullYear();
let day = dateDay;
let month = dateMonth;
const zero = (localStorage.getItem('datezero') === 'true');
let day = zero ? ('00' + dateDay).slice(-2) : dateDay;
let month = zero ? ('00' + dateMonth).slice(-2) : dateMonth;
let year = dateYear;
switch (localStorage.getItem('dateFormat')) {

View File

@ -198,5 +198,9 @@
{
"name": "hourHand",
"value": true
},
{
"name": "datezero",
"value": true
}
]

View File

@ -1,10 +0,0 @@
[
{
"name": "English",
"value": "English"
},
{
"name": "Français",
"value": "French"
}
]

View File

@ -31,9 +31,6 @@
"weather": {
"not_found": "Nicht gefunden"
},
"date": {
"week": "Week"
},
"navbar": {
"tooltips": {
"update": "Update Hinweise",
@ -254,12 +251,12 @@
"custom_css": "Benutzerdefiniertes CSS",
"custom_js": "Benutzerdefiniertes JS",
"tab_name": "Tab Name",
"experimental_warning": "Bitte beachten Sie, dass das Mue Team keinen Support leisten kann, wenn Sie den experimentellen Modus aktiviert haben. Bitte deaktivieren Sie ihn zuerst und schauen Sie, ob das Problem weiterhin auftritt, bevor Sie den Support kontaktieren.",
"developer": "Entwickler"
"experimental_warning": "Bitte beachten Sie, dass das Mue Team keinen Support leisten kann, wenn Sie den experimentellen Modus aktiviert haben. Bitte deaktivieren Sie ihn zuerst und schauen Sie, ob das Problem weiterhin auftritt, bevor Sie den Support kontaktieren."
},
"experimental": {
"title": "Experimentell",
"warning": "Diese Einstellungen sind nicht vollständig getestet/implementiert und funktionieren möglicherweise nicht korrekt!"
"warning": "Diese Einstellungen sind nicht vollständig getestet/implementiert und funktionieren möglicherweise nicht korrekt!",
"developer": "Entwickler"
},
"language": {
"title": "Sprache",