diff --git a/.prettierignore b/.prettierignore index 3e5b7d2ea..370f2dd2b 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1,4 +1,5 @@ node_modules/ build/ +dist/ .prettierrc .yarn/ \ No newline at end of file diff --git a/interface/.eslintrc.json b/interface/.eslintrc.json index 4f147e5a7..199f83753 100644 --- a/interface/.eslintrc.json +++ b/interface/.eslintrc.json @@ -97,6 +97,12 @@ "{}": false } } + ], + "prettier/prettier": [ + "error", + { + "endOfLine": "auto" + } ] } } diff --git a/interface/.prettierignore b/interface/.prettierignore deleted file mode 100644 index 370f2dd2b..000000000 --- a/interface/.prettierignore +++ /dev/null @@ -1,5 +0,0 @@ -node_modules/ -build/ -dist/ -.prettierrc -.yarn/ \ No newline at end of file diff --git a/interface/.prettierrc b/interface/.prettierrc deleted file mode 100644 index 4197de585..000000000 --- a/interface/.prettierrc +++ /dev/null @@ -1,8 +0,0 @@ -{ - "trailingComma": "none", - "tabWidth": 2, - "semi": true, - "singleQuote": true, - "printWidth": 120, - "bracketSpacing": true -} \ No newline at end of file diff --git a/interface/src/CustomTheme.tsx b/interface/src/CustomTheme.tsx index a482e0b28..1f08afc19 100644 --- a/interface/src/CustomTheme.tsx +++ b/interface/src/CustomTheme.tsx @@ -1,10 +1,19 @@ import { CssBaseline } from '@mui/material'; -import { blueGrey, blue } from '@mui/material/colors'; import { createTheme, responsiveFontSizes, ThemeProvider } from '@mui/material/styles'; import type { FC } from 'react'; import type { RequiredChildrenProps } from 'utils'; +export const dialogStyle = { + '& .MuiDialog-paper': { + borderRadius: '8px', + borderColor: '#565656', + borderStyle: 'solid', + borderWidth: '1px' + }, + backdropFilter: 'blur(1px)' +}; + const theme = responsiveFontSizes( createTheme({ typography: { @@ -13,10 +22,10 @@ const theme = responsiveFontSizes( palette: { mode: 'dark', secondary: { - main: blue[500] + main: '#2196f3' // blue[500] }, info: { - main: blueGrey[500] + main: '#607d8b' // blueGrey[500] } } }) diff --git a/interface/src/components/inputs/ValidatedPasswordField.tsx b/interface/src/components/inputs/ValidatedPasswordField.tsx index 43cc0f426..cae61fdd3 100644 --- a/interface/src/components/inputs/ValidatedPasswordField.tsx +++ b/interface/src/components/inputs/ValidatedPasswordField.tsx @@ -20,11 +20,7 @@ const ValidatedPasswordField: FC = ({ InputProps, . ...InputProps, endAdornment: ( - setShowPassword(!showPassword)} - edge="end" - > + setShowPassword(!showPassword)} edge="end"> {showPassword ? : } diff --git a/interface/src/components/layout/LayoutAppBar.tsx b/interface/src/components/layout/LayoutAppBar.tsx index 500d7519e..b93e8e820 100644 --- a/interface/src/components/layout/LayoutAppBar.tsx +++ b/interface/src/components/layout/LayoutAppBar.tsx @@ -21,13 +21,7 @@ const LayoutAppBar: FC = ({ title, onToggleDrawer }) => ( }} > - + diff --git a/interface/src/components/layout/LayoutMenuItem.tsx b/interface/src/components/layout/LayoutMenuItem.tsx index 91914169d..d9bb46ca2 100644 --- a/interface/src/components/layout/LayoutMenuItem.tsx +++ b/interface/src/components/layout/LayoutMenuItem.tsx @@ -1,5 +1,4 @@ import { ListItem, ListItemButton, ListItemIcon, ListItemText } from '@mui/material'; -import { grey } from '@mui/material/colors'; import { Link, useLocation } from 'react-router-dom'; import type { SvgIconProps } from '@mui/material'; import type { FC } from 'react'; @@ -21,10 +20,10 @@ const LayoutMenuItem: FC = ({ icon: Icon, label, to, disabl return ( - + - {label} + {label} ); diff --git a/interface/src/components/routing/BlockNavigation.tsx b/interface/src/components/routing/BlockNavigation.tsx index c8986c14a..dd0541075 100644 --- a/interface/src/components/routing/BlockNavigation.tsx +++ b/interface/src/components/routing/BlockNavigation.tsx @@ -3,6 +3,7 @@ import type { FC } from 'react'; import type { unstable_Blocker as Blocker } from 'react-router-dom'; +import { dialogStyle } from 'CustomTheme'; import { useI18nContext } from 'i18n/i18n-react'; interface BlockNavigationProps { @@ -13,7 +14,7 @@ const BlockNavigation: FC = ({ blocker }) => { const { LL } = useI18nContext(); return ( - + {LL.BLOCK_NAVIGATE_1()} {LL.BLOCK_NAVIGATE_2()} diff --git a/interface/src/framework/mqtt/MqttSettingsForm.tsx b/interface/src/framework/mqtt/MqttSettingsForm.tsx index d9e49ab95..1647c3f9d 100644 --- a/interface/src/framework/mqtt/MqttSettingsForm.tsx +++ b/interface/src/framework/mqtt/MqttSettingsForm.tsx @@ -310,7 +310,7 @@ const MqttSettingsForm: FC = () => { {LL.SECONDS()} }} diff --git a/interface/src/framework/network/NetworkSettingsForm.tsx b/interface/src/framework/network/NetworkSettingsForm.tsx index f4fefbb2a..a1a0af29e 100644 --- a/interface/src/framework/network/NetworkSettingsForm.tsx +++ b/interface/src/framework/network/NetworkSettingsForm.tsx @@ -142,7 +142,7 @@ const WiFiSettingsForm: FC = () => { secondary={'Security: ' + networkSecurityMode(selectedNetwork) + ', Ch: ' + selectedNetwork.channel} /> - + diff --git a/interface/src/framework/ntp/NTPStatusForm.tsx b/interface/src/framework/ntp/NTPStatusForm.tsx index 6b47b56e1..c8e73ef74 100644 --- a/interface/src/framework/ntp/NTPStatusForm.tsx +++ b/interface/src/framework/ntp/NTPStatusForm.tsx @@ -28,6 +28,7 @@ import type { Theme } from '@mui/material'; import type { FC } from 'react'; import type { NTPStatus } from 'types'; +import { dialogStyle } from 'CustomTheme'; import * as NTPApi from 'api/ntp'; import { ButtonRow, FormLoader, SectionContent } from 'components'; import { AuthenticatedContext } from 'contexts/authentication'; @@ -108,7 +109,7 @@ const NTPStatusForm: FC = () => { }; const renderSetTimeDialog = () => ( - setSettingTime(false)}> + setSettingTime(false)}> {LL.SET_TIME(1)} diff --git a/interface/src/framework/security/GenerateToken.tsx b/interface/src/framework/security/GenerateToken.tsx index 0a2e8a0ef..f7092829f 100644 --- a/interface/src/framework/security/GenerateToken.tsx +++ b/interface/src/framework/security/GenerateToken.tsx @@ -14,6 +14,7 @@ import { useRequest } from 'alova'; import { useEffect } from 'react'; import type { FC } from 'react'; +import { dialogStyle } from 'CustomTheme'; import * as SecurityApi from 'api/security'; import { MessageBox } from 'components'; @@ -39,8 +40,8 @@ const GenerateToken: FC = ({ username, onClose }) => { }, [open, generateToken]); return ( - - {LL.ACCESS_TOKEN_FOR() + ' ' + username} + + {LL.ACCESS_TOKEN_FOR() + ' ' + username} {token ? ( <> diff --git a/interface/src/framework/security/ManageUsersForm.tsx b/interface/src/framework/security/ManageUsersForm.tsx index cabeb5ea2..a8d8c9afb 100644 --- a/interface/src/framework/security/ManageUsersForm.tsx +++ b/interface/src/framework/security/ManageUsersForm.tsx @@ -161,15 +161,14 @@ const ManageUsersForm: FC = () => { generateToken(u.username)} > - removeUser(u)}> + removeUser(u)}> - editUser(u)}> + editUser(u)}> diff --git a/interface/src/framework/security/UserForm.tsx b/interface/src/framework/security/UserForm.tsx index f11343096..3416b5dd4 100644 --- a/interface/src/framework/security/UserForm.tsx +++ b/interface/src/framework/security/UserForm.tsx @@ -9,6 +9,7 @@ import type { ValidateFieldsError } from 'async-validator'; import type { FC } from 'react'; import type { User } from 'types'; +import { dialogStyle } from 'CustomTheme'; import { BlockFormControlLabel, ValidatedPasswordField, ValidatedTextField } from 'components'; import { useI18nContext } from 'i18n/i18n-react'; import { updateValue } from 'utils'; @@ -51,7 +52,7 @@ const UserForm: FC = ({ creating, validator, user, setUser, onDon }; return ( - + {user && ( <> diff --git a/interface/src/framework/system/SystemStatusForm.tsx b/interface/src/framework/system/SystemStatusForm.tsx index dd2416ca1..a6c24c993 100644 --- a/interface/src/framework/system/SystemStatusForm.tsx +++ b/interface/src/framework/system/SystemStatusForm.tsx @@ -34,6 +34,7 @@ import RestartMonitor from './RestartMonitor'; import SystemStatusVersionDialog from './SystemStatusVersionDialog'; import type { FC } from 'react'; +import { dialogStyle } from 'CustomTheme'; import * as SystemApi from 'api/system'; import { ButtonRow, FormLoader, SectionContent } from 'components'; import { AuthenticatedContext } from 'contexts/authentication'; @@ -115,7 +116,7 @@ const SystemStatusForm: FC = () => { }; const renderRestartDialog = () => ( - setConfirmRestart(false)}> + setConfirmRestart(false)}> {LL.RESTART()} {LL.RESTART_CONFIRM()} @@ -153,7 +154,7 @@ const SystemStatusForm: FC = () => { ); const renderFactoryResetDialog = () => ( - setConfirmFactoryReset(false)}> + setConfirmFactoryReset(false)}> {LL.FACTORY_RESET()} {LL.SYSTEM_FACTORY_TEXT_DIALOG()} diff --git a/interface/src/framework/system/SystemStatusVersionDialog.tsx b/interface/src/framework/system/SystemStatusVersionDialog.tsx index fa2851025..1c7ab8876 100644 --- a/interface/src/framework/system/SystemStatusVersionDialog.tsx +++ b/interface/src/framework/system/SystemStatusVersionDialog.tsx @@ -1,6 +1,7 @@ import { Box, Button, Dialog, DialogActions, DialogContent, DialogTitle, Link, Typography } from '@mui/material'; import { useRequest } from 'alova'; import { useCallback, useEffect } from 'react'; +import { dialogStyle } from 'CustomTheme'; import * as SystemApi from 'api/system'; import MessageBox from 'components/MessageBox'; @@ -49,7 +50,7 @@ const SystemStatusVersionDialog = ({ open, onClose, version, platform }: SystemS const getBinURL = (v: string) => 'EMS-ESP-' + v.replaceAll('.', '_') + '-' + platform.replaceAll('-', '_') + '.bin'; return ( - + {LL.VERSION_CHECK(1)} diff --git a/interface/src/i18n/de/index.ts b/interface/src/i18n/de/index.ts index dfbab3705..9b799bf19 100644 --- a/interface/src/i18n/de/index.ts +++ b/interface/src/i18n/de/index.ts @@ -246,7 +246,6 @@ const de: Translation = { MQTT_INT_THERMOSTATS: 'Thermostate', MQTT_INT_SOLAR: 'Solarmodule', MQTT_INT_MIXER: 'Mischermodule', - MQTT_INT_HEARTBEAT: 'Heartbeat', MQTT_QUEUE: 'MQTT Queue', DEFAULT: 'Standard', MQTT_ENTITY_FORMAT: 'Entitäts-ID Format', diff --git a/interface/src/i18n/en/index.ts b/interface/src/i18n/en/index.ts index fb3e89512..490bb57ef 100644 --- a/interface/src/i18n/en/index.ts +++ b/interface/src/i18n/en/index.ts @@ -186,7 +186,7 @@ const en: Translation = { USE: 'Use', FACTORY_RESET: 'Factory Reset', SYSTEM_FACTORY_TEXT: 'Device has been factory reset and will now restart', - SYSTEM_FACTORY_TEXT_DIALOG: 'Are you sure you want to reset the device to its factory defaults?', + SYSTEM_FACTORY_TEXT_DIALOG: 'Are you sure you want to reset EMS-ESP to its factory defaults?', VERSION_CHECK: 'Version Check', THE_LATEST: 'The latest', OFFICIAL: 'official', @@ -246,7 +246,6 @@ const en: Translation = { MQTT_INT_THERMOSTATS: 'Thermostats', MQTT_INT_SOLAR: 'Solar Modules', MQTT_INT_MIXER: 'Mixer Modules', - MQTT_INT_HEARTBEAT: 'Heartbeat', MQTT_QUEUE: 'MQTT Queue', DEFAULT: 'Default', MQTT_ENTITY_FORMAT: 'Entity ID format', diff --git a/interface/src/i18n/fr/index.ts b/interface/src/i18n/fr/index.ts index 965803614..a9a8fceb9 100644 --- a/interface/src/i18n/fr/index.ts +++ b/interface/src/i18n/fr/index.ts @@ -246,7 +246,6 @@ const fr: Translation = { MQTT_INT_THERMOSTATS: 'Thermostats', MQTT_INT_SOLAR: 'Modules solaires', MQTT_INT_MIXER: 'Modules mélangeurs', - MQTT_INT_HEARTBEAT: 'Battements', MQTT_QUEUE: 'Queue MQTT', DEFAULT: 'Défaut', MQTT_ENTITY_FORMAT: 'Entity ID format', // TODO translate diff --git a/interface/src/i18n/it/index.ts b/interface/src/i18n/it/index.ts index f122a8fec..7efbb03f0 100644 --- a/interface/src/i18n/it/index.ts +++ b/interface/src/i18n/it/index.ts @@ -248,7 +248,6 @@ const it: Translation = { MQTT_INT_THERMOSTATS: 'Termostati', MQTT_INT_SOLAR: 'Moduli solari', MQTT_INT_MIXER: 'Moduli Mixer', - MQTT_INT_HEARTBEAT: 'Heartbeat', MQTT_QUEUE: 'Coda MQTT', DEFAULT: 'Predefinito', MQTT_ENTITY_FORMAT: 'Formato ID entità', diff --git a/interface/src/i18n/nl/index.ts b/interface/src/i18n/nl/index.ts index d49662bcc..993f64812 100644 --- a/interface/src/i18n/nl/index.ts +++ b/interface/src/i18n/nl/index.ts @@ -193,7 +193,7 @@ const nl: Translation = { DEVELOPMENT: 'development', RELEASE_IS: 'release is', RELEASE_NOTES: 'release notes', - EMS_ESP_VER: 'EMS-ESP Version', + EMS_ESP_VER: 'EMS-ESP Versie', PLATFORM: 'Apparaat (Platform / SDK)', UPTIME: 'Systeem Uptime', CPU_FREQ: 'CPU Frequency', @@ -246,7 +246,6 @@ const nl: Translation = { MQTT_INT_THERMOSTATS: 'Thermostaten', MQTT_INT_SOLAR: 'Solar Modules', MQTT_INT_MIXER: 'Mixer Modules', - MQTT_INT_HEARTBEAT: 'Heartbeat', MQTT_QUEUE: 'MQTT Queue', DEFAULT: 'Default', MQTT_ENTITY_FORMAT: 'Entity ID formaat', @@ -282,7 +281,7 @@ const nl: Translation = { SCAN_AGAIN: 'Opnieuw scannen', NETWORK_SCANNER: 'Netwerk Scanner', NETWORK_NO_WIFI: 'Geen WiFi networken gevonden', - NETWORK_BLANK_SSID: 'laat leeg om WiFi uit te schakelen', // and enable ETH // TODO translate + NETWORK_BLANK_SSID: 'laat leeg om WiFi uit te schakelen', TX_POWER: 'Tx Vermogen', HOSTNAME: 'Hostname', NETWORK_DISABLE_SLEEP: 'WiFi Sleep Mode uitzetten', @@ -323,7 +322,7 @@ const nl: Translation = { WRITEABLE: 'Beschrijfbare', SHOWING: 'Tonen', SEARCH: 'Zoek', - CERT: 'TSL root certificate (leave blank to disable TSL)' // TODO translate + CERT: 'TSL rootcertificaat (laat leeg om TSL uit te schakelen)' }; export default nl; diff --git a/interface/src/i18n/no/index.ts b/interface/src/i18n/no/index.ts index dd4f51318..f396d634f 100644 --- a/interface/src/i18n/no/index.ts +++ b/interface/src/i18n/no/index.ts @@ -246,7 +246,6 @@ const no: Translation = { MQTT_INT_THERMOSTATS: 'Termostat', MQTT_INT_SOLAR: 'Solpaneler', MQTT_INT_MIXER: 'Blandeventil', - MQTT_INT_HEARTBEAT: 'Heartbeat', MQTT_QUEUE: 'MQTT Queue', DEFAULT: 'Standard', MQTT_ENTITY_FORMAT: 'Enhets ID format', diff --git a/interface/src/i18n/pl/index.ts b/interface/src/i18n/pl/index.ts index 2073acb1f..47d259a03 100644 --- a/interface/src/i18n/pl/index.ts +++ b/interface/src/i18n/pl/index.ts @@ -246,7 +246,6 @@ const pl: BaseTranslation = { MQTT_INT_THERMOSTATS: 'Termostaty', MQTT_INT_SOLAR: 'Panele solarne', MQTT_INT_MIXER: 'Mieszacze', - MQTT_INT_HEARTBEAT: '"Heartbeat" (aktywność)', MQTT_QUEUE: 'Kolejka MQTT', DEFAULT: '{{Pozostałe|Domyślna|}}', MQTT_ENTITY_FORMAT: 'Format "Entity ID"', diff --git a/interface/src/i18n/sv/index.ts b/interface/src/i18n/sv/index.ts index 2f6e27381..fd96fd714 100644 --- a/interface/src/i18n/sv/index.ts +++ b/interface/src/i18n/sv/index.ts @@ -246,7 +246,6 @@ const sv: Translation = { MQTT_INT_THERMOSTATS: 'Termostater', MQTT_INT_SOLAR: 'Solpaneler', MQTT_INT_MIXER: 'Blandningsventiler', - MQTT_INT_HEARTBEAT: 'Heartbeat', MQTT_QUEUE: 'MQTT-kö', DEFAULT: 'Standard', MQTT_ENTITY_FORMAT: 'Entitets-ID format', diff --git a/interface/src/i18n/tr/index.ts b/interface/src/i18n/tr/index.ts index d046b2b85..15c7214a4 100644 --- a/interface/src/i18n/tr/index.ts +++ b/interface/src/i18n/tr/index.ts @@ -246,7 +246,6 @@ const tr: Translation = { MQTT_INT_THERMOSTATS: 'Termostatlar', MQTT_INT_SOLAR: 'Güneş Enerjisi Modülleri', MQTT_INT_MIXER: 'Karışım Modülleri', - MQTT_INT_HEARTBEAT: 'Kalp atışı', MQTT_QUEUE: 'MQTT Sırası', DEFAULT: 'Varsayılan', MQTT_ENTITY_FORMAT: 'Varlık Kimlik biçimi', diff --git a/interface/src/project/DashboardDevices.tsx b/interface/src/project/DashboardDevices.tsx index 559d6b323..09dd0dfcb 100644 --- a/interface/src/project/DashboardDevices.tsx +++ b/interface/src/project/DashboardDevices.tsx @@ -35,7 +35,7 @@ import { useState, useContext, useEffect, useCallback, useLayoutEffect } from 'r import { IconContext } from 'react-icons'; import { toast } from 'react-toastify'; -import DashboarDevicesDialog from './DashboardDevicesDialog'; +import DashboardDevicesDialog from './DashboardDevicesDialog'; import DeviceIcon from './DeviceIcon'; import * as EMSESP from './api'; @@ -45,6 +45,7 @@ import { DeviceValueUOM_s, DeviceEntityMask, DeviceType } from './types'; import { deviceValueItemValidation } from './validators'; import type { Device, DeviceValue } from './types'; import type { FC } from 'react'; +import { dialogStyle } from 'CustomTheme'; import { ButtonRow, SectionContent, MessageBox } from 'components'; import { AuthenticatedContext } from 'contexts/authentication'; @@ -361,7 +362,7 @@ const DashboardDevices: FC = () => { } return ( - setShowDeviceInfo(false)}> + setShowDeviceInfo(false)}> {LL.DEVICE_DETAILS()} @@ -581,7 +582,7 @@ const DashboardDevices: FC = () => { {renderDeviceData()} {renderDeviceDetails()} {selectedDeviceValue && ( - void; @@ -40,7 +50,7 @@ type DashboardDevicesDialogProps = { progress: boolean; }; -const DashboarDevicesDialog = ({ +const DashboardDevicesDialog = ({ open, onClose, onSave, @@ -112,16 +122,7 @@ const DashboarDevicesDialog = ({ }; return ( - + {selectedItem.v === '' && selectedItem.c ? LL.RUN_COMMAND() : writeable ? LL.CHANGE_VALUE() : LL.VALUE(0)} @@ -206,7 +207,7 @@ const DashboarDevicesDialog = ({ + {creating ? LL.ADD(1) + ' ' + LL.NEW(0) : LL.EDIT()} {LL.ANALOG_SENSOR(0)} diff --git a/interface/src/project/DashboardSensorsTemperatureDialog.tsx b/interface/src/project/DashboardSensorsTemperatureDialog.tsx index 78ae78074..3a0ef4dd4 100644 --- a/interface/src/project/DashboardSensorsTemperatureDialog.tsx +++ b/interface/src/project/DashboardSensorsTemperatureDialog.tsx @@ -18,6 +18,7 @@ import { useState, useEffect } from 'react'; import type { TemperatureSensor } from './types'; import type Schema from 'async-validator'; import type { ValidateFieldsError } from 'async-validator'; +import { dialogStyle } from 'CustomTheme'; import { ValidatedTextField } from 'components'; import { useI18nContext } from 'i18n/i18n-react'; @@ -67,7 +68,7 @@ const DashboardSensorsTemperatureDialog = ({ }; return ( - + {LL.EDIT()} {LL.TEMP_SENSOR()} diff --git a/interface/src/project/DashboardStatus.tsx b/interface/src/project/DashboardStatus.tsx index 4c43014b3..9c1e05b33 100644 --- a/interface/src/project/DashboardStatus.tsx +++ b/interface/src/project/DashboardStatus.tsx @@ -30,6 +30,7 @@ import type { Theme } from '@mui/material'; import type { Translation } from 'i18n/i18n-types'; import type { FC } from 'react'; +import { dialogStyle } from 'CustomTheme'; import { ButtonRow, FormLoader, SectionContent } from 'components'; import { AuthenticatedContext } from 'contexts/authentication'; import { useI18nContext } from 'i18n/i18n-react'; @@ -173,7 +174,7 @@ const DashboardStatus: FC = () => { }; const renderScanDialog = () => ( - setConfirmScan(false)}> + setConfirmScan(false)}> {LL.SCAN_DEVICES()} {LL.EMS_SCAN()} diff --git a/interface/src/project/SettingsCustomization.tsx b/interface/src/project/SettingsCustomization.tsx index 8c032ea16..2fb0e47b0 100644 --- a/interface/src/project/SettingsCustomization.tsx +++ b/interface/src/project/SettingsCustomization.tsx @@ -35,6 +35,7 @@ import * as EMSESP from './api'; import { DeviceEntityMask } from './types'; import type { DeviceShort, DeviceEntity } from './types'; import type { FC } from 'react'; +import { dialogStyle } from 'CustomTheme'; import * as SystemApi from 'api/system'; import { ButtonRow, SectionContent, MessageBox, BlockNavigation } from 'components'; @@ -484,7 +485,7 @@ const SettingsCustomization: FC = () => { }; const renderResetDialog = () => ( - setConfirmReset(false)}> + setConfirmReset(false)}> {LL.RESET(1)} {LL.CUSTOMIZATIONS_RESET()} diff --git a/interface/src/project/SettingsCustomizationDialog.tsx b/interface/src/project/SettingsCustomizationDialog.tsx index 50601785d..8476cd501 100644 --- a/interface/src/project/SettingsCustomizationDialog.tsx +++ b/interface/src/project/SettingsCustomizationDialog.tsx @@ -18,6 +18,7 @@ import EntityMaskToggle from './EntityMaskToggle'; import { DeviceEntityMask } from './types'; import type { DeviceEntity } from './types'; +import { dialogStyle } from 'CustomTheme'; import { useI18nContext } from 'i18n/i18n-react'; import { updateValue } from 'utils'; @@ -63,7 +64,7 @@ const SettingsCustomizationDialog = ({ open, onClose, onSave, selectedItem }: Se }; return ( - + {LL.EDIT() + ' ' + LL.ENTITY()} diff --git a/interface/src/project/SettingsEntitiesDialog.tsx b/interface/src/project/SettingsEntitiesDialog.tsx index 6d8d39511..7006e92d6 100644 --- a/interface/src/project/SettingsEntitiesDialog.tsx +++ b/interface/src/project/SettingsEntitiesDialog.tsx @@ -22,6 +22,7 @@ import type { EntityItem } from './types'; import type Schema from 'async-validator'; import type { ValidateFieldsError } from 'async-validator'; +import { dialogStyle } from 'CustomTheme'; import { BlockFormControlLabel, ValidatedTextField } from 'components'; import { useI18nContext } from 'i18n/i18n-react'; @@ -90,7 +91,7 @@ const SettingsEntitiesDialog = ({ }; return ( - + {creating ? LL.ADD(1) + ' ' + LL.NEW(1) : LL.EDIT()} {LL.ENTITY()} diff --git a/interface/src/project/SettingsSchedulerDialog.tsx b/interface/src/project/SettingsSchedulerDialog.tsx index d074848a4..b5a4eb90f 100644 --- a/interface/src/project/SettingsSchedulerDialog.tsx +++ b/interface/src/project/SettingsSchedulerDialog.tsx @@ -25,6 +25,7 @@ import type { ScheduleItem } from './types'; import type Schema from 'async-validator'; import type { ValidateFieldsError } from 'async-validator'; +import { dialogStyle } from 'CustomTheme'; import { BlockFormControlLabel, ValidatedTextField } from 'components'; import { useI18nContext } from 'i18n/i18n-react'; @@ -129,7 +130,7 @@ const SettingsSchedulerDialog = ({ const isTimer = editItem.flags === ScheduleFlag.SCHEDULE_TIMER; return ( - + {creating ? LL.ADD(1) + ' ' + LL.NEW(0) : LL.EDIT()} {LL.SCHEDULE(1)}