diff --git a/app/javascript/dashboard/i18n/locale/en/search.json b/app/javascript/dashboard/i18n/locale/en/search.json index 7a0fc4f82..3cb566813 100644 --- a/app/javascript/dashboard/i18n/locale/en/search.json +++ b/app/javascript/dashboard/i18n/locale/en/search.json @@ -24,6 +24,7 @@ "READ_MORE": "Read more", "WROTE": "wrote:", "FROM": "from", - "EMAIL": "email" + "EMAIL": "email", + "EMAIL_SUBJECT": "subject" } } diff --git a/app/javascript/dashboard/modules/search/components/SearchResultConversationItem.vue b/app/javascript/dashboard/modules/search/components/SearchResultConversationItem.vue index 179d98c8d..e081be829 100644 --- a/app/javascript/dashboard/modules/search/components/SearchResultConversationItem.vue +++ b/app/javascript/dashboard/modules/search/components/SearchResultConversationItem.vue @@ -35,6 +35,10 @@ const props = defineProps({ type: Number, default: 0, }, + emailSubject: { + type: String, + default: '', + }, }); const navigateTo = computed(() => { @@ -49,6 +53,28 @@ const navigateTo = computed(() => { }); const createdAtTime = dynamicTime(props.createdAt); + +const infoItems = computed(() => [ + { + label: 'SEARCH.FROM', + value: props.name, + show: !!props.name, + }, + { + label: 'SEARCH.EMAIL', + value: props.email, + show: !!props.email, + }, + { + label: 'SEARCH.EMAIL_SUBJECT', + value: props.emailSubject, + show: !!props.emailSubject, + }, +]); + +const visibleInfoItems = computed(() => + infoItems.value.filter(item => item.show) +);