Prevent duplicating providers when adding a new provider

This commit is contained in:
Mark McDowall 2026-03-28 14:10:11 -07:00
parent 5e5f1835f5
commit 536d292838

View file

@ -122,13 +122,17 @@ export const useSaveProviderSettings = <T extends ModelBase>(
},
onSuccess: (updatedSettings: T) => {
queryClient.setQueryData<T[]>([path], (oldData = []) => {
if (id) {
return oldData.map((item) =>
item.id === updatedSettings.id ? updatedSettings : item
);
const existingIndex = oldData.findIndex(
(item) => item.id === updatedSettings.id
);
if (existingIndex === -1) {
return [...oldData, updatedSettings];
}
return [...oldData, updatedSettings];
return oldData.map((item) =>
item.id === updatedSettings.id ? updatedSettings : item
);
});
onSuccess?.(updatedSettings);
},