@@ -2,6 +2,10 @@ import type { PayloadAction } from '@reduxjs/toolkit';
22import { createSlice } from '@reduxjs/toolkit' ;
33import { Image } from 'app/types/invokeai' ;
44import { imageReceived , thumbnailReceived } from 'services/thunks/image' ;
5+ import {
6+ receivedResultImagesPage ,
7+ receivedUploadImagesPage ,
8+ } from '../../../services/thunks/gallery' ;
59
610type GalleryImageObjectFitType = 'contain' | 'cover' ;
711
@@ -86,6 +90,30 @@ export const gallerySlice = createSlice({
8690 state . selectedImage . thumbnail = thumbnailPath ;
8791 }
8892 } ) ;
93+ builder . addCase ( receivedResultImagesPage . fulfilled , ( state , action ) => {
94+ // rehydrate selectedImage URL when results list comes in
95+ // solves case when outdated URL is in local storage
96+ if ( state . selectedImage ) {
97+ const selectedImageInResults = action . payload . items . find (
98+ ( image ) => image . image_name === state . selectedImage ! . name
99+ ) ;
100+ if ( selectedImageInResults ) {
101+ state . selectedImage . url = selectedImageInResults . image_url ;
102+ }
103+ }
104+ } ) ;
105+ builder . addCase ( receivedUploadImagesPage . fulfilled , ( state , action ) => {
106+ // rehydrate selectedImage URL when results list comes in
107+ // solves case when outdated URL is in local storage
108+ if ( state . selectedImage ) {
109+ const selectedImageInResults = action . payload . items . find (
110+ ( image ) => image . image_name === state . selectedImage ! . name
111+ ) ;
112+ if ( selectedImageInResults ) {
113+ state . selectedImage . url = selectedImageInResults . image_url ;
114+ }
115+ }
116+ } ) ;
89117 } ,
90118} ) ;
91119
0 commit comments