diff --git a/layouts/default.vue b/layouts/default.vue index e56ff2e..b9d3519 100644 --- a/layouts/default.vue +++ b/layouts/default.vue @@ -53,10 +53,11 @@ const deleteConversation = async (index) => { }) deletingConversationIndex.value = null if (!error.value) { - if (conversations.value[index].id === currentConversation.value.id) { - createNewConversation() - } + const deletingConversation = conversations.value[index] conversations.value.splice(index, 1) + if (deletingConversation.id === currentConversation.value.id) { + await navigateTo('/') + } } } diff --git a/pages/index.vue b/pages/index.vue index a088762..9f8d410 100644 --- a/pages/index.vue +++ b/pages/index.vue @@ -22,7 +22,7 @@ const loadMessage = async () => { } } -onActivated(async () => { +onMounted(async () => { if (route.params.id) { conversation.value.loadingMessages = true await loadConversation() @@ -30,7 +30,13 @@ onActivated(async () => { conversation.value.loadingMessages = false } else { conversation.value = getDefaultConversationData() + watch(currentConversation, (val) => { + conversation.value = Object.assign({}, val) + }) } +}) + +onActivated(async () => { currentConversation.value = Object.assign({}, conversation.value) })