From f50ee1c25dd766f2d6e19deda0c02b8776fd4dae Mon Sep 17 00:00:00 2001 From: MathieuG-P <40181755+Zagrios@users.noreply.github.com> Date: Wed, 28 Jun 2023 20:43:19 +0200 Subject: [PATCH] [hotfix] fix cant delete maps in shared contents + fix conflict with maps selected and maps deletion --- .../local-maps-list-panel.component.tsx | 9 ++++++++- src/renderer/services/maps-manager.service.ts | 2 +- 2 files changed, 9 insertions(+), 2 deletions(-) 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);