From d0fca53e67e26a7cd006afd5b67913481bd3ba78 Mon Sep 17 00:00:00 2001 From: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Sat, 1 Jun 2024 10:04:40 +1000 Subject: [PATCH] fix(ui): only clear comparison image on alt click of gallery image This logic can't e in the reducer else it applies to dnd events which isn't right --- .../listenerMiddleware/listeners/galleryImageClicked.ts | 6 +++++- .../frontend/web/src/features/gallery/store/gallerySlice.ts | 6 +----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/galleryImageClicked.ts b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/galleryImageClicked.ts index de04202435..43f9355125 100644 --- a/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/galleryImageClicked.ts +++ b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/galleryImageClicked.ts @@ -43,7 +43,11 @@ export const addGalleryImageClickedListener = (startAppListening: AppStartListen const selection = state.gallery.selection; if (altKey) { - dispatch(imageToCompareChanged(imageDTO)); + if (state.gallery.imageToCompare?.image_name === imageDTO.image_name) { + dispatch(imageToCompareChanged(null)); + } else { + dispatch(imageToCompareChanged(imageDTO)); + } } else if (shiftKey) { const rangeEndImageName = imageDTO.image_name; const lastSelectedImage = selection[selection.length - 1]?.image_name; diff --git a/invokeai/frontend/web/src/features/gallery/store/gallerySlice.ts b/invokeai/frontend/web/src/features/gallery/store/gallerySlice.ts index 899e5db13d..fe17f45940 100644 --- a/invokeai/frontend/web/src/features/gallery/store/gallerySlice.ts +++ b/invokeai/frontend/web/src/features/gallery/store/gallerySlice.ts @@ -38,11 +38,7 @@ export const gallerySlice = createSlice({ state.selection = uniqBy(action.payload, (i) => i.image_name); }, imageToCompareChanged: (state, action: PayloadAction) => { - if (state.imageToCompare?.image_name === action.payload?.image_name) { - state.imageToCompare = null; - } else { - state.imageToCompare = action.payload; - } + state.imageToCompare = action.payload; if (action.payload) { state.isImageViewerOpen = true; }