feat(ui): persist gallery state

This commit is contained in:
psychedelicious 2023-04-30 13:56:33 +10:00
parent adaecada20
commit 8c2e4700f9
5 changed files with 10 additions and 11 deletions

View File

@ -19,7 +19,6 @@ import hotkeysReducer from 'features/ui/store/hotkeysSlice';
import modelsReducer from 'features/system/store/modelSlice'; import modelsReducer from 'features/system/store/modelSlice';
import nodesReducer from 'features/nodes/store/nodesSlice'; import nodesReducer from 'features/nodes/store/nodesSlice';
import { socketMiddleware } from 'services/events/middleware';
import { canvasDenylist } from 'features/canvas/store/canvasPersistDenylist'; import { canvasDenylist } from 'features/canvas/store/canvasPersistDenylist';
import { galleryDenylist } from 'features/gallery/store/galleryPersistDenylist'; import { galleryDenylist } from 'features/gallery/store/galleryPersistDenylist';
import { generationDenylist } from 'features/parameters/store/generationPersistDenylist'; import { generationDenylist } from 'features/parameters/store/generationPersistDenylist';
@ -29,6 +28,8 @@ import { nodesDenylist } from 'features/nodes/store/nodesPersistDenylist';
import { postprocessingDenylist } from 'features/parameters/store/postprocessingPersistDenylist'; import { postprocessingDenylist } from 'features/parameters/store/postprocessingPersistDenylist';
import { systemDenylist } from 'features/system/store/systemPersistDenylist'; import { systemDenylist } from 'features/system/store/systemPersistDenylist';
import { uiDenylist } from 'features/ui/store/uiPersistDenylist'; import { uiDenylist } from 'features/ui/store/uiPersistDenylist';
import { resultsDenylist } from 'features/gallery/store/resultsPersistDenylist';
import { uploadsDenylist } from 'features/gallery/store/uploadsPersistDenylist';
/** /**
* redux-persist provides an easy and reliable way to persist state across reloads. * redux-persist provides an easy and reliable way to persist state across reloads.
@ -72,12 +73,10 @@ const rootPersistConfig = getPersistConfig({
...modelsDenylist, ...modelsDenylist,
...nodesDenylist, ...nodesDenylist,
...postprocessingDenylist, ...postprocessingDenylist,
// ...resultsDenylist, ...resultsDenylist,
'results',
...systemDenylist, ...systemDenylist,
...uiDenylist, ...uiDenylist,
// ...uploadsDenylist, ...uploadsDenylist,
'uploads',
'hotkeys', 'hotkeys',
'config', 'config',
], ],

View File

@ -5,7 +5,7 @@ import { ResultsState } from './resultsSlice';
* *
* Currently denylisting results slice entirely, see persist config in store.ts * Currently denylisting results slice entirely, see persist config in store.ts
*/ */
const itemsToDenylist: (keyof ResultsState)[] = []; const itemsToDenylist: (keyof ResultsState)[] = ['isLoading'];
export const resultsDenylist = itemsToDenylist.map( export const resultsDenylist = itemsToDenylist.map(
(denylistItem) => `results.${denylistItem}` (denylistItem) => `results.${denylistItem}`

View File

@ -65,7 +65,7 @@ const resultsSlice = createSlice({
deserializeImageResponse(image) deserializeImageResponse(image)
); );
resultsAdapter.addMany(state, resultImages); resultsAdapter.setMany(state, resultImages);
state.page = page; state.page = page;
state.pages = pages; state.pages = pages;
@ -107,7 +107,7 @@ const resultsSlice = createSlice({
}, },
}; };
resultsAdapter.addOne(state, image); resultsAdapter.setOne(state, image);
} }
}); });

View File

@ -5,7 +5,7 @@ import { UploadsState } from './uploadsSlice';
* *
* Currently denylisting uploads slice entirely, see persist config in store.ts * Currently denylisting uploads slice entirely, see persist config in store.ts
*/ */
const itemsToDenylist: (keyof UploadsState)[] = []; const itemsToDenylist: (keyof UploadsState)[] = ['isLoading'];
export const uploadsDenylist = itemsToDenylist.map( export const uploadsDenylist = itemsToDenylist.map(
(denylistItem) => `uploads.${denylistItem}` (denylistItem) => `uploads.${denylistItem}`

View File

@ -53,7 +53,7 @@ const uploadsSlice = createSlice({
const images = items.map((image) => deserializeImageResponse(image)); const images = items.map((image) => deserializeImageResponse(image));
uploadsAdapter.addMany(state, images); uploadsAdapter.setMany(state, images);
state.page = page; state.page = page;
state.pages = pages; state.pages = pages;
@ -69,7 +69,7 @@ const uploadsSlice = createSlice({
const uploadedImage = deserializeImageResponse(response); const uploadedImage = deserializeImageResponse(response);
uploadsAdapter.addOne(state, uploadedImage); uploadsAdapter.setOne(state, uploadedImage);
}); });
/** /**