mirror of
https://github.com/emsesp/EMS-ESP32.git
synced 2025-12-07 08:19:52 +03:00
fix lint formatting so GH action build doesn't break
This commit is contained in:
@@ -180,7 +180,7 @@ const APSettingsForm: FC = () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<SectionContent title={LL.SETTINGS_OF( LL.ACCESS_POINT(1) )} titleGutter>
|
<SectionContent title={LL.SETTINGS_OF(LL.ACCESS_POINT(1))} titleGutter>
|
||||||
{content()}
|
{content()}
|
||||||
</SectionContent>
|
</SectionContent>
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -60,14 +60,14 @@ const APStatusForm: FC = () => {
|
|||||||
<SettingsInputAntennaIcon />
|
<SettingsInputAntennaIcon />
|
||||||
</Avatar>
|
</Avatar>
|
||||||
</ListItemAvatar>
|
</ListItemAvatar>
|
||||||
<ListItemText primary={LL.STATUS_OF("")} secondary={apStatus(data)} />
|
<ListItemText primary={LL.STATUS_OF('')} secondary={apStatus(data)} />
|
||||||
</ListItem>
|
</ListItem>
|
||||||
<Divider variant="inset" component="li" />
|
<Divider variant="inset" component="li" />
|
||||||
<ListItem>
|
<ListItem>
|
||||||
<ListItemAvatar>
|
<ListItemAvatar>
|
||||||
<Avatar>IP</Avatar>
|
<Avatar>IP</Avatar>
|
||||||
</ListItemAvatar>
|
</ListItemAvatar>
|
||||||
<ListItemText primary={LL.ADDRESS_OF("IP")} secondary={data.ip_address} />
|
<ListItemText primary={LL.ADDRESS_OF('IP')} secondary={data.ip_address} />
|
||||||
</ListItem>
|
</ListItem>
|
||||||
<Divider variant="inset" component="li" />
|
<Divider variant="inset" component="li" />
|
||||||
<ListItem>
|
<ListItem>
|
||||||
@@ -76,7 +76,7 @@ const APStatusForm: FC = () => {
|
|||||||
<DeviceHubIcon />
|
<DeviceHubIcon />
|
||||||
</Avatar>
|
</Avatar>
|
||||||
</ListItemAvatar>
|
</ListItemAvatar>
|
||||||
<ListItemText primary={LL.ADDRESS_OF("MAC")} secondary={data.mac_address} />
|
<ListItemText primary={LL.ADDRESS_OF('MAC')} secondary={data.mac_address} />
|
||||||
</ListItem>
|
</ListItem>
|
||||||
<Divider variant="inset" component="li" />
|
<Divider variant="inset" component="li" />
|
||||||
<ListItem>
|
<ListItem>
|
||||||
@@ -99,7 +99,7 @@ const APStatusForm: FC = () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<SectionContent title={LL.STATUS_OF( LL.ACCESS_POINT(1) )} titleGutter>
|
<SectionContent title={LL.STATUS_OF(LL.ACCESS_POINT(1))} titleGutter>
|
||||||
{content()}
|
{content()}
|
||||||
</SectionContent>
|
</SectionContent>
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -22,12 +22,8 @@ const AccessPoint: FC = () => {
|
|||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<RouterTabs value={routerTab}>
|
<RouterTabs value={routerTab}>
|
||||||
<Tab value="status" label={LL.STATUS_OF( LL.ACCESS_POINT(1) )} />
|
<Tab value="status" label={LL.STATUS_OF(LL.ACCESS_POINT(1))} />
|
||||||
<Tab
|
<Tab value="settings" label={LL.SETTINGS_OF(LL.ACCESS_POINT(1))} disabled={!authenticatedContext.me.admin} />
|
||||||
value="settings"
|
|
||||||
label={LL.SETTINGS_OF( LL.ACCESS_POINT(1) )}
|
|
||||||
disabled={!authenticatedContext.me.admin}
|
|
||||||
/>
|
|
||||||
</RouterTabs>
|
</RouterTabs>
|
||||||
<Routes>
|
<Routes>
|
||||||
<Route path="status" element={<APStatusForm />} />
|
<Route path="status" element={<APStatusForm />} />
|
||||||
|
|||||||
@@ -22,8 +22,8 @@ const Mqtt: FC = () => {
|
|||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<RouterTabs value={routerTab}>
|
<RouterTabs value={routerTab}>
|
||||||
<Tab value="status" label={LL.STATUS_OF("MQTT")} />
|
<Tab value="status" label={LL.STATUS_OF('MQTT')} />
|
||||||
<Tab value="settings" label={LL.SETTINGS_OF("MQTT")} disabled={!authenticatedContext.me.admin} />
|
<Tab value="settings" label={LL.SETTINGS_OF('MQTT')} disabled={!authenticatedContext.me.admin} />
|
||||||
</RouterTabs>
|
</RouterTabs>
|
||||||
<Routes>
|
<Routes>
|
||||||
<Route path="status" element={<MqttStatusForm />} />
|
<Route path="status" element={<MqttStatusForm />} />
|
||||||
|
|||||||
@@ -351,7 +351,7 @@ const MqttSettingsForm: FC = () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<SectionContent title={LL.SETTINGS_OF("MQTT")} titleGutter>
|
<SectionContent title={LL.SETTINGS_OF('MQTT')} titleGutter>
|
||||||
{content()}
|
{content()}
|
||||||
</SectionContent>
|
</SectionContent>
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -121,7 +121,7 @@ const MqttStatusForm: FC = () => {
|
|||||||
<SpeakerNotesOffIcon />
|
<SpeakerNotesOffIcon />
|
||||||
</Avatar>
|
</Avatar>
|
||||||
</ListItemAvatar>
|
</ListItemAvatar>
|
||||||
<ListItemText primary={LL.ERRORS_OF("MQTT")} secondary={data.mqtt_fails} />
|
<ListItemText primary={LL.ERRORS_OF('MQTT')} secondary={data.mqtt_fails} />
|
||||||
</ListItem>
|
</ListItem>
|
||||||
<Divider variant="inset" component="li" />
|
<Divider variant="inset" component="li" />
|
||||||
</>
|
</>
|
||||||
@@ -137,7 +137,7 @@ const MqttStatusForm: FC = () => {
|
|||||||
<DeviceHubIcon />
|
<DeviceHubIcon />
|
||||||
</Avatar>
|
</Avatar>
|
||||||
</ListItemAvatar>
|
</ListItemAvatar>
|
||||||
<ListItemText primary={LL.STATUS_OF("")} secondary={mqttStatus(data)} />
|
<ListItemText primary={LL.STATUS_OF('')} secondary={mqttStatus(data)} />
|
||||||
</ListItem>
|
</ListItem>
|
||||||
<Divider variant="inset" component="li" />
|
<Divider variant="inset" component="li" />
|
||||||
{data.enabled && renderConnectionStatus()}
|
{data.enabled && renderConnectionStatus()}
|
||||||
@@ -152,7 +152,7 @@ const MqttStatusForm: FC = () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<SectionContent title={LL.STATUS_OF("MQTT")} titleGutter>
|
<SectionContent title={LL.STATUS_OF('MQTT')} titleGutter>
|
||||||
{content()}
|
{content()}
|
||||||
</SectionContent>
|
</SectionContent>
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -45,9 +45,9 @@ const NetworkConnection: FC = () => {
|
|||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<RouterTabs value={routerTab}>
|
<RouterTabs value={routerTab}>
|
||||||
<Tab value="status" label={LL.STATUS_OF( LL.NETWORK(1) )} />
|
<Tab value="status" label={LL.STATUS_OF(LL.NETWORK(1))} />
|
||||||
<Tab value="scan" label={LL.NETWORK_SCAN()} disabled={!authenticatedContext.me.admin} />
|
<Tab value="scan" label={LL.NETWORK_SCAN()} disabled={!authenticatedContext.me.admin} />
|
||||||
<Tab value="settings" label={LL.SETTINGS_OF( LL.NETWORK(1) )} disabled={!authenticatedContext.me.admin} />
|
<Tab value="settings" label={LL.SETTINGS_OF(LL.NETWORK(1))} disabled={!authenticatedContext.me.admin} />
|
||||||
</RouterTabs>
|
</RouterTabs>
|
||||||
<Routes>
|
<Routes>
|
||||||
<Route path="status" element={<NetworkStatusForm />} />
|
<Route path="status" element={<NetworkStatusForm />} />
|
||||||
|
|||||||
@@ -262,7 +262,7 @@ const WiFiSettingsForm: FC = () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<SectionContent title={LL.SETTINGS_OF( LL.NETWORK(1) )} titleGutter>
|
<SectionContent title={LL.SETTINGS_OF(LL.NETWORK(1))} titleGutter>
|
||||||
{content()}
|
{content()}
|
||||||
</SectionContent>
|
</SectionContent>
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -124,7 +124,7 @@ const NetworkStatusForm: FC = () => {
|
|||||||
<ListItemAvatar>
|
<ListItemAvatar>
|
||||||
<Avatar>IP</Avatar>
|
<Avatar>IP</Avatar>
|
||||||
</ListItemAvatar>
|
</ListItemAvatar>
|
||||||
<ListItemText primary={LL.ADDRESS_OF("IP")} secondary={IPs(data)} />
|
<ListItemText primary={LL.ADDRESS_OF('IP')} secondary={IPs(data)} />
|
||||||
</ListItem>
|
</ListItem>
|
||||||
<Divider variant="inset" component="li" />
|
<Divider variant="inset" component="li" />
|
||||||
<ListItem>
|
<ListItem>
|
||||||
@@ -133,7 +133,7 @@ const NetworkStatusForm: FC = () => {
|
|||||||
<DeviceHubIcon />
|
<DeviceHubIcon />
|
||||||
</Avatar>
|
</Avatar>
|
||||||
</ListItemAvatar>
|
</ListItemAvatar>
|
||||||
<ListItemText primary={LL.ADDRESS_OF("MAC")} secondary={data.mac_address} />
|
<ListItemText primary={LL.ADDRESS_OF('MAC')} secondary={data.mac_address} />
|
||||||
</ListItem>
|
</ListItem>
|
||||||
<Divider variant="inset" component="li" />
|
<Divider variant="inset" component="li" />
|
||||||
<ListItem>
|
<ListItem>
|
||||||
@@ -174,7 +174,7 @@ const NetworkStatusForm: FC = () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<SectionContent title={LL.STATUS_OF( LL.NETWORK(1) )} titleGutter>
|
<SectionContent title={LL.STATUS_OF(LL.NETWORK(1))} titleGutter>
|
||||||
{content()}
|
{content()}
|
||||||
</SectionContent>
|
</SectionContent>
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -96,7 +96,7 @@ const NTPSettingsForm: FC = () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<SectionContent title={LL.SETTINGS_OF("NTP")} titleGutter>
|
<SectionContent title={LL.SETTINGS_OF('NTP')} titleGutter>
|
||||||
{content()}
|
{content()}
|
||||||
</SectionContent>
|
</SectionContent>
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -149,7 +149,7 @@ const NTPStatusForm: FC = () => {
|
|||||||
<UpdateIcon />
|
<UpdateIcon />
|
||||||
</Avatar>
|
</Avatar>
|
||||||
</ListItemAvatar>
|
</ListItemAvatar>
|
||||||
<ListItemText primary={LL.STATUS_OF("")} secondary={ntpStatus(data)} />
|
<ListItemText primary={LL.STATUS_OF('')} secondary={ntpStatus(data)} />
|
||||||
</ListItem>
|
</ListItem>
|
||||||
<Divider variant="inset" component="li" />
|
<Divider variant="inset" component="li" />
|
||||||
{isNtpEnabled(data) && (
|
{isNtpEnabled(data) && (
|
||||||
@@ -208,7 +208,7 @@ const NTPStatusForm: FC = () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<SectionContent title={LL.STATUS_OF("NTP")} titleGutter>
|
<SectionContent title={LL.STATUS_OF('NTP')} titleGutter>
|
||||||
{content()}
|
{content()}
|
||||||
</SectionContent>
|
</SectionContent>
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -21,8 +21,8 @@ const NetworkTime: FC = () => {
|
|||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<RouterTabs value={routerTab}>
|
<RouterTabs value={routerTab}>
|
||||||
<Tab value="status" label={LL.STATUS_OF("NTP")} />
|
<Tab value="status" label={LL.STATUS_OF('NTP')} />
|
||||||
<Tab value="settings" label={LL.SETTINGS_OF("NTP")} disabled={!authenticatedContext.me.admin} />
|
<Tab value="settings" label={LL.SETTINGS_OF('NTP')} disabled={!authenticatedContext.me.admin} />
|
||||||
</RouterTabs>
|
</RouterTabs>
|
||||||
<Routes>
|
<Routes>
|
||||||
<Route path="status" element={<NTPStatusForm />} />
|
<Route path="status" element={<NTPStatusForm />} />
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ const Security: FC = () => {
|
|||||||
<>
|
<>
|
||||||
<RouterTabs value={routerTab}>
|
<RouterTabs value={routerTab}>
|
||||||
<Tab value="users" label={LL.MANAGE_USERS()} />
|
<Tab value="users" label={LL.MANAGE_USERS()} />
|
||||||
<Tab value="settings" label={LL.SETTINGS_OF( LL.SECURITY(1) )} />
|
<Tab value="settings" label={LL.SETTINGS_OF(LL.SECURITY(1))} />
|
||||||
</RouterTabs>
|
</RouterTabs>
|
||||||
<Routes>
|
<Routes>
|
||||||
<Route path="users" element={<ManageUsersForm />} />
|
<Route path="users" element={<ManageUsersForm />} />
|
||||||
|
|||||||
@@ -71,7 +71,7 @@ const SecuritySettingsForm: FC = () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<SectionContent title={LL.SETTINGS_OF( LL.SECURITY(1) )} titleGutter>
|
<SectionContent title={LL.SETTINGS_OF(LL.SECURITY(1))} titleGutter>
|
||||||
{content()}
|
{content()}
|
||||||
</SectionContent>
|
</SectionContent>
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -93,7 +93,7 @@ const GeneralFileUpload: FC<UploadFileProps> = ({ uploadGeneralFile }) => {
|
|||||||
</Typography>
|
</Typography>
|
||||||
</Box>
|
</Box>
|
||||||
<Button startIcon={<DownloadIcon />} variant="outlined" color="primary" onClick={() => downloadSettings()}>
|
<Button startIcon={<DownloadIcon />} variant="outlined" color="primary" onClick={() => downloadSettings()}>
|
||||||
{LL.SETTINGS_OF("")}
|
{LL.SETTINGS_OF('')}
|
||||||
</Button>
|
</Button>
|
||||||
<Box color="warning.main">
|
<Box color="warning.main">
|
||||||
<Typography mt={2} mb={1} variant="body2">
|
<Typography mt={2} mb={1} variant="body2">
|
||||||
|
|||||||
@@ -93,7 +93,7 @@ const OTASettingsForm: FC = () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<SectionContent title={LL.SETTINGS_OF("OTA")} titleGutter>
|
<SectionContent title={LL.SETTINGS_OF('OTA')} titleGutter>
|
||||||
{content()}
|
{content()}
|
||||||
</SectionContent>
|
</SectionContent>
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -26,10 +26,10 @@ const System: FC = () => {
|
|||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<RouterTabs value={routerTab}>
|
<RouterTabs value={routerTab}>
|
||||||
<Tab value="status" label={LL.STATUS_OF( LL.SYSTEM(1) )} />
|
<Tab value="status" label={LL.STATUS_OF(LL.SYSTEM(1))} />
|
||||||
<Tab value="log" label={LL.LOG_OF( LL.SYSTEM(2) )} />
|
<Tab value="log" label={LL.LOG_OF(LL.SYSTEM(2))} />
|
||||||
|
|
||||||
{features.ota && <Tab value="ota" label={LL.SETTINGS_OF("OTA")} disabled={!me.admin} />}
|
{features.ota && <Tab value="ota" label={LL.SETTINGS_OF('OTA')} disabled={!me.admin} />}
|
||||||
{features.upload_firmware && <Tab value="upload" label={LL.UPLOAD_DOWNLOAD()} disabled={!me.admin} />}
|
{features.upload_firmware && <Tab value="upload" label={LL.UPLOAD_DOWNLOAD()} disabled={!me.admin} />}
|
||||||
</RouterTabs>
|
</RouterTabs>
|
||||||
<Routes>
|
<Routes>
|
||||||
|
|||||||
@@ -278,7 +278,7 @@ const SystemLog: FC = () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<SectionContent title={LL.LOG_OF( LL.SYSTEM(2) )} titleGutter id="log-window">
|
<SectionContent title={LL.LOG_OF(LL.SYSTEM(2))} titleGutter id="log-window">
|
||||||
{content()}
|
{content()}
|
||||||
</SectionContent>
|
</SectionContent>
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -129,7 +129,8 @@ const SystemStatusForm: FC = () => {
|
|||||||
<MessageBox my={0} level="info" message={LL.SYSTEM_VERSION_RUNNING() + ' ' + data?.emsesp_version} />
|
<MessageBox my={0} level="info" message={LL.SYSTEM_VERSION_RUNNING() + ' ' + data?.emsesp_version} />
|
||||||
{latestVersion && (
|
{latestVersion && (
|
||||||
<Box mt={2} mb={2}>
|
<Box mt={2} mb={2}>
|
||||||
{LL.THE_LATEST()} <u>{LL.OFFICIAL()}</u> {LL.VERSION_IS()} <b>{latestVersion.version}</b> (
|
{LL.THE_LATEST()} <u>{LL.OFFICIAL()}</u> {LL.VERSION_IS()} <b>{latestVersion.version}</b>
|
||||||
|
(
|
||||||
<Link target="_blank" href={latestVersion.changelog} color="primary">
|
<Link target="_blank" href={latestVersion.changelog} color="primary">
|
||||||
{LL.RELEASE_NOTES()}
|
{LL.RELEASE_NOTES()}
|
||||||
</Link>
|
</Link>
|
||||||
@@ -143,7 +144,8 @@ const SystemStatusForm: FC = () => {
|
|||||||
|
|
||||||
{latestDevVersion && (
|
{latestDevVersion && (
|
||||||
<Box mt={2} mb={2}>
|
<Box mt={2} mb={2}>
|
||||||
{LL.THE_LATEST()} <u>{LL.DEVELOPMENT()}</u> {LL.VERSION_IS()} <b>{latestDevVersion.version}</b>
|
{LL.THE_LATEST()} <u>{LL.DEVELOPMENT()}</u> {LL.VERSION_IS()}
|
||||||
|
<b>{latestDevVersion.version}</b>
|
||||||
(
|
(
|
||||||
<Link target="_blank" href={latestDevVersion.changelog} color="primary">
|
<Link target="_blank" href={latestDevVersion.changelog} color="primary">
|
||||||
{LL.RELEASE_NOTES()}
|
{LL.RELEASE_NOTES()}
|
||||||
@@ -272,12 +274,7 @@ const SystemStatusForm: FC = () => {
|
|||||||
</ListItemAvatar>
|
</ListItemAvatar>
|
||||||
<ListItemText
|
<ListItemText
|
||||||
primary={LL.HEAP()}
|
primary={LL.HEAP()}
|
||||||
secondary={
|
secondary={formatNumber(data.free_heap) + ' KB / ' + formatNumber(data.max_alloc_heap) + ' KB '}
|
||||||
formatNumber(data.free_heap) +
|
|
||||||
' KB / ' +
|
|
||||||
formatNumber(data.max_alloc_heap) +
|
|
||||||
' KB '
|
|
||||||
}
|
|
||||||
/>
|
/>
|
||||||
</ListItem>
|
</ListItem>
|
||||||
{data.psram_size !== undefined && data.free_psram !== undefined && (
|
{data.psram_size !== undefined && data.free_psram !== undefined && (
|
||||||
@@ -305,7 +302,9 @@ const SystemStatusForm: FC = () => {
|
|||||||
</ListItemAvatar>
|
</ListItemAvatar>
|
||||||
<ListItemText
|
<ListItemText
|
||||||
primary={LL.FLASH()}
|
primary={LL.FLASH()}
|
||||||
secondary={formatNumber(data.flash_chip_size) + ' KB / ' + (data.flash_chip_speed / 1000000).toFixed(0) + ' MHz'}
|
secondary={
|
||||||
|
formatNumber(data.flash_chip_size) + ' KB / ' + (data.flash_chip_speed / 1000000).toFixed(0) + ' MHz'
|
||||||
|
}
|
||||||
/>
|
/>
|
||||||
</ListItem>
|
</ListItem>
|
||||||
<Divider variant="inset" component="li" />
|
<Divider variant="inset" component="li" />
|
||||||
@@ -373,7 +372,7 @@ const SystemStatusForm: FC = () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<SectionContent title={LL.STATUS_OF( LL.SYSTEM(1) )} titleGutter>
|
<SectionContent title={LL.STATUS_OF(LL.SYSTEM(1))} titleGutter>
|
||||||
{content()}
|
{content()}
|
||||||
</SectionContent>
|
</SectionContent>
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -100,7 +100,8 @@ const de: Translation = {
|
|||||||
CUSTOMIZATION: 'Anpassungen',
|
CUSTOMIZATION: 'Anpassungen',
|
||||||
APPLICATION_RESTARTING: 'EMS-ESP startet neu',
|
APPLICATION_RESTARTING: 'EMS-ESP startet neu',
|
||||||
INTERFACE_BOARD_PROFILE: 'Interface Platinenprofil',
|
INTERFACE_BOARD_PROFILE: 'Interface Platinenprofil',
|
||||||
BOARD_PROFILE_TEXT: 'Wählen Sie ein vorkonfiguriertes Platinenprofil aus der Liste unten aus oder wählen Sie "Custom", um Ihre eigenen Hardwareeinstellungen zu konfigurieren',
|
BOARD_PROFILE_TEXT:
|
||||||
|
'Wählen Sie ein vorkonfiguriertes Platinenprofil aus der Liste unten aus oder wählen Sie "Custom", um Ihre eigenen Hardwareeinstellungen zu konfigurieren',
|
||||||
BOARD_PROFILE: 'Platinenprofil',
|
BOARD_PROFILE: 'Platinenprofil',
|
||||||
BUTTON: 'Taste',
|
BUTTON: 'Taste',
|
||||||
TEMPERATURE: 'Temperatur',
|
TEMPERATURE: 'Temperatur',
|
||||||
|
|||||||
@@ -100,7 +100,8 @@ const en: BaseTranslation = {
|
|||||||
CUSTOMIZATION: 'Customization',
|
CUSTOMIZATION: 'Customization',
|
||||||
APPLICATION_RESTARTING: 'EMS-ESP is restarting',
|
APPLICATION_RESTARTING: 'EMS-ESP is restarting',
|
||||||
INTERFACE_BOARD_PROFILE: 'Interface Board Profile',
|
INTERFACE_BOARD_PROFILE: 'Interface Board Profile',
|
||||||
BOARD_PROFILE_TEXT: 'Select a pre-configured interface board profile from the list below or choose Custom to configure your own hardware settings',
|
BOARD_PROFILE_TEXT:
|
||||||
|
'Select a pre-configured interface board profile from the list below or choose Custom to configure your own hardware settings',
|
||||||
BOARD_PROFILE: 'Board Profile',
|
BOARD_PROFILE: 'Board Profile',
|
||||||
BUTTON: 'Button',
|
BUTTON: 'Button',
|
||||||
TEMPERATURE: 'Temperature',
|
TEMPERATURE: 'Temperature',
|
||||||
|
|||||||
@@ -100,7 +100,8 @@ const nl: Translation = {
|
|||||||
CUSTOMIZATION: 'Custom aanpassingen',
|
CUSTOMIZATION: 'Custom aanpassingen',
|
||||||
APPLICATION_RESTARTING: 'EMS-ESP herstarten',
|
APPLICATION_RESTARTING: 'EMS-ESP herstarten',
|
||||||
INTERFACE_BOARD_PROFILE: 'Interface Apparaatprofiel',
|
INTERFACE_BOARD_PROFILE: 'Interface Apparaatprofiel',
|
||||||
BOARD_PROFILE_TEXT: 'Selecteer een vooraf ingesteld apparaat profiel uit de lijst of kies Eigen om zelf uw hardware te configureren',
|
BOARD_PROFILE_TEXT:
|
||||||
|
'Selecteer een vooraf ingesteld apparaat profiel uit de lijst of kies Eigen om zelf uw hardware te configureren',
|
||||||
BOARD_PROFILE: 'Apparaatprofiel',
|
BOARD_PROFILE: 'Apparaatprofiel',
|
||||||
BUTTON: 'Toets',
|
BUTTON: 'Toets',
|
||||||
TEMPERATURE: 'Temperatuur',
|
TEMPERATURE: 'Temperatuur',
|
||||||
|
|||||||
@@ -100,7 +100,8 @@ const no: Translation = {
|
|||||||
CUSTOMIZATION: 'Tilpasninger',
|
CUSTOMIZATION: 'Tilpasninger',
|
||||||
APPLICATION_RESTARTING: 'EMS-ESP restarter',
|
APPLICATION_RESTARTING: 'EMS-ESP restarter',
|
||||||
INTERFACE_BOARD_PROFILE: 'Interface Prosessor Profil',
|
INTERFACE_BOARD_PROFILE: 'Interface Prosessor Profil',
|
||||||
BOARD_PROFILE_TEXT: 'Velg en pre-konfigurert prosessor profil fra listen under eller velg Tilpasset for å konfigurere dine egne innstillinger',
|
BOARD_PROFILE_TEXT:
|
||||||
|
'Velg en pre-konfigurert prosessor profil fra listen under eller velg Tilpasset for å konfigurere dine egne innstillinger',
|
||||||
BOARD_PROFILE: 'Prosessor Profil',
|
BOARD_PROFILE: 'Prosessor Profil',
|
||||||
BUTTON: 'Knapp',
|
BUTTON: 'Knapp',
|
||||||
TEMPERATURE: 'Temperatur',
|
TEMPERATURE: 'Temperatur',
|
||||||
|
|||||||
@@ -112,7 +112,7 @@ const pl: Translation = {
|
|||||||
HIDE_LED: 'Wyłącz LED',
|
HIDE_LED: 'Wyłącz LED',
|
||||||
ENABLE_TELNET: 'Aktywuj dostęp dla konsoli Telnet',
|
ENABLE_TELNET: 'Aktywuj dostęp dla konsoli Telnet',
|
||||||
ENABLE_ANALOG: 'Aktywuj urządzenia GPIO (czujniki analogowe i cyfrowe oraz wyjścia cyfrowe)',
|
ENABLE_ANALOG: 'Aktywuj urządzenia GPIO (czujniki analogowe i cyfrowe oraz wyjścia cyfrowe)',
|
||||||
CONVERT_FAHRENHEIT: "Konwertuj temperatury do skali Fahrenheita",
|
CONVERT_FAHRENHEIT: 'Konwertuj temperatury do skali Fahrenheita',
|
||||||
BYPASS_TOKEN: 'Pomiń autoryzację tokenem w wywołaniach API',
|
BYPASS_TOKEN: 'Pomiń autoryzację tokenem w wywołaniach API',
|
||||||
READONLY: 'Tryb pracy "tylko do odczytu" (blokuje wszystkie komendy zapisu na magistralę EMS)',
|
READONLY: 'Tryb pracy "tylko do odczytu" (blokuje wszystkie komendy zapisu na magistralę EMS)',
|
||||||
UNDERCLOCK_CPU: 'Obniż taktowanie CPU',
|
UNDERCLOCK_CPU: 'Obniż taktowanie CPU',
|
||||||
@@ -159,8 +159,7 @@ const pl: Translation = {
|
|||||||
HELP_INFORMATION_1: 'W celu znalezienia szczegółowych instrukcji jak skonfigurować EMS-ESP skorzystaj z wiki',
|
HELP_INFORMATION_1: 'W celu znalezienia szczegółowych instrukcji jak skonfigurować EMS-ESP skorzystaj z wiki',
|
||||||
HELP_INFORMATION_2: 'W celu komunikacji na żywo ze społecznością skorzystaj z serwera Discord',
|
HELP_INFORMATION_2: 'W celu komunikacji na żywo ze społecznością skorzystaj z serwera Discord',
|
||||||
HELP_INFORMATION_3: 'Aby zaproponować nową funkcjonalność lub zgłosić problem',
|
HELP_INFORMATION_3: 'Aby zaproponować nową funkcjonalność lub zgłosić problem',
|
||||||
HELP_INFORMATION_4:
|
HELP_INFORMATION_4: 'zgłaszając problem, nie zapomnij dołączyć informacji o swoim systemie',
|
||||||
'zgłaszając problem, nie zapomnij dołączyć informacji o swoim systemie',
|
|
||||||
HELP_INFORMATION_5:
|
HELP_INFORMATION_5:
|
||||||
'EMS-ESP jest darmowym projektem typu open-source. Aby go wesprzeć, rozważ przyznanie nam gwiazdki na Github!',
|
'EMS-ESP jest darmowym projektem typu open-source. Aby go wesprzeć, rozważ przyznanie nam gwiazdki na Github!',
|
||||||
SUPPORT_INFO: 'Pobierz informacje',
|
SUPPORT_INFO: 'Pobierz informacje',
|
||||||
@@ -179,7 +178,8 @@ const pl: Translation = {
|
|||||||
CLOSE: 'Zamknij',
|
CLOSE: 'Zamknij',
|
||||||
USE: 'Aby zaktualizować firmware skorzystaj z funkcji',
|
USE: 'Aby zaktualizować firmware skorzystaj z funkcji',
|
||||||
FACTORY_RESET: 'Ustawienia fabryczne',
|
FACTORY_RESET: 'Ustawienia fabryczne',
|
||||||
SYSTEM_FACTORY_TEXT: 'Interfejs EMS-ESP został przywrócony do ustawień fabrycznych i zostanie teraz ponownie uruchomiony.',
|
SYSTEM_FACTORY_TEXT:
|
||||||
|
'Interfejs EMS-ESP został przywrócony do ustawień fabrycznych i zostanie teraz ponownie uruchomiony.',
|
||||||
SYSTEM_FACTORY_TEXT_DIALOG: 'Czy jesteś pewien, że chcesz przywrócić ustawienia fabryczne interfejsu EMS-ESP? ',
|
SYSTEM_FACTORY_TEXT_DIALOG: 'Czy jesteś pewien, że chcesz przywrócić ustawienia fabryczne interfejsu EMS-ESP? ',
|
||||||
VERSION_CHECK: 'Sprawd{{ź|zanie|}} wersj{{ę|i|}}',
|
VERSION_CHECK: 'Sprawd{{ź|zanie|}} wersj{{ę|i|}}',
|
||||||
THE_LATEST: 'Najnowsza',
|
THE_LATEST: 'Najnowsza',
|
||||||
|
|||||||
@@ -100,7 +100,8 @@ const se: Translation = {
|
|||||||
CUSTOMIZATION: 'Anpassa',
|
CUSTOMIZATION: 'Anpassa',
|
||||||
APPLICATION_RESTARTING: 'EMS-ESP startar om',
|
APPLICATION_RESTARTING: 'EMS-ESP startar om',
|
||||||
INTERFACE_BOARD_PROFILE: 'Interface Hårdvaruprofil',
|
INTERFACE_BOARD_PROFILE: 'Interface Hårdvaruprofil',
|
||||||
BOARD_PROFILE_TEXT: 'Välj en förkonfigurerad hårdvaruprofil från listan nedan eller välj Anpassad för att konfigurera dina egna hårdvaruinställningar',
|
BOARD_PROFILE_TEXT:
|
||||||
|
'Välj en förkonfigurerad hårdvaruprofil från listan nedan eller välj Anpassad för att konfigurera dina egna hårdvaruinställningar',
|
||||||
BOARD_PROFILE: 'Hårdvaruprofil',
|
BOARD_PROFILE: 'Hårdvaruprofil',
|
||||||
BUTTON: 'Knapp',
|
BUTTON: 'Knapp',
|
||||||
TEMPERATURE: 'Temperatur',
|
TEMPERATURE: 'Temperatur',
|
||||||
|
|||||||
@@ -559,11 +559,11 @@ const DashboardData: FC = () => {
|
|||||||
offset: sensor.o
|
offset: sensor.o
|
||||||
});
|
});
|
||||||
if (response.status === 204) {
|
if (response.status === 204) {
|
||||||
enqueueSnackbar(LL.UPLOAD_OF( LL.TEMP_SENSOR() ) + ' ' + LL.FAILED(), { variant: 'error' });
|
enqueueSnackbar(LL.UPLOAD_OF(LL.TEMP_SENSOR()) + ' ' + LL.FAILED(), { variant: 'error' });
|
||||||
} else if (response.status === 403) {
|
} else if (response.status === 403) {
|
||||||
enqueueSnackbar(LL.ACCESS_DENIED(), { variant: 'error' });
|
enqueueSnackbar(LL.ACCESS_DENIED(), { variant: 'error' });
|
||||||
} else {
|
} else {
|
||||||
enqueueSnackbar(LL.UPDATED_OF( LL.TEMP_SENSOR() ), { variant: 'success' });
|
enqueueSnackbar(LL.UPDATED_OF(LL.TEMP_SENSOR()), { variant: 'success' });
|
||||||
}
|
}
|
||||||
setSensor(undefined);
|
setSensor(undefined);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
@@ -986,11 +986,11 @@ const DashboardData: FC = () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
if (response.status === 204) {
|
if (response.status === 204) {
|
||||||
enqueueSnackbar(LL.DELETION_OF( LL.ANALOG_SENSOR() ) + ' ' + LL.FAILED(), { variant: 'error' });
|
enqueueSnackbar(LL.DELETION_OF(LL.ANALOG_SENSOR()) + ' ' + LL.FAILED(), { variant: 'error' });
|
||||||
} else if (response.status === 403) {
|
} else if (response.status === 403) {
|
||||||
enqueueSnackbar(LL.ACCESS_DENIED(), { variant: 'error' });
|
enqueueSnackbar(LL.ACCESS_DENIED(), { variant: 'error' });
|
||||||
} else {
|
} else {
|
||||||
enqueueSnackbar( LL.REMOVED_OF( LL.ANALOG_SENSOR() ), { variant: 'success' });
|
enqueueSnackbar(LL.REMOVED_OF(LL.ANALOG_SENSOR()), { variant: 'success' });
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
enqueueSnackbar(extractErrorMessage(error, LL.PROBLEM_UPDATING()), { variant: 'error' });
|
enqueueSnackbar(extractErrorMessage(error, LL.PROBLEM_UPDATING()), { variant: 'error' });
|
||||||
@@ -1014,11 +1014,11 @@ const DashboardData: FC = () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
if (response.status === 204) {
|
if (response.status === 204) {
|
||||||
enqueueSnackbar(LL.UPDATE_OF( LL.ANALOG_SENSOR() ) + ' ' + LL.FAILED(), { variant: 'error' });
|
enqueueSnackbar(LL.UPDATE_OF(LL.ANALOG_SENSOR()) + ' ' + LL.FAILED(), { variant: 'error' });
|
||||||
} else if (response.status === 403) {
|
} else if (response.status === 403) {
|
||||||
enqueueSnackbar(LL.ACCESS_DENIED(), { variant: 'error' });
|
enqueueSnackbar(LL.ACCESS_DENIED(), { variant: 'error' });
|
||||||
} else {
|
} else {
|
||||||
enqueueSnackbar(LL.UPDATED_OF( LL.ANALOG_SENSOR() ), { variant: 'success' });
|
enqueueSnackbar(LL.UPDATED_OF(LL.ANALOG_SENSOR()), { variant: 'success' });
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
enqueueSnackbar(extractErrorMessage(error, LL.PROBLEM_UPDATING()), { variant: 'error' });
|
enqueueSnackbar(extractErrorMessage(error, LL.PROBLEM_UPDATING()), { variant: 'error' });
|
||||||
@@ -1077,7 +1077,13 @@ const DashboardData: FC = () => {
|
|||||||
{analog.t >= AnalogType.COUNTER && analog.t <= AnalogType.RATE && (
|
{analog.t >= AnalogType.COUNTER && analog.t <= AnalogType.RATE && (
|
||||||
<>
|
<>
|
||||||
<Grid item>
|
<Grid item>
|
||||||
<ValidatedTextField name="u" label={LL.UNIT()} value={analog.u} select onChange={updateValue(setAnalog)}>
|
<ValidatedTextField
|
||||||
|
name="u"
|
||||||
|
label={LL.UNIT()}
|
||||||
|
value={analog.u}
|
||||||
|
select
|
||||||
|
onChange={updateValue(setAnalog)}
|
||||||
|
>
|
||||||
{DeviceValueUOM_s.map((val, i) => (
|
{DeviceValueUOM_s.map((val, i) => (
|
||||||
<MenuItem key={i} value={i}>
|
<MenuItem key={i} value={i}>
|
||||||
{val}
|
{val}
|
||||||
|
|||||||
@@ -201,7 +201,10 @@ const DashboardStatus: FC = () => {
|
|||||||
<DirectionsBusIcon />
|
<DirectionsBusIcon />
|
||||||
</Avatar>
|
</Avatar>
|
||||||
</ListItemAvatar>
|
</ListItemAvatar>
|
||||||
<ListItemText primary={LL.EMS_BUS_STATUS()} secondary={busStatus(data) + ' (' + formatDurationSec(data.uptime) + ')'} />
|
<ListItemText
|
||||||
|
primary={LL.EMS_BUS_STATUS()}
|
||||||
|
secondary={busStatus(data) + ' (' + formatDurationSec(data.uptime) + ')'}
|
||||||
|
/>
|
||||||
</ListItem>
|
</ListItem>
|
||||||
<ListItem>
|
<ListItem>
|
||||||
<ListItemAvatar>
|
<ListItemAvatar>
|
||||||
|
|||||||
@@ -13,12 +13,12 @@ const Help: FC = () => {
|
|||||||
const { LL } = useI18nContext();
|
const { LL } = useI18nContext();
|
||||||
const { routerTab } = useRouterTab();
|
const { routerTab } = useRouterTab();
|
||||||
|
|
||||||
useLayoutTitle(LL.HELP_OF(""));
|
useLayoutTitle(LL.HELP_OF(''));
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<RouterTabs value={routerTab}>
|
<RouterTabs value={routerTab}>
|
||||||
<Tab value="information" label={LL.HELP_OF("EMS-ESP")} />
|
<Tab value="information" label={LL.HELP_OF('EMS-ESP')} />
|
||||||
</RouterTabs>
|
</RouterTabs>
|
||||||
<Routes>
|
<Routes>
|
||||||
<Route path="information" element={<HelpInformation />} />
|
<Route path="information" element={<HelpInformation />} />
|
||||||
|
|||||||
@@ -22,11 +22,11 @@ const ProjectMenu: FC = () => {
|
|||||||
<LayoutMenuItem icon={DashboardIcon} label={LL.DASHBOARD()} to={`/${PROJECT_PATH}/dashboard`} />
|
<LayoutMenuItem icon={DashboardIcon} label={LL.DASHBOARD()} to={`/${PROJECT_PATH}/dashboard`} />
|
||||||
<LayoutMenuItem
|
<LayoutMenuItem
|
||||||
icon={TuneIcon}
|
icon={TuneIcon}
|
||||||
label={LL.SETTINGS_OF("")}
|
label={LL.SETTINGS_OF('')}
|
||||||
to={`/${PROJECT_PATH}/settings`}
|
to={`/${PROJECT_PATH}/settings`}
|
||||||
disabled={!authenticatedContext.me.admin}
|
disabled={!authenticatedContext.me.admin}
|
||||||
/>
|
/>
|
||||||
<LayoutMenuItem icon={InfoIcon} label={LL.HELP_OF("")} to={`/${PROJECT_PATH}/help`} />
|
<LayoutMenuItem icon={InfoIcon} label={LL.HELP_OF('')} to={`/${PROJECT_PATH}/help`} />
|
||||||
</List>
|
</List>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ const Settings: FC = () => {
|
|||||||
const { LL } = useI18nContext();
|
const { LL } = useI18nContext();
|
||||||
const { routerTab } = useRouterTab();
|
const { routerTab } = useRouterTab();
|
||||||
|
|
||||||
useLayoutTitle(LL.SETTINGS_OF(""));
|
useLayoutTitle(LL.SETTINGS_OF(''));
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
|
|||||||
@@ -278,7 +278,7 @@ const SettingsApplication: FC = () => {
|
|||||||
</>
|
</>
|
||||||
)}
|
)}
|
||||||
<Typography variant="h6" color="primary">
|
<Typography variant="h6" color="primary">
|
||||||
{LL.SETTINGS_OF("EMS BUS")}
|
{LL.SETTINGS_OF('EMS BUS')}
|
||||||
</Typography>
|
</Typography>
|
||||||
<Grid container spacing={1} direction="row" justifyContent="flex-start" alignItems="flex-start">
|
<Grid container spacing={1} direction="row" justifyContent="flex-start" alignItems="flex-start">
|
||||||
<Grid item xs={6}>
|
<Grid item xs={6}>
|
||||||
|
|||||||
@@ -167,10 +167,7 @@ const SettingsCustomization: FC = () => {
|
|||||||
function formatName(de: DeviceEntity) {
|
function formatName(de: DeviceEntity) {
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
{de.n && (
|
{de.n && (de.n[0] === '!' ? LL.COMMAND() + ': ' + de.n.slice(1) : de.cn && de.cn !== '' ? de.cn : de.n) + ' '}(
|
||||||
(de.n[0] === '!' ? LL.COMMAND() + ': ' + de.n.slice(1) : de.cn && de.cn !== '' ? de.cn : de.n) + ' '
|
|
||||||
)}
|
|
||||||
(
|
|
||||||
<Link target="_blank" href={APIURL + devices?.devices[selectedDevice].t + '/' + de.id}>
|
<Link target="_blank" href={APIURL + devices?.devices[selectedDevice].t + '/' + de.id}>
|
||||||
{de.id}
|
{de.id}
|
||||||
</Link>
|
</Link>
|
||||||
|
|||||||
@@ -24,10 +24,7 @@ export const GPIO_VALIDATOR = {
|
|||||||
|
|
||||||
export const GPIO_VALIDATORC3 = {
|
export const GPIO_VALIDATORC3 = {
|
||||||
validator(rule: InternalRuleItem, value: number, callback: (error?: string) => void) {
|
validator(rule: InternalRuleItem, value: number, callback: (error?: string) => void) {
|
||||||
if (
|
if (value && ((value >= 11 && value <= 19) || value > 21 || value < 0)) {
|
||||||
value &&
|
|
||||||
((value >= 11 && value <= 19) || value > 21 || value < 0)
|
|
||||||
) {
|
|
||||||
callback('Must be an valid GPIO port');
|
callback('Must be an valid GPIO port');
|
||||||
} else {
|
} else {
|
||||||
callback();
|
callback();
|
||||||
@@ -37,10 +34,7 @@ export const GPIO_VALIDATORC3 = {
|
|||||||
|
|
||||||
export const GPIO_VALIDATORS2 = {
|
export const GPIO_VALIDATORS2 = {
|
||||||
validator(rule: InternalRuleItem, value: number, callback: (error?: string) => void) {
|
validator(rule: InternalRuleItem, value: number, callback: (error?: string) => void) {
|
||||||
if (
|
if (value && ((value >= 19 && value <= 20) || (value >= 22 && value <= 32) || value > 40 || value < 0)) {
|
||||||
value &&
|
|
||||||
((value >= 19 && value <= 20) || (value >= 22 && value <= 32) || value > 40 || value < 0)
|
|
||||||
) {
|
|
||||||
callback('Must be an valid GPIO port');
|
callback('Must be an valid GPIO port');
|
||||||
} else {
|
} else {
|
||||||
callback();
|
callback();
|
||||||
@@ -50,21 +44,24 @@ export const GPIO_VALIDATORS2 = {
|
|||||||
|
|
||||||
export const createSettingsValidator = (settings: Settings) =>
|
export const createSettingsValidator = (settings: Settings) =>
|
||||||
new Schema({
|
new Schema({
|
||||||
...(settings.board_profile === 'CUSTOM' && settings.platform === 'ESP32' && {
|
...(settings.board_profile === 'CUSTOM' &&
|
||||||
|
settings.platform === 'ESP32' && {
|
||||||
led_gpio: [{ required: true, message: 'LED GPIO is required' }, GPIO_VALIDATOR],
|
led_gpio: [{ required: true, message: 'LED GPIO is required' }, GPIO_VALIDATOR],
|
||||||
dallas_gpio: [{ required: true, message: 'GPIO is required' }, GPIO_VALIDATOR],
|
dallas_gpio: [{ required: true, message: 'GPIO is required' }, GPIO_VALIDATOR],
|
||||||
pbutton_gpio: [{ required: true, message: 'Button GPIO is required' }, GPIO_VALIDATOR],
|
pbutton_gpio: [{ required: true, message: 'Button GPIO is required' }, GPIO_VALIDATOR],
|
||||||
tx_gpio: [{ required: true, message: 'Tx GPIO is required' }, GPIO_VALIDATOR],
|
tx_gpio: [{ required: true, message: 'Tx GPIO is required' }, GPIO_VALIDATOR],
|
||||||
rx_gpio: [{ required: true, message: 'Rx GPIO is required' }, GPIO_VALIDATOR]
|
rx_gpio: [{ required: true, message: 'Rx GPIO is required' }, GPIO_VALIDATOR]
|
||||||
}),
|
}),
|
||||||
...(settings.board_profile === 'CUSTOM' && settings.platform === 'ESP32-C3' && {
|
...(settings.board_profile === 'CUSTOM' &&
|
||||||
|
settings.platform === 'ESP32-C3' && {
|
||||||
led_gpio: [{ required: true, message: 'LED GPIO is required' }, GPIO_VALIDATORC3],
|
led_gpio: [{ required: true, message: 'LED GPIO is required' }, GPIO_VALIDATORC3],
|
||||||
dallas_gpio: [{ required: true, message: 'GPIO is required' }, GPIO_VALIDATORC3],
|
dallas_gpio: [{ required: true, message: 'GPIO is required' }, GPIO_VALIDATORC3],
|
||||||
pbutton_gpio: [{ required: true, message: 'Button GPIO is required' }, GPIO_VALIDATORC3],
|
pbutton_gpio: [{ required: true, message: 'Button GPIO is required' }, GPIO_VALIDATORC3],
|
||||||
tx_gpio: [{ required: true, message: 'Tx GPIO is required' }, GPIO_VALIDATORC3],
|
tx_gpio: [{ required: true, message: 'Tx GPIO is required' }, GPIO_VALIDATORC3],
|
||||||
rx_gpio: [{ required: true, message: 'Rx GPIO is required' }, GPIO_VALIDATORC3]
|
rx_gpio: [{ required: true, message: 'Rx GPIO is required' }, GPIO_VALIDATORC3]
|
||||||
}),
|
}),
|
||||||
...(settings.board_profile === 'CUSTOM' && settings.platform === 'ESP32-S2' && {
|
...(settings.board_profile === 'CUSTOM' &&
|
||||||
|
settings.platform === 'ESP32-S2' && {
|
||||||
led_gpio: [{ required: true, message: 'LED GPIO is required' }, GPIO_VALIDATORS2],
|
led_gpio: [{ required: true, message: 'LED GPIO is required' }, GPIO_VALIDATORS2],
|
||||||
dallas_gpio: [{ required: true, message: 'GPIO is required' }, GPIO_VALIDATORS2],
|
dallas_gpio: [{ required: true, message: 'GPIO is required' }, GPIO_VALIDATORS2],
|
||||||
pbutton_gpio: [{ required: true, message: 'Button GPIO is required' }, GPIO_VALIDATORS2],
|
pbutton_gpio: [{ required: true, message: 'Button GPIO is required' }, GPIO_VALIDATORS2],
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ export const useRest = <D>({ read, update }: RestRequestOptions<D>) => {
|
|||||||
if (response.status === 202) {
|
if (response.status === 202) {
|
||||||
setRestartNeeded(true);
|
setRestartNeeded(true);
|
||||||
} else {
|
} else {
|
||||||
enqueueSnackbar(LL.SETTINGS_OF("") + ' ' + LL.SAVED(), { variant: 'success' });
|
enqueueSnackbar(LL.SETTINGS_OF('') + ' ' + LL.SAVED(), { variant: 'success' });
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
const message = extractErrorMessage(error, LL.PROBLEM_UPDATING());
|
const message = extractErrorMessage(error, LL.PROBLEM_UPDATING());
|
||||||
|
|||||||
Reference in New Issue
Block a user