This commit is contained in:
proddy
2022-09-06 15:04:25 +02:00
parent 3efb3a99e9
commit 76d78f34ee
16 changed files with 859 additions and 773 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -6,12 +6,12 @@
"dependencies": {
"@emotion/react": "^11.10.4",
"@emotion/styled": "^11.10.4",
"@msgpack/msgpack": "^2.7.2",
"@msgpack/msgpack": "^2.8.0",
"@mui/icons-material": "^5.10.3",
"@mui/material": "^5.10.3",
"@mui/material": "^5.10.4",
"@table-library/react-table-library": "4.0.18",
"@types/lodash": "^4.14.184",
"@types/node": "^18.7.14",
"@types/node": "^18.7.15",
"@types/react": "^18.0.18",
"@types/react-dom": "^18.0.6",
"@types/react-router-dom": "^5.3.3",
@@ -80,7 +80,7 @@
"max-len": [
1,
{
"code": 200
"code": 220
}
],
"arrow-parens": 1

View File

@@ -1,8 +1,8 @@
import { FC, useContext, useState, ChangeEventHandler } from 'react';
import { FC, useContext, useState } from 'react';
import { ValidateFieldsError } from 'async-validator';
import { useSnackbar } from 'notistack';
import { Box, Fab, Paper, Typography, MenuItem } from '@mui/material';
import { Box, Fab, Paper, Typography, Button } from '@mui/material';
import ForwardIcon from '@mui/icons-material/Forward';
import * as AuthenticationApi from './api/authentication';
@@ -18,9 +18,12 @@ import { SIGN_IN_REQUEST_VALIDATOR, validate } from './validators';
import { I18nContext } from './i18n/i18n-react';
import type { Locales } from './i18n/i18n-types';
import { locales } from './i18n/i18n-util';
import { loadLocaleAsync } from './i18n/i18n-util.async';
import { ReactComponent as NLflag } from './i18n/NL.svg';
import { ReactComponent as DEflag } from './i18n/DE.svg';
import { ReactComponent as USflag } from './i18n/US.svg';
const SignIn: FC = () => {
const authenticationContext = useContext(AuthenticationContext);
const { enqueueSnackbar } = useSnackbar();
@@ -66,10 +69,9 @@ const SignIn: FC = () => {
const submitOnEnter = onEnterCallback(signIn);
const { locale, LL, setLocale } = useContext(I18nContext);
const { LL, setLocale, locale } = useContext(I18nContext);
const onLocaleSelected: ChangeEventHandler<HTMLInputElement> = async ({ target }) => {
const loc = target.value as Locales;
const selectLocale = async (loc: Locales) => {
localStorage.setItem('lang', loc);
await loadLocaleAsync(loc);
setLocale(loc);
@@ -100,26 +102,32 @@ const SignIn: FC = () => {
<Typography variant="h4">{PROJECT_NAME}</Typography>
<Box
sx={{
'& .MuiTextField-root': { m: 2, width: '15ch' }
'& button, & a, & .MuiCard-root': {
mt: 0,
mx: 0.6,
'&:last-child': {
mr: 0
},
'&:first-of-type': {
ml: 0
}
}
}}
>
<ValidatedTextField
name="locale"
label="Language/Sprache"
variant="outlined"
value={locale || ''}
onChange={onLocaleSelected}
margin="normal"
size="small"
select
>
{locales.map((loc) => (
<MenuItem key={loc} value={loc}>
{loc}
</MenuItem>
))}
</ValidatedTextField>
<Button size="small" variant={locale === 'en' ? 'contained' : 'outlined'} onClick={() => selectLocale('en')}>
<USflag style={{ width: 24 }} />
&nbsp;EN
</Button>
<Button size="small" variant={locale === 'de' ? 'contained' : 'outlined'} onClick={() => selectLocale('de')}>
<DEflag style={{ width: 24 }} />
&nbsp;DE
</Button>
<Button size="small" variant={locale === 'nl' ? 'contained' : 'outlined'} onClick={() => selectLocale('nl')}>
<NLflag style={{ width: 24 }} />
&nbsp;NL
</Button>
</Box>
<ValidatedTextField
fieldErrors={fieldErrors}
disabled={processing}

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 85.333 512 341.333"><path fill="#D80027" d="M0 85.331h512v341.337H0z"/><path d="M0 85.331h512v113.775H0z"/><path fill="#FFDA44" d="M0 312.882h512v113.775H0z"/></svg>

After

Width:  |  Height:  |  Size: 216 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 85.5 513 342"><path fill="#FFF" d="M0 85.5h513v342H0z"/><path fill="#cd1f2a" d="M0 85.5h513v114H0z"/><path fill="#1d4185" d="M0 312h513v114H0z"/></svg>

After

Width:  |  Height:  |  Size: 202 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 513 342"><path fill="#FFF" d="M0 0h513v342H0z"/><g fill="#D80027"><path d="M0 0h513v26.3H0zM0 52.6h513v26.3H0zM0 105.2h513v26.3H0zM0 157.8h513v26.3H0zM0 210.5h513v26.3H0zM0 263.1h513v26.3H0zM0 315.7h513V342H0z"/></g><path fill="#2E52B2" d="M0 0h256.5v184.1H0z"/><g fill="#FFF"><path d="m47.8 138.9-4-12.8-4.4 12.8H26.2l10.7 7.7-4 12.8 10.9-7.9 10.6 7.9-4.1-12.8 10.9-7.7zM104.1 138.9l-4.1-12.8-4.2 12.8H82.6l10.7 7.7-4 12.8 10.7-7.9 10.8 7.9-4-12.8 10.7-7.7zM160.6 138.9l-4.3-12.8-4 12.8h-13.5l11 7.7-4.2 12.8 10.7-7.9 11 7.9-4.2-12.8 10.7-7.7zM216.8 138.9l-4-12.8-4.2 12.8h-13.3l10.8 7.7-4 12.8 10.7-7.9 10.8 7.9-4.3-12.8 11-7.7zM100 75.3l-4.2 12.8H82.6L93.3 96l-4 12.6 10.7-7.8 10.8 7.8-4-12.6 10.7-7.9h-13.4zM43.8 75.3l-4.4 12.8H26.2L36.9 96l-4 12.6 10.9-7.8 10.6 7.8L50.3 96l10.9-7.9H47.8zM156.3 75.3l-4 12.8h-13.5l11 7.9-4.2 12.6 10.7-7.8 11 7.8-4.2-12.6 10.7-7.9h-13.2zM212.8 75.3l-4.2 12.8h-13.3l10.8 7.9-4 12.6 10.7-7.8 10.8 7.8-4.3-12.6 11-7.9h-13.5zM43.8 24.7l-4.4 12.6H26.2l10.7 7.9-4 12.7L43.8 50l10.6 7.9-4.1-12.7 10.9-7.9H47.8zM100 24.7l-4.2 12.6H82.6l10.7 7.9-4 12.7L100 50l10.8 7.9-4-12.7 10.7-7.9h-13.4zM156.3 24.7l-4 12.6h-13.5l11 7.9-4.2 12.7 10.7-7.9 11 7.9-4.2-12.7 10.7-7.9h-13.2zM212.8 24.7l-4.2 12.6h-13.3l10.8 7.9-4 12.7 10.7-7.9 10.8 7.9-4.3-12.7 11-7.9h-13.5z"/></g></svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@@ -142,19 +142,15 @@ const de: Translation = {
CUSTOMIZATIONS_RESET:
'Möchten Sie wirklich alle Anpassungen entfernen, einschließlich der benutzerdefinierten Einstellungen der Temperatur- und Analogsensoren?',
DEVICE_ENTITIES: 'Geräteentitäten',
CONFIGURE: 'Konfigurieren von',
USER_CUSTOMIZATION: 'Benutzeranpassung',
SUPPORT_INFORMATION: 'Unterstützende Informationen',
HELP_INFORMATION_1: 'Besuchen Sie das Online',
HELP_INFORMATION_2: 'um Anweisungen zum',
HELP_INFORMATION_3: 'und andere Informationen zu erhalten',
HELP_INFORMATION_4: 'Für einen Live-Community-Chat verwenden Sie unseren ',
HELP_INFORMATION_5: 'Eröffnen Sie ein',
HELP_INFORMATION_6: 'Github-Issue',
HELP_INFORMATION_7: 'um neue Funktionen vorzuschlagen oder einen Fehler zu melden',
HELP_INFORMATION_8: 'Verwenden Sie den Systemdetails-',
HELP_INFORMATION_9: 'und hängen sie die Datei für eine schnellere Antwort an',
HELP_INFORMATION_10: 'EMS-ESP wird immer ein kostenloses Open-Source-Projekt sein. Belohnen Sie es mit einem ',
CLICK_HERE: 'Klick hier',
HELP_INFORMATION_1: 'Visit the online wiki to get instructions on how to configure EMS-ESP',
HELP_INFORMATION_2: 'For live community chat join our Discord server',
HELP_INFORMATION_3: 'Submit a support issue on Github for requesting a new feature or reporting a bug',
HELP_INFORMATION_4: 'remember to download and attach your system details for a faster response',
HELP_INFORMATION_5:
"EMS-ESP is a free and open-source project. Please support it's future development by giving it a star on Github!",
UPLOAD: 'Hochladen',
DOWNLOAD: 'Herunterladen',
ABORTED: 'abgebrochen',

View File

@@ -142,19 +142,15 @@ const en: BaseTranslation = {
CUSTOMIZATIONS_RESET:
'Are you sure you want remove all customizations including the custom settings of the Temperature and Analog sensors?',
DEVICE_ENTITIES: 'Device Entities',
CONFIGURE: 'configure',
USER_CUSTOMIZATION: 'User Customization',
SUPPORT_INFORMATION: 'Support Information',
HELP_INFORMATION_1: 'Visit the online',
HELP_INFORMATION_2: 'to get instructions on how to',
HELP_INFORMATION_3: 'and access other information',
HELP_INFORMATION_4: 'For live community chat join our',
HELP_INFORMATION_5: 'Submit a',
HELP_INFORMATION_6: 'support issue',
HELP_INFORMATION_7: 'for requesting a new feature or reporting a bug',
HELP_INFORMATION_8: 'Make sure you also',
HELP_INFORMATION_9: 'and attach your system details for a faster response',
HELP_INFORMATION_10: 'EMS-ESP will always be a free and open-source project. Please consider supporting it with a',
CLICK_HERE: 'Click Here',
HELP_INFORMATION_1: 'Visit the online wiki to get instructions on how to configure EMS-ESP',
HELP_INFORMATION_2: 'For live community chat join our Discord server',
HELP_INFORMATION_3: 'Submit a support issue on Github for requesting a new feature or reporting a bug',
HELP_INFORMATION_4: 'remember to download and attach your system details for a faster response',
HELP_INFORMATION_5:
"EMS-ESP is a free and open-source project. Please support it's future development by giving it a star on Github!",
UPLOAD: 'Upload',
DOWNLOAD: 'Download',
ABORTED: 'aborted',

View File

@@ -572,10 +572,6 @@ type RootTranslation = {
* Device Entities
*/
DEVICE_ENTITIES: string
/**
* configure
*/
CONFIGURE: string
/**
* User Customization
*/
@@ -585,45 +581,29 @@ type RootTranslation = {
*/
SUPPORT_INFORMATION: string
/**
* Visit the online
* Click Here
*/
CLICK_HERE: string
/**
* Visit the online wiki to get instructions on how to configure EMS-ESP
*/
HELP_INFORMATION_1: string
/**
* to get instructions on how to
* For live community chat join our Discord server
*/
HELP_INFORMATION_2: string
/**
* and access other information
* Submit a support issue on Github for requesting a new feature or reporting a bug
*/
HELP_INFORMATION_3: string
/**
* For live community chat join our
* remember to download and attach your system details for a faster response
*/
HELP_INFORMATION_4: string
/**
* Submit a
* EMS-ESP is a free and open-source project. Please support it's future development by giving it a star on Github!
*/
HELP_INFORMATION_5: string
/**
* support issue
*/
HELP_INFORMATION_6: string
/**
* for requesting a new feature or reporting a bug
*/
HELP_INFORMATION_7: string
/**
* Make sure you also
*/
HELP_INFORMATION_8: string
/**
* and attach your system details for a faster response
*/
HELP_INFORMATION_9: string
/**
* EMS-ESP will always be a free and open-source project. Please consider supporting it with a
*/
HELP_INFORMATION_10: string
/**
* Upload
*/
@@ -1569,10 +1549,6 @@ export type TranslationFunctions = {
* Device Entities
*/
DEVICE_ENTITIES: () => LocalizedString
/**
* configure
*/
CONFIGURE: () => LocalizedString
/**
* User Customization
*/
@@ -1582,45 +1558,29 @@ export type TranslationFunctions = {
*/
SUPPORT_INFORMATION: () => LocalizedString
/**
* Visit the online
* Click Here
*/
CLICK_HERE: () => LocalizedString
/**
* Visit the online wiki to get instructions on how to configure EMS-ESP
*/
HELP_INFORMATION_1: () => LocalizedString
/**
* to get instructions on how to
* For live community chat join our Discord server
*/
HELP_INFORMATION_2: () => LocalizedString
/**
* and access other information
* Submit a support issue on Github for requesting a new feature or reporting a bug
*/
HELP_INFORMATION_3: () => LocalizedString
/**
* For live community chat join our
* remember to download and attach your system details for a faster response
*/
HELP_INFORMATION_4: () => LocalizedString
/**
* Submit a
* EMS-ESP is a free and open-source project. Please support it's future development by giving it a star on Github!
*/
HELP_INFORMATION_5: () => LocalizedString
/**
* support issue
*/
HELP_INFORMATION_6: () => LocalizedString
/**
* for requesting a new feature or reporting a bug
*/
HELP_INFORMATION_7: () => LocalizedString
/**
* Make sure you also
*/
HELP_INFORMATION_8: () => LocalizedString
/**
* and attach your system details for a faster response
*/
HELP_INFORMATION_9: () => LocalizedString
/**
* EMS-ESP will always be a free and open-source project. Please consider supporting it with a
*/
HELP_INFORMATION_10: () => LocalizedString
/**
* Upload
*/

View File

@@ -27,12 +27,12 @@ const nl: BaseTranslation = {
ENTITIES: 'Entiteiten',
REFRESH: 'Ververs',
EXPORT: 'Export',
BRAND: "Merk",
BRAND: 'Merk',
ENTITY_NAME: 'Entiteit',
VALUE: 'Waarde',
SHOW_FAV: 'alleen favorieten weergeven',
DEVICE_SENSOR_DATA: 'Apparaat en sensor data',
DEVICES_SENSORS: 'Apparaten & sensoren',
DEVICE_SENSOR_DATA: 'Apparaat en Sensor data',
DEVICES_SENSORS: 'Apparaten & Sensoren',
ATTACHED_SENSORS: 'Aangesloten EMS-ESP sensoren',
RUN_COMMAND: 'Call commando',
CHANGE_VALUE: 'Wijzig waarde',
@@ -45,15 +45,15 @@ const nl: BaseTranslation = {
PROBLEM_LOADING: 'Probleem met laden',
ACCESS_DENIED: 'Toegang geweigerd',
ANALOG_SENSOR: 'Analoge sensor{post}',
ANALOG_SENSORS: 'Analoge sensoren',
OFFSET: "Offset",
FACTOR: "Factor",
FREQ: "Frequentie",
STARTVALUE: "Startwaarde",
WARN_GPIO: "Waarschuwing: let op met het koppelen van de juiste GPIO pin!",
EDIT: "Wijzigen",
ANALOG_SENSORS: 'Analoge Sensoren',
OFFSET: 'Offset',
FACTOR: 'Factor',
FREQ: 'Frequentie',
STARTVALUE: 'Startwaarde',
WARN_GPIO: 'Waarschuwing: let op met het koppelen van de juiste GPIO pin!',
EDIT: 'Wijzigen',
TEMP_SENSOR: 'Temperatuur sensor{post}',
TEMP_SENSORS: 'Temperatuur sensoren',
TEMP_SENSORS: 'Temperatuur Sensoren',
WRITE_COMMAND: 'Schrijf commando {cmd}',
EMS_BUS_WARNING:
'EMS bus niet gevonden. Als deze waarschuwing blijft staan na een paar seconden dan loop de instellingen na en in het bijzonder het apparaat type profiel na.',
@@ -63,13 +63,13 @@ const nl: BaseTranslation = {
DISCONNECTED: 'Niet verbonden',
EMS_SCAN: 'Weet je zeker dat je een volledige EMS bus scan uit wilt voeren?',
EMS_BUS_STATUS: 'EMS busstatus',
ACTIVE_DEVICES: 'Actieve apparaten & sensoren',
ACTIVE_DEVICES: 'Actieve Apparaten & Sensoren',
DEVICE: 'Apparaat',
SUCCESS: 'SUCCESS',
FAIL: 'MISLUKT',
QUALITY: 'QUALITEIT',
SCAN_DEVICES: 'Scannen naar nieuwe apparaten',
EMS_BUS_STATUS_TITLE: 'EMS bus & activiteitenstatus',
EMS_BUS_STATUS_TITLE: 'EMS Bus & Activiteitenstatus',
SCAN: 'Scan',
STATUS_NAMES: [
'EMS Telegrammen ontvangen (Rx)',
@@ -97,9 +97,9 @@ const nl: BaseTranslation = {
BUTTON: 'Toets',
TEMPERATURE: 'Temperatuur',
DISABLED: 'Uitgeschakeld',
GENERAL_OPTIONS: 'Algemene opties',
GENERAL_OPTIONS: 'Algemene Opties',
LANGUAGE_ENTITIES: 'Taal (voor apparaat entiteiten)',
HIDE_LED: 'verberg LED',
HIDE_LED: 'Verberg LED',
ENABLE_TELNET: 'Activeer Telnet console',
ENABLE_ANALOG: 'Activeer analoge sensoren',
CONVERT_FAHRENHEIT: 'Converteer temperatuurwaarden naar Fahrenheit',
@@ -123,7 +123,7 @@ const nl: BaseTranslation = {
SECONDS: 'seconden',
MINUTES: 'minuten',
RESTART: 'Herstarten',
HOURS: "uren",
HOURS: 'uren',
RESTART_TEXT: 'EMS-ESP dient opnieuw gestart te worden om de wijzingen toe te passen',
COMMAND: 'Commando',
CUSTOMIZATIONS_RESTART: 'Alle custom profielen worden verwijderd. Herstarten...',
@@ -140,20 +140,16 @@ const nl: BaseTranslation = {
NAME: 'Naam',
CUSTOMIZATIONS_RESET:
'Weet je zeker dat je alle custom aanpassingen wilt verwijderen inclusief de custom instellingen voor analoge temperatuursensoren?',
DEVICE_ENTITIES: 'Apparaat entiteiten',
CONFIGURE: 'configureren',
USER_CUSTOMIZATION: 'Custom instellingen',
SUPPORT_INFORMATION: 'Support informatie',
HELP_INFORMATION_1: 'Bezoek de online',
HELP_INFORMATION_2: 'om instructies te vinden om',
HELP_INFORMATION_3: 'en toegang tot andere informatie',
HELP_INFORMATION_4: 'Voor de Live community ga naar',
HELP_INFORMATION_5: 'Dien een',
HELP_INFORMATION_6: 'support issue',
HELP_INFORMATION_7: 'om een nieuwe feature te vragen of een bug te rapporteren',
HELP_INFORMATION_8: 'Zorg dat je ook',
HELP_INFORMATION_9: 'en voeg je systeem details toe voor een sneller antwoord',
HELP_INFORMATION_10: 'EMS-ESP zal altijd een gratis en open source project zijn. Steun ons met een ',
DEVICE_ENTITIES: 'Apparaat Entiteiten',
USER_CUSTOMIZATION: 'Custom Instellingen',
SUPPORT_INFORMATION: 'Support Informatie',
CLICK_HERE: 'Klik Hier',
HELP_INFORMATION_1: 'Visit the online wiki to get instructions on how to configure EMS-ESP',
HELP_INFORMATION_2: 'For live community chat join our Discord server',
HELP_INFORMATION_3: 'Submit a support issue on Github for requesting a new feature or reporting a bug',
HELP_INFORMATION_4: 'remember to download and attach your system details for a faster response',
HELP_INFORMATION_5:
"EMS-ESP is a free and open-source project. Please support it's future development by giving it a star on Github!",
UPLOAD: 'Upload',
DOWNLOAD: 'Download',
ABORTED: 'afgebroken',
@@ -190,7 +186,7 @@ const nl: BaseTranslation = {
UPLOAD_DROP_TEXT: 'Sleep bestand hierheen of klik hier',
ERROR: 'Onverwachte fout, probeer opnieuw',
TIME_SET: 'Tijd ingesteld',
MANAGE_USERS: 'Beheer gebruikers',
MANAGE_USERS: 'Beheer Gebruikers',
IS_ADMIN: 'is Admin',
USER_WARNING: 'U dient tenminste 1 admin gebruiker te configureren',
ADD: 'Toevoegen',

View File

@@ -143,7 +143,7 @@ const DashboardData: FC = () => {
common_theme,
{
Table: `
--data-table-library_grid-template-columns: 40px 100px repeat(1, minmax(0, 1fr)) 90px 40px;
--data-table-library_grid-template-columns: 40px 100px repeat(1, minmax(0, 1fr)) 100px 40px;
`,
BaseRow: `
.td {

View File

@@ -11,6 +11,7 @@ import MenuBookIcon from '@mui/icons-material/MenuBookTwoTone';
import GitHubIcon from '@mui/icons-material/GitHub';
import StarIcon from '@mui/icons-material/Star';
import DownloadIcon from '@mui/icons-material/GetApp';
import EastIcon from '@mui/icons-material/East';
import { extractErrorMessage } from '../utils';
@@ -64,18 +65,11 @@ const HelpInformation: FC = () => {
</ListItemAvatar>
<ListItemText>
{LL.HELP_INFORMATION_1()}&nbsp;
<EastIcon style={{ fontSize: 24, color: 'lightblue', verticalAlign: 'middle' }} />
&nbsp;
<Link target="_blank" href="https://emsesp.github.io/docs" color="primary">
{'Wiki'}
{LL.CLICK_HERE()}
</Link>
&nbsp;{LL.HELP_INFORMATION_2()}&nbsp;
<Link
target="_blank"
href="https://emsesp.github.io/docs/#/Configure-firmware?id=ems-esp-settings"
color="primary"
>
{LL.CONFIGURE()}
</Link>
{' EMS-ESP ' + LL.HELP_INFORMATION_3() + '.'}
</ListItemText>
</ListItem>
@@ -84,11 +78,11 @@ const HelpInformation: FC = () => {
<CommentIcon style={{ fontSize: 24, color: 'lightblue', verticalAlign: 'middle' }} />
</ListItemAvatar>
<ListItemText>
{LL.HELP_INFORMATION_4()}&nbsp;
{LL.HELP_INFORMATION_2()}&nbsp;
<EastIcon style={{ fontSize: 24, color: 'lightblue', verticalAlign: 'middle' }} />
<Link target="_blank" href="https://discord.gg/3J3GgnzpyT" color="primary">
{'Discord'}
{LL.CLICK_HERE()}
</Link>
&nbsp;server.
</ListItemText>
</ListItem>
@@ -97,24 +91,31 @@ const HelpInformation: FC = () => {
<GitHubIcon style={{ fontSize: 24, color: 'lightblue', verticalAlign: 'middle' }} />
</ListItemAvatar>
<ListItemText>
{LL.HELP_INFORMATION_5()}&nbsp;
{LL.HELP_INFORMATION_3()}&nbsp;
<EastIcon style={{ fontSize: 24, color: 'lightblue', verticalAlign: 'middle' }} />
<Link target="_blank" href="https://github.com/emsesp/EMS-ESP32/issues/new/choose" color="primary">
{LL.HELP_INFORMATION_6()}
{LL.CLICK_HERE()}
</Link>
&nbsp;{LL.HELP_INFORMATION_7()}.
<br />
{LL.HELP_INFORMATION_8()}&nbsp;
<Button startIcon={<DownloadIcon />} variant="outlined" color="primary" onClick={() => callAPI('info')}>
download
<br />({LL.HELP_INFORMATION_4()}&nbsp;
<Button
startIcon={<DownloadIcon />}
size="small"
variant="outlined"
color="primary"
onClick={() => callAPI('info')}
>
{LL.DOWNLOAD()}
</Button>
&nbsp;&nbsp;{LL.HELP_INFORMATION_9()}.
&nbsp;)
</ListItemText>
</ListItem>
</List>
<Box border={1} p={1} mt={4}>
<Typography align="center" variant="h6" color="orange">
{LL.HELP_INFORMATION_10()}&nbsp;
{LL.HELP_INFORMATION_5()}
</Typography>
<Typography align="center" >
<Link href="https://github.com/emsesp/EMS-ESP32" color="primary">
{'GitHub'}
</Link>

View File

@@ -340,7 +340,7 @@ const SettingsApplication: FC = () => {
>
<MenuItem value="en">English (en)</MenuItem>
<MenuItem value="de">Deutsch (de)</MenuItem>
<MenuItem value="nl">Dutch (nl)</MenuItem>
<MenuItem value="nl">Nederlands (nl)</MenuItem>
</ValidatedTextField>
</Box>
{data.led_gpio !== 0 && (