feat: recipient search
Signed-off-by: Sebastian <krupinski01@gmail.com>
This commit is contained in:
@@ -14,6 +14,7 @@ import type {
|
||||
import { ComposerMode } from '@/types/composer'
|
||||
import type { ComposerDraft, ComposerDraftAttachment, ComposerDraftMessage, ComposerSenderIdentity } from '@/types/composer'
|
||||
import { EntityObject, MessageAddressObject, ServiceObject } from '@MailManager/models'
|
||||
import type { MessageAddressInterface } from '@MailManager/types/message'
|
||||
|
||||
export const useMailCompositionStore = defineStore('mailCompositionStore', () => {
|
||||
const servicesStore = useServicesStore()
|
||||
@@ -234,7 +235,7 @@ export const useMailCompositionStore = defineStore('mailCompositionStore', () =>
|
||||
}
|
||||
}
|
||||
|
||||
function updateRecipients(field: 'to' | 'cc' | 'bcc', values: string[]) {
|
||||
function updateRecipients(field: 'to' | 'cc' | 'bcc', values: MessageAddressInterface[]) {
|
||||
if (!activeDraft.value) {
|
||||
return
|
||||
}
|
||||
@@ -464,7 +465,7 @@ function buildMessage(
|
||||
const freshMessage = emptyMessage()
|
||||
|
||||
if (source && source instanceof MessageAddressObject) {
|
||||
freshMessage.to = [source.address]
|
||||
freshMessage.to = [{ address: source.address, label: source.label }]
|
||||
}
|
||||
|
||||
return freshMessage
|
||||
@@ -482,9 +483,10 @@ function buildMessage(
|
||||
const sentLabel = sentAt ? new Date(sentAt).toLocaleString() : 'an unknown time'
|
||||
|
||||
if (mode === ComposerMode.Reply) {
|
||||
const fromEmail = sourceMessage.replyTo?.[0]?.address || sourceMessage.from?.address || ''
|
||||
const replyToAddr = sourceMessage.replyTo?.[0] ?? sourceMessage.from ?? null
|
||||
const replyToAddress = replyToAddr?.address || ''
|
||||
return {
|
||||
to: fromEmail ? [fromEmail] : [],
|
||||
to: replyToAddress ? [{ address: replyToAddress, label: replyToAddr?.label }] : [],
|
||||
cc: [],
|
||||
bcc: [],
|
||||
subject: /^Re:/i.test(originalSubject) ? originalSubject : `Re: ${originalSubject}`,
|
||||
|
||||
Reference in New Issue
Block a user