From 6f4084451bea231d229a1ba5f8edecc07b0c6862 Mon Sep 17 00:00:00 2001 From: liamcottle Date: Mon, 23 Dec 2024 21:27:58 +1300 Subject: [PATCH] implement drop down menu for conversations --- src/frontend/components/DropDownMenu.vue | 92 +++++++++++++++++++ src/frontend/components/DropDownMenuItem.vue | 11 +++ src/frontend/components/IconButton.vue | 11 +++ .../messages/ConversationDropDownMenu.vue | 65 +++++++++++++ .../messages/ConversationViewer.vue | 32 +------ 5 files changed, 183 insertions(+), 28 deletions(-) create mode 100644 src/frontend/components/DropDownMenu.vue create mode 100644 src/frontend/components/DropDownMenuItem.vue create mode 100644 src/frontend/components/IconButton.vue create mode 100644 src/frontend/components/messages/ConversationDropDownMenu.vue diff --git a/src/frontend/components/DropDownMenu.vue b/src/frontend/components/DropDownMenu.vue new file mode 100644 index 0000000..594b2f7 --- /dev/null +++ b/src/frontend/components/DropDownMenu.vue @@ -0,0 +1,92 @@ + + + diff --git a/src/frontend/components/DropDownMenuItem.vue b/src/frontend/components/DropDownMenuItem.vue new file mode 100644 index 0000000..82c7fec --- /dev/null +++ b/src/frontend/components/DropDownMenuItem.vue @@ -0,0 +1,11 @@ + + + diff --git a/src/frontend/components/IconButton.vue b/src/frontend/components/IconButton.vue new file mode 100644 index 0000000..7c60f4f --- /dev/null +++ b/src/frontend/components/IconButton.vue @@ -0,0 +1,11 @@ + + + diff --git a/src/frontend/components/messages/ConversationDropDownMenu.vue b/src/frontend/components/messages/ConversationDropDownMenu.vue new file mode 100644 index 0000000..d0edbbf --- /dev/null +++ b/src/frontend/components/messages/ConversationDropDownMenu.vue @@ -0,0 +1,65 @@ + + + diff --git a/src/frontend/components/messages/ConversationViewer.vue b/src/frontend/components/messages/ConversationViewer.vue index 797f050..bef9c1c 100644 --- a/src/frontend/components/messages/ConversationViewer.vue +++ b/src/frontend/components/messages/ConversationViewer.vue @@ -76,15 +76,7 @@
-
-
-
- - - -
-
-
+
@@ -414,10 +406,12 @@ import AddAudioButton from "./AddAudioButton.vue"; import moment from "moment"; import SendMessageButton from "./SendMessageButton.vue"; import MaterialDesignIcon from "../MaterialDesignIcon.vue"; +import ConversationDropDownMenu from "./ConversationDropDownMenu.vue"; export default { name: 'ConversationViewer', components: { + ConversationDropDownMenu, MaterialDesignIcon, SendMessageButton, AddAudioButton, @@ -844,25 +838,7 @@ export default { } }, - async deleteConversation() { - - // do nothing if no peer selected - if(!this.selectedPeer){ - return; - } - - // ask user to confirm deleting conversation history - if(!confirm("Are you sure you want to delete all messages from this conversation? This can not be undone!")){ - return; - } - - // delete all lxmf messages from "us to destination" and from "destination to us" - try { - await window.axios.delete(`/api/v1/lxmf-messages/conversation/${this.selectedPeer.destination_hash}`); - } catch(e) { - DialogUtils.alert("failed to delete conversation"); - console.log(e); - } + async onConversationDeleted() { // reload conversation await this.initialLoad();