refac delete logic

This commit is contained in:
Danny Liu 2024-03-02 23:23:49 -08:00
parent 6c70d0f770
commit f9f3fe5ec0
3 changed files with 64 additions and 76 deletions

View file

@ -223,32 +223,22 @@
}, 100);
};
// TODO: change delete behaviour
// const deleteMessageAndDescendants = async (messageId: string) => {
// if (history.messages[messageId]) {
// history.messages[messageId].deleted = true;
// for (const childId of history.messages[messageId].childrenIds) {
// await deleteMessageAndDescendants(childId);
// }
// }
// };
// const triggerDeleteMessageRecursive = async (messageId: string) => {
// await deleteMessageAndDescendants(messageId);
// await updateChatById(localStorage.token, chatId, { history });
// await chats.set(await getChatList(localStorage.token));
// };
const messageDeleteHandler = async (messageId) => {
if (history.messages[messageId]) {
history.messages[messageId].deleted = true;
const messageParentId = history.messages[messageId]?.parentId;
for (const childId of history.messages[messageId].childrenIds) {
history.messages[childId].deleted = true;
if (messageParentId !== null) {
history.messages[messageParentId].childrenIds = []
}
}
await updateChatById(localStorage.token, chatId, { history });
delete history.messages[messageId];
history.currentId = messageParentId;
await tick();
await updateChatById(localStorage.token, chatId, {
messages: messages,
history: history
});
};
</script>
@ -258,7 +248,6 @@
<div class=" pb-10">
{#key chatId}
{#each messages as message, messageIdx}
{#if !message.deleted}
<div class=" w-full">
<div
class="flex flex-col justify-between px-5 mb-3 {$settings?.fullScreenMode ?? null
@ -308,7 +297,6 @@
{/if}
</div>
</div>
{/if}
{/each}
{#if bottomPadding}

View file

@ -342,7 +342,7 @@
content: $settings.system
}
: undefined,
...messages.filter((message) => !message.deleted)
...messages
]
.filter((message) => message)
.map((message, idx, arr) => ({
@ -550,7 +550,7 @@
content: $settings.system
}
: undefined,
...messages.filter((message) => !message.deleted)
...messages
]
.filter((message) => message)
.map((message, idx, arr) => ({

View file

@ -355,7 +355,7 @@
content: $settings.system
}
: undefined,
...messages.filter((message) => !message.deleted)
...messages
]
.filter((message) => message)
.map((message, idx, arr) => ({
@ -563,7 +563,7 @@
content: $settings.system
}
: undefined,
...messages.filter((message) => !message.deleted)
...messages
]
.filter((message) => message)
.map((message, idx, arr) => ({