fix: conflicting fetch with /api/convos

This commit is contained in:
Daniel Avila 2023-03-18 14:28:10 -04:00
parent 0f54ffd8b4
commit b97594c000
10 changed files with 199 additions and 90 deletions

View file

@ -17,7 +17,7 @@ const initialState = {
refreshConvoHint: 0,
search: false,
latestMessage: null,
convos: [],
convos: []
};
const currentSlice = createSlice({
@ -57,9 +57,12 @@ const currentSlice = createSlice({
state.latestMessage = null;
},
setConvos: (state, action) => {
state.convos = action.payload.sort(
(a, b) => new Date(b.createdAt) - new Date(a.createdAt)
);
const { convos, searchFetch } = action.payload;
if (searchFetch) {
state.convos = convos;
} else {
state.convos = convos.sort((a, b) => new Date(b.createdAt) - new Date(a.createdAt));
}
},
setPages: (state, action) => {
state.pages = action.payload;
@ -72,11 +75,23 @@ const currentSlice = createSlice({
},
setLatestMessage: (state, action) => {
state.latestMessage = action.payload;
},
}
}
});
export const { refreshConversation, setConversation, setPages, setConvos, setNewConvo, setError, increasePage, decreasePage, setPage, removeConvo, removeAll, setLatestMessage } =
currentSlice.actions;
export const {
refreshConversation,
setConversation,
setPages,
setConvos,
setNewConvo,
setError,
increasePage,
decreasePage,
setPage,
removeConvo,
removeAll,
setLatestMessage
} = currentSlice.actions;
export default currentSlice.reducer;

View file

@ -16,9 +16,9 @@ const currentSlice = createSlice({
const q = action.payload;
state.query = q;
if (!q || q === '') {
if (q === '') {
state.search = false;
} else {
} else if (q?.length > 0 && !state.search) {
state.search = true;
}
},