mirror of
https://github.com/invoke-ai/InvokeAI
synced 2024-08-30 20:32:17 +00:00
fix(ui): fix gallery not loading more images correctly after generation
This commit is contained in:
parent
39088e42cc
commit
249522b568
@ -1,4 +1,8 @@
|
||||
import { createEntityAdapter, createSlice } from '@reduxjs/toolkit';
|
||||
import {
|
||||
PayloadAction,
|
||||
createEntityAdapter,
|
||||
createSlice,
|
||||
} from '@reduxjs/toolkit';
|
||||
import { RootState } from 'app/store/store';
|
||||
import {
|
||||
receivedResultImagesPage,
|
||||
@ -21,6 +25,7 @@ type AdditionalResultsState = {
|
||||
pages: number;
|
||||
isLoading: boolean;
|
||||
nextPage: number;
|
||||
upsertedImageCount: number;
|
||||
};
|
||||
|
||||
export const initialResultsState =
|
||||
@ -29,6 +34,7 @@ export const initialResultsState =
|
||||
pages: 0,
|
||||
isLoading: false,
|
||||
nextPage: 0,
|
||||
upsertedImageCount: 0,
|
||||
});
|
||||
|
||||
export type ResultsState = typeof initialResultsState;
|
||||
@ -37,7 +43,10 @@ const resultsSlice = createSlice({
|
||||
name: 'results',
|
||||
initialState: initialResultsState,
|
||||
reducers: {
|
||||
resultUpserted: resultsAdapter.upsertOne,
|
||||
resultUpserted: (state, action: PayloadAction<ResultsImageDTO>) => {
|
||||
resultsAdapter.upsertOne(state, action.payload);
|
||||
state.upsertedImageCount += 1;
|
||||
},
|
||||
},
|
||||
extraReducers: (builder) => {
|
||||
/**
|
||||
|
@ -9,12 +9,14 @@ const galleryLog = log.child({ namespace: 'gallery' });
|
||||
export const receivedResultImagesPage = createAppAsyncThunk(
|
||||
'results/receivedResultImagesPage',
|
||||
async (_arg, { getState, rejectWithValue }) => {
|
||||
const { page, pages, nextPage } = getState().results;
|
||||
const { page, pages, nextPage, upsertedImageCount } = getState().results;
|
||||
|
||||
const pageOffset = Math.floor(upsertedImageCount / IMAGES_PER_PAGE);
|
||||
|
||||
const response = await ImagesService.listImagesWithMetadata({
|
||||
imageType: 'results',
|
||||
imageCategory: 'general',
|
||||
page: getState().results.nextPage,
|
||||
page: nextPage + pageOffset,
|
||||
perPage: IMAGES_PER_PAGE,
|
||||
});
|
||||
|
||||
@ -27,12 +29,14 @@ export const receivedResultImagesPage = createAppAsyncThunk(
|
||||
export const receivedUploadImagesPage = createAppAsyncThunk(
|
||||
'uploads/receivedUploadImagesPage',
|
||||
async (_arg, { getState, rejectWithValue }) => {
|
||||
const { page, pages, nextPage } = getState().uploads;
|
||||
const { page, pages, nextPage, upsertedImageCount } = getState().uploads;
|
||||
|
||||
const pageOffset = Math.floor(upsertedImageCount / IMAGES_PER_PAGE);
|
||||
|
||||
const response = await ImagesService.listImagesWithMetadata({
|
||||
imageType: 'uploads',
|
||||
imageCategory: 'general',
|
||||
page: getState().uploads.nextPage,
|
||||
page: nextPage + pageOffset,
|
||||
perPage: IMAGES_PER_PAGE,
|
||||
});
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user