diff --git a/src/renderer/src/components/message/MessageItemUser.vue b/src/renderer/src/components/message/MessageItemUser.vue
index c026b5b57..1cc58f5fa 100644
--- a/src/renderer/src/components/message/MessageItemUser.vue
+++ b/src/renderer/src/components/message/MessageItemUser.vue
@@ -31,14 +31,16 @@
@click="previewFile(file.path)"
/>
-
+
@@ -104,7 +106,6 @@ const props = defineProps<{
const isEditMode = ref(false)
const editedText = ref('')
-const originalText = ref('')
const originalContent = ref(null)
const originalContentHeight = ref(0)
const originalContentWidth = ref(0)
@@ -138,8 +139,14 @@ const previewFile = (filePath: string) => {
const startEdit = () => {
isEditMode.value = true
+ // fixed the edit mode is not working when message content is structured
+ const row = props.message.content?.content?.find(block => block.type === 'text')
+ if (row) {
+ // If the content is structured, use the text from the first text block
+ editedText.value = row.content
+ return
+ }
editedText.value = props.message.content.text
- originalText.value = props.message.content.text
}
const saveEdit = async () => {
@@ -147,11 +154,16 @@ const saveEdit = async () => {
try {
// Create a new content object with the edited text
- const newContent = {
+ let newContent = {
...props.message.content,
- text: editedText.value
}
-
+ // fixed the edit mode is not working when message content is structured
+ const row = newContent?.content?.find(block => block.type === 'text')
+ if (row) {
+ row.content = editedText.value
+ } else {
+ newContent.text = editedText.value
+ }
// Update the message in the database using editMessage method
await threadPresenter.editMessage(props.message.id, JSON.stringify(newContent))
@@ -166,7 +178,6 @@ const saveEdit = async () => {
}
const cancelEdit = () => {
- editedText.value = originalText.value
isEditMode.value = false
}