diff --git a/src/renderer/components/maps-mangement-components/local-maps-list-panel.component.tsx b/src/renderer/components/maps-mangement-components/local-maps-list-panel.component.tsx index e723f89e..0d113bee 100644 --- a/src/renderer/components/maps-mangement-components/local-maps-list-panel.component.tsx +++ b/src/renderer/components/maps-mangement-components/local-maps-list-panel.component.tsx @@ -137,10 +137,17 @@ export const LocalMapsListPanel = forwardRef(({version, className, filter, searc const removeMapsFromList = (mapsToRemove: BsmLocalMap[]) => { const filtredMaps = maps.filter(map => !mapsToRemove.some(toDeleteMaps => map.hash === toDeleteMaps.hash)); setMaps(() => filtredMaps); + + const filtredSelectedMaps = selectedMaps$.value.filter(map => !mapsToRemove.some(toDeleteMaps => map.hash === toDeleteMaps.hash)); + selectedMaps$.next(filtredSelectedMaps); }; const handleDelete = useCallback((map: BsmLocalMap) => { - mapsManager.deleteMaps([map], version).then(res => res && removeMapsFromList([map])); + mapsManager.deleteMaps([map], version).then(res => { + if(!res){ return; } + removeMapsFromList([map]); + + }); }, [version, maps]); const onMapSelected = useCallback((map: BsmLocalMap) => { diff --git a/src/renderer/services/maps-manager.service.ts b/src/renderer/services/maps-manager.service.ts index 8c9291aa..8df78f91 100644 --- a/src/renderer/services/maps-manager.service.ts +++ b/src/renderer/services/maps-manager.service.ts @@ -86,7 +86,7 @@ export class MapsManagerService { public async deleteMaps(maps: BsmLocalMap[], version?: BSVersion): Promise{ - const versionLinked = await this.versionHaveMapsLinked(version); + const versionLinked = !version || await this.versionHaveMapsLinked(version); const askModal = maps.length > 1 || !this.config.get(MapsManagerService.REMEMBER_CHOICE_DELETE_MAP_KEY);