mirror of
https://github.com/emsesp/EMS-ESP32.git
synced 2025-12-06 15:59:52 +03:00
fix missing notification after save
This commit is contained in:
@@ -125,7 +125,6 @@ const Customizations = () => {
|
|||||||
|
|
||||||
const setOriginalSettings = (data: DeviceEntity[]) => {
|
const setOriginalSettings = (data: DeviceEntity[]) => {
|
||||||
setDeviceEntities(
|
setDeviceEntities(
|
||||||
// @ts-expect-error - exactOptionalPropertyTypes compatibility issue
|
|
||||||
data.map((de) => ({
|
data.map((de) => ({
|
||||||
...de,
|
...de,
|
||||||
o_m: de.m,
|
o_m: de.m,
|
||||||
@@ -240,20 +239,15 @@ const Customizations = () => {
|
|||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (devices && selectedDevice !== -1) {
|
if (devices && selectedDevice !== -1) {
|
||||||
void sendDeviceEntities(selectedDevice);
|
void sendDeviceEntities(selectedDevice);
|
||||||
const index = devices.devices.findIndex(
|
const index = devices.devices.findIndex((d) => d.id === selectedDevice);
|
||||||
(d: Device) => d.id === selectedDevice
|
|
||||||
);
|
|
||||||
if (index === -1) {
|
if (index === -1) {
|
||||||
setSelectedDevice(-1);
|
setSelectedDevice(-1);
|
||||||
setSelectedDeviceTypeNameURL('');
|
setSelectedDeviceTypeNameURL('');
|
||||||
} else {
|
} else {
|
||||||
const device = devices.devices[index];
|
setSelectedDeviceTypeNameURL(devices.devices[index].url || '');
|
||||||
if (device) {
|
setSelectedDeviceName(devices.devices[index].n);
|
||||||
setSelectedDeviceTypeNameURL(device.url || '');
|
setNumChanges(0);
|
||||||
setSelectedDeviceName(device.n);
|
setRestartNeeded(false);
|
||||||
setNumChanges(0);
|
|
||||||
setRestartNeeded(false);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}, [devices, selectedDevice]);
|
}, [devices, selectedDevice]);
|
||||||
@@ -402,14 +396,20 @@ const Customizations = () => {
|
|||||||
await sendCustomizationEntities({
|
await sendCustomizationEntities({
|
||||||
id: selectedDevice,
|
id: selectedDevice,
|
||||||
entity_ids: masked_entities
|
entity_ids: masked_entities
|
||||||
}).catch((error: Error) => {
|
})
|
||||||
if (error.message === 'Reboot required') {
|
.then(() => {
|
||||||
setRestartNeeded(true);
|
toast.success(LL.CUSTOMIZATIONS_SAVED());
|
||||||
} else {
|
})
|
||||||
toast.error(error.message);
|
.catch((error: Error) => {
|
||||||
}
|
if (error.message === 'Reboot required') {
|
||||||
});
|
setRestartNeeded(true);
|
||||||
setOriginalSettings(deviceEntities);
|
} else {
|
||||||
|
toast.error(error.message);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.finally(() => {
|
||||||
|
setOriginalSettings(deviceEntities);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -551,7 +551,7 @@ const Customizations = () => {
|
|||||||
size="small"
|
size="small"
|
||||||
color="secondary"
|
color="secondary"
|
||||||
value={getMaskString(selectedFilters)}
|
value={getMaskString(selectedFilters)}
|
||||||
onChange={(_event, mask: string[]) => {
|
onChange={(event, mask: string[]) => {
|
||||||
setSelectedFilters(getMaskNumber(mask));
|
setSelectedFilters(getMaskNumber(mask));
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
|
|||||||
Reference in New Issue
Block a user