refac
This commit is contained in:
@@ -128,7 +128,9 @@
|
|||||||
user_id: c.user_id,
|
user_id: c.user_id,
|
||||||
user_name: c.user_name
|
user_name: c.user_name
|
||||||
}));
|
}));
|
||||||
chatList = [...chatList, ...newChats];
|
const existingIds = new Set(chatList.map((c) => c.id));
|
||||||
|
const uniqueNewChats = newChats.filter((c) => !existingIds.has(c.id));
|
||||||
|
chatList = [...chatList, ...uniqueNewChats];
|
||||||
allChatsLoaded = chats.length < PAGE_SIZE;
|
allChatsLoaded = chats.length < PAGE_SIZE;
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.error('Failed to load more chats:', err);
|
console.error('Failed to load more chats:', err);
|
||||||
|
|||||||
@@ -81,7 +81,9 @@
|
|||||||
allChatsLoaded = newChatList.length === 0;
|
allChatsLoaded = newChatList.length === 0;
|
||||||
|
|
||||||
if (newChatList.length > 0) {
|
if (newChatList.length > 0) {
|
||||||
chatList = [...chatList, ...newChatList];
|
const existingIds = new Set(chatList.map((c) => c.id));
|
||||||
|
const uniqueNewChats = newChatList.filter((c) => !existingIds.has(c.id));
|
||||||
|
chatList = [...chatList, ...uniqueNewChats];
|
||||||
}
|
}
|
||||||
|
|
||||||
chatListLoading = false;
|
chatListLoading = false;
|
||||||
|
|||||||
@@ -78,7 +78,9 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (selectedFileItems) {
|
if (selectedFileItems) {
|
||||||
selectedFileItems = [...selectedFileItems, ...pageItems];
|
const existingIds = new Set(selectedFileItems.map((item) => item.id));
|
||||||
|
const newItems = pageItems.filter((item) => !existingIds.has(item.id));
|
||||||
|
selectedFileItems = [...selectedFileItems, ...newItems];
|
||||||
} else {
|
} else {
|
||||||
selectedFileItems = pageItems;
|
selectedFileItems = pageItems;
|
||||||
}
|
}
|
||||||
@@ -137,7 +139,9 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (items) {
|
if (items) {
|
||||||
items = [...items, ...pageItems];
|
const existingIds = new Set(items.map((item) => item.id));
|
||||||
|
const newItems = pageItems.filter((item) => !existingIds.has(item.id));
|
||||||
|
items = [...items, ...newItems];
|
||||||
} else {
|
} else {
|
||||||
items = pageItems;
|
items = pageItems;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -163,7 +163,9 @@
|
|||||||
allChatsLoaded = newChatList.length === 0;
|
allChatsLoaded = newChatList.length === 0;
|
||||||
|
|
||||||
if (newChatList.length > 0) {
|
if (newChatList.length > 0) {
|
||||||
chatList = [...chatList, ...newChatList];
|
const existingIds = new Set(chatList.map((c) => c.id));
|
||||||
|
const uniqueNewChats = newChatList.filter((c) => !existingIds.has(c.id));
|
||||||
|
chatList = [...chatList, ...uniqueNewChats];
|
||||||
}
|
}
|
||||||
|
|
||||||
chatListLoading = false;
|
chatListLoading = false;
|
||||||
|
|||||||
@@ -249,7 +249,9 @@
|
|||||||
|
|
||||||
// once the bottom of the list has been reached (no results) there is no need to continue querying
|
// once the bottom of the list has been reached (no results) there is no need to continue querying
|
||||||
allChatsLoaded = newChatList.length === 0;
|
allChatsLoaded = newChatList.length === 0;
|
||||||
await chats.set([...($chats ? $chats : []), ...newChatList]);
|
const existingIds = new Set(($chats ?? []).map((c) => c.id));
|
||||||
|
const uniqueNewChats = newChatList.filter((c) => !existingIds.has(c.id));
|
||||||
|
await chats.set([...($chats ? $chats : []), ...uniqueNewChats]);
|
||||||
|
|
||||||
chatListLoading = false;
|
chatListLoading = false;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -221,7 +221,9 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (items) {
|
if (items) {
|
||||||
items = [...items, ...pageItems];
|
const existingIds = new Set(items.map((item) => item.id));
|
||||||
|
const newItems = pageItems.filter((item) => !existingIds.has(item.id));
|
||||||
|
items = [...items, ...newItems];
|
||||||
} else {
|
} else {
|
||||||
items = pageItems;
|
items = pageItems;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -101,7 +101,9 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (items) {
|
if (items) {
|
||||||
items = [...items, ...pageItems];
|
const existingIds = new Set(items.map((item) => item.id));
|
||||||
|
const newItems = pageItems.filter((item) => !existingIds.has(item.id));
|
||||||
|
items = [...items, ...newItems];
|
||||||
} else {
|
} else {
|
||||||
items = pageItems;
|
items = pageItems;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user