diff --git a/interface/src/App.tsx b/interface/src/App.tsx index 5ed0e01dd..77f79e41d 100644 --- a/interface/src/App.tsx +++ b/interface/src/App.tsx @@ -1,13 +1,13 @@ import { useEffect, useState } from 'react'; import { ToastContainer, Slide } from 'react-toastify'; -import type { FC } from 'react'; import 'react-toastify/dist/ReactToastify.min.css'; +import { localStorageDetector } from 'typesafe-i18n/detectors'; +import type { FC } from 'react'; import AppRouting from 'AppRouting'; import CustomTheme from 'CustomTheme'; -import { localStorageDetector } from 'typesafe-i18n/detectors'; import TypesafeI18n from 'i18n/i18n-react'; import { detectLocale } from 'i18n/i18n-util'; import { loadLocaleAsync } from 'i18n/i18n-util.async'; @@ -18,7 +18,7 @@ const App: FC = () => { const [wasLoaded, setWasLoaded] = useState(false); useEffect(() => { - loadLocaleAsync(detectedLocale).then(() => setWasLoaded(true)); + void loadLocaleAsync(detectedLocale).then(() => setWasLoaded(true)); }, []); if (!wasLoaded) return null; diff --git a/interface/src/SignIn.tsx b/interface/src/SignIn.tsx index 132f19b3b..c3bf7134f 100644 --- a/interface/src/SignIn.tsx +++ b/interface/src/SignIn.tsx @@ -14,12 +14,12 @@ import { ValidatedTextField } from 'components'; import { AuthenticationContext } from 'contexts/authentication'; import { ReactComponent as DEflag } from 'i18n/DE.svg'; +import { ReactComponent as FRflag } from 'i18n/FR.svg'; import { ReactComponent as GBflag } from 'i18n/GB.svg'; import { ReactComponent as NLflag } from 'i18n/NL.svg'; import { ReactComponent as NOflag } from 'i18n/NO.svg'; import { ReactComponent as PLflag } from 'i18n/PL.svg'; import { ReactComponent as SVflag } from 'i18n/SV.svg'; -import { ReactComponent as FRflag } from 'i18n/FR.svg'; import { ReactComponent as TRflag } from 'i18n/TR.svg'; import { I18nContext } from 'i18n/i18n-react'; import { loadLocaleAsync } from 'i18n/i18n-util.async'; @@ -63,7 +63,7 @@ const SignIn: FC = () => { }); try { await validate(SIGN_IN_REQUEST_VALIDATOR, signInRequest); - signIn(); + void signIn(); } catch (errors: any) { setFieldErrors(errors); setProcessing(false); diff --git a/interface/src/contexts/authentication/Authentication.tsx b/interface/src/contexts/authentication/Authentication.tsx index a818f3458..1ff343b19 100644 --- a/interface/src/contexts/authentication/Authentication.tsx +++ b/interface/src/contexts/authentication/Authentication.tsx @@ -57,7 +57,7 @@ const Authentication: FC = ({ children }) => { }, []); useEffect(() => { - refresh(); + void refresh(); }, [refresh]); if (initialized) { diff --git a/interface/src/contexts/features/FeaturesLoader.tsx b/interface/src/contexts/features/FeaturesLoader.tsx index c56751237..8169d7b82 100644 --- a/interface/src/contexts/features/FeaturesLoader.tsx +++ b/interface/src/contexts/features/FeaturesLoader.tsx @@ -23,7 +23,7 @@ const FeaturesLoader: FC = (props) => { }, []); useEffect(() => { - loadFeatures(); + void loadFeatures(); }, [loadFeatures]); if (features) { diff --git a/interface/src/framework/ap/APSettingsForm.tsx b/interface/src/framework/ap/APSettingsForm.tsx index b0408820b..87906481c 100644 --- a/interface/src/framework/ap/APSettingsForm.tsx +++ b/interface/src/framework/ap/APSettingsForm.tsx @@ -49,7 +49,7 @@ const APSettingsForm: FC = () => { try { setFieldErrors(undefined); await validate(createAPSettingsValidator(data), data); - saveData(); + void saveData(); } catch (errors: any) { setFieldErrors(errors); } diff --git a/interface/src/framework/mqtt/MqttSettingsForm.tsx b/interface/src/framework/mqtt/MqttSettingsForm.tsx index e531ffee5..cd81d76fe 100644 --- a/interface/src/framework/mqtt/MqttSettingsForm.tsx +++ b/interface/src/framework/mqtt/MqttSettingsForm.tsx @@ -43,7 +43,7 @@ const MqttSettingsForm: FC = () => { try { setFieldErrors(undefined); await validate(createMqttSettingsValidator(data), data); - saveData(); + void saveData(); } catch (errors: any) { setFieldErrors(errors); } diff --git a/interface/src/framework/network/NetworkSettingsForm.tsx b/interface/src/framework/network/NetworkSettingsForm.tsx index 5bb8ddd9a..ff221b8cb 100644 --- a/interface/src/framework/network/NetworkSettingsForm.tsx +++ b/interface/src/framework/network/NetworkSettingsForm.tsx @@ -19,9 +19,11 @@ import { } from '@mui/material'; import { useContext, useEffect, useState } from 'react'; import { toast } from 'react-toastify'; -import type { FC} from 'react'; - - +import RestartMonitor from '../system/RestartMonitor'; +import { WiFiConnectionContext } from './WiFiConnectionContext'; +import { isNetworkOpen, networkSecurityMode } from './WiFiNetworkSelector'; +import type { ValidateFieldsError } from 'async-validator'; +import type { FC } from 'react'; import type { NetworkSettings } from 'types'; import * as NetworkApi from 'api/network'; @@ -39,14 +41,9 @@ import { useI18nContext } from 'i18n/i18n-react'; import * as EMSESP from 'project/api'; import { numberValue, updateValueDirty, useRest } from 'utils'; -import { WiFiConnectionContext } from './WiFiConnectionContext'; -import { isNetworkOpen, networkSecurityMode } from './WiFiNetworkSelector'; -import type { ValidateFieldsError } from 'async-validator'; import { validate } from 'validators'; import { createNetworkSettingsValidator } from 'validators/network'; -import RestartMonitor from '../system/RestartMonitor'; - const WiFiSettingsForm: FC = () => { const { LL } = useI18nContext(); @@ -107,7 +104,7 @@ const WiFiSettingsForm: FC = () => { try { setFieldErrors(undefined); await validate(createNetworkSettingsValidator(data), data); - saveData(); + void saveData(); } catch (errors: any) { setFieldErrors(errors); } diff --git a/interface/src/framework/network/WiFiNetworkScanner.tsx b/interface/src/framework/network/WiFiNetworkScanner.tsx index 2f302c0fa..97205d02c 100644 --- a/interface/src/framework/network/WiFiNetworkScanner.tsx +++ b/interface/src/framework/network/WiFiNetworkScanner.tsx @@ -75,7 +75,7 @@ const WiFiNetworkScanner: FC = () => { }, [finishedWithError, pollNetworkList, LL]); useEffect(() => { - startNetworkScan(); + void startNetworkScan(); }, [startNetworkScan]); const renderNetworkScanner = () => { diff --git a/interface/src/framework/ntp/NTPSettingsForm.tsx b/interface/src/framework/ntp/NTPSettingsForm.tsx index b12ce75a9..238bb0daa 100644 --- a/interface/src/framework/ntp/NTPSettingsForm.tsx +++ b/interface/src/framework/ntp/NTPSettingsForm.tsx @@ -43,7 +43,7 @@ const NTPSettingsForm: FC = () => { try { setFieldErrors(undefined); await validate(NTP_SETTINGS_VALIDATOR, data); - saveData(); + void saveData(); } catch (errors: any) { setFieldErrors(errors); } diff --git a/interface/src/framework/ntp/NTPStatusForm.tsx b/interface/src/framework/ntp/NTPStatusForm.tsx index ade31d3cf..4c70be20e 100644 --- a/interface/src/framework/ntp/NTPStatusForm.tsx +++ b/interface/src/framework/ntp/NTPStatusForm.tsx @@ -90,7 +90,7 @@ const NTPStatusForm: FC = () => { }); toast.success(LL.TIME_SET()); setSettingTime(false); - loadData(); + void loadData(); } catch (error) { toast.error(extractErrorMessage(error, LL.PROBLEM_UPDATING())); } finally { diff --git a/interface/src/framework/security/GenerateToken.tsx b/interface/src/framework/security/GenerateToken.tsx index 52da8139c..d3937b109 100644 --- a/interface/src/framework/security/GenerateToken.tsx +++ b/interface/src/framework/security/GenerateToken.tsx @@ -42,7 +42,7 @@ const GenerateToken: FC = ({ username, onClose }) => { useEffect(() => { if (open) { - getToken(); + void getToken(); } }, [open, getToken]); diff --git a/interface/src/framework/security/ManageUsersForm.tsx b/interface/src/framework/security/ManageUsersForm.tsx index 022df9ef2..b8ef54804 100644 --- a/interface/src/framework/security/ManageUsersForm.tsx +++ b/interface/src/framework/security/ManageUsersForm.tsx @@ -123,7 +123,7 @@ const ManageUsersForm: FC = () => { const onSubmit = async () => { await saveData(); - authenticatedContext.refresh(); + void authenticatedContext.refresh(); }; const user_table = data.users.map((u) => ({ ...u, id: u.username })); diff --git a/interface/src/framework/system/OTASettingsForm.tsx b/interface/src/framework/system/OTASettingsForm.tsx index 9db23ee98..3447ffbe7 100644 --- a/interface/src/framework/system/OTASettingsForm.tsx +++ b/interface/src/framework/system/OTASettingsForm.tsx @@ -45,7 +45,7 @@ const OTASettingsForm: FC = () => { try { setFieldErrors(undefined); await validate(OTA_SETTINGS_VALIDATOR, data); - saveData(); + void saveData(); } catch (errors: any) { setFieldErrors(errors); } diff --git a/interface/src/framework/system/RestartMonitor.tsx b/interface/src/framework/system/RestartMonitor.tsx index 1b7e91026..9ba331568 100644 --- a/interface/src/framework/system/RestartMonitor.tsx +++ b/interface/src/framework/system/RestartMonitor.tsx @@ -31,7 +31,7 @@ const RestartMonitor: FC = () => { }); useEffect(() => { - poll.current(); + void poll.current(); }, []); useEffect(() => () => timeoutId && clearTimeout(timeoutId), [timeoutId]); diff --git a/interface/src/framework/system/SystemLog.tsx b/interface/src/framework/system/SystemLog.tsx index 393212cbb..f50cf20d6 100644 --- a/interface/src/framework/system/SystemLog.tsx +++ b/interface/src/framework/system/SystemLog.tsx @@ -117,7 +117,7 @@ const SystemLog: FC = () => { ...data, level: parseInt(event.target.value) }); - sendSettings(data.max_messages, parseInt(event.target.value)); + void sendSettings(data.max_messages, parseInt(event.target.value)); } }; @@ -163,7 +163,7 @@ const SystemLog: FC = () => { }, [LL]); useEffect(() => { - fetchLog(); + void fetchLog(); }, [fetchLog]); useEffect(() => { diff --git a/interface/src/framework/system/SystemStatusForm.tsx b/interface/src/framework/system/SystemStatusForm.tsx index b7ef1db17..8c97b2762 100644 --- a/interface/src/framework/system/SystemStatusForm.tsx +++ b/interface/src/framework/system/SystemStatusForm.tsx @@ -1,16 +1,16 @@ import AppsIcon from '@mui/icons-material/Apps'; -import RefreshIcon from '@mui/icons-material/Refresh'; -import PowerSettingsNewIcon from '@mui/icons-material/PowerSettingsNew'; -import SettingsBackupRestoreIcon from '@mui/icons-material/SettingsBackupRestore'; import BuildIcon from '@mui/icons-material/Build'; -import TimerIcon from '@mui/icons-material/Timer'; import CancelIcon from '@mui/icons-material/Cancel'; import DevicesIcon from '@mui/icons-material/Devices'; import FolderIcon from '@mui/icons-material/Folder'; import MemoryIcon from '@mui/icons-material/Memory'; +import PowerSettingsNewIcon from '@mui/icons-material/PowerSettingsNew'; +import RefreshIcon from '@mui/icons-material/Refresh'; import SdCardAlertIcon from '@mui/icons-material/SdCardAlert'; import SdStorageIcon from '@mui/icons-material/SdStorage'; +import SettingsBackupRestoreIcon from '@mui/icons-material/SettingsBackupRestore'; import ShowChartIcon from '@mui/icons-material/ShowChart'; +import TimerIcon from '@mui/icons-material/Timer'; import { Avatar, Box, @@ -34,11 +34,11 @@ import { toast } from 'react-toastify'; import RestartMonitor from './RestartMonitor'; import type { FC } from 'react'; -import { useI18nContext } from 'i18n/i18n-react'; import type { SystemStatus, Version } from 'types'; import * as SystemApi from 'api/system'; import { ButtonRow, FormLoader, SectionContent, MessageBox } from 'components'; import { AuthenticatedContext } from 'contexts/authentication'; +import { useI18nContext } from 'i18n/i18n-react'; import { extractErrorMessage, useRest } from 'utils'; export const VERSIONCHECK_ENDPOINT = 'https://api.github.com/repos/emsesp/EMS-ESP32/releases/latest'; @@ -64,14 +64,14 @@ const SystemStatusForm: FC = () => { const [latestDevVersion, setLatestDevVersion] = useState(); useEffect(() => { - axios.get(VERSIONCHECK_ENDPOINT).then((response) => { + void axios.get(VERSIONCHECK_ENDPOINT).then((response) => { setLatestVersion({ version: response.data.name, url: response.data.assets[1].browser_download_url, changelog: response.data.assets[0].browser_download_url }); }); - axios.get(VERSIONCHECK_DEV_ENDPOINT).then((response) => { + void axios.get(VERSIONCHECK_DEV_ENDPOINT).then((response) => { setLatestDevVersion({ version: response.data.name.split(/\s+/).splice(-1), url: response.data.assets[1].browser_download_url, diff --git a/interface/src/project/SettingsApplication.tsx b/interface/src/project/SettingsApplication.tsx index 41ec58dc0..e8a820ea3 100644 --- a/interface/src/project/SettingsApplication.tsx +++ b/interface/src/project/SettingsApplication.tsx @@ -95,7 +95,7 @@ const SettingsApplication: FC = () => { try { setFieldErrors(undefined); await validate(createSettingsValidator(data), data); - saveData(); + void saveData(); } catch (errors: any) { setFieldErrors(errors); } @@ -110,12 +110,12 @@ const SettingsApplication: FC = () => { board_profile: boardProfile }); } else { - updateBoardProfile(boardProfile); + void updateBoardProfile(boardProfile); } }; const restart = async () => { - validateAndSubmit(); + void validateAndSubmit(); try { await EMSESP.restart(); setRestarting(true); diff --git a/interface/src/project/SettingsCustomization.tsx b/interface/src/project/SettingsCustomization.tsx index 89211a2c8..e44832c17 100644 --- a/interface/src/project/SettingsCustomization.tsx +++ b/interface/src/project/SettingsCustomization.tsx @@ -190,7 +190,7 @@ const SettingsCustomization: FC = () => { }; useEffect(() => { - fetchDevices(); + void fetchDevices(); }, [fetchDevices]); function formatValue(value: any) { @@ -266,7 +266,7 @@ const SettingsCustomization: FC = () => { const selected_device = parseInt(event.target.value, 10); setSelectedDevice(selected_device); setNumChanges(0); - fetchDeviceEntities(devices?.devices[selected_device].i); + void fetchDeviceEntities(devices?.devices[selected_device].i); setRestartNeeded(false); } }; diff --git a/interface/src/utils/useRest.ts b/interface/src/utils/useRest.ts index 0dadda46b..0ee478f60 100644 --- a/interface/src/utils/useRest.ts +++ b/interface/src/utils/useRest.ts @@ -72,7 +72,7 @@ export const useRest = ({ read, update }: RestRequestOptions) => { const saveData = () => data && save(data); useEffect(() => { - loadData(); + void loadData(); }, [loadData]); return {