fix missing notification after save

This commit is contained in:
proddy
2025-10-22 15:37:04 +02:00
parent 6281f9cfe1
commit f75deb3505

View File

@@ -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));
}} }}
> >