diff --git a/composables/masto/statusDrafts.ts b/composables/masto/statusDrafts.ts index 8ee0c890..f99ef693 100644 --- a/composables/masto/statusDrafts.ts +++ b/composables/masto/statusDrafts.ts @@ -54,12 +54,17 @@ function mentionHTML(acct: string) { return `@${acct}` } -export function getReplyDraft(status: mastodon.v1.Status) { - const accountsToMention: string[] = [] +function getAccountsToMention(status: mastodon.v1.Status) { const userId = currentUser.value?.account.id + const accountsToMention: string[] = [] if (status.account.id !== userId) accountsToMention.push(status.account.acct) accountsToMention.push(...(status.mentions.filter(mention => mention.id !== userId).map(mention => mention.acct))) + return accountsToMention +} + +export function getReplyDraft(status: mastodon.v1.Status) { + const accountsToMention = getAccountsToMention(status) return { key: `reply-${status.id}`, draft: () => { @@ -77,7 +82,9 @@ export const isEmptyDraft = (draft: Draft | null | undefined) => { return true const { params, attachments } = draft const status = params.status || '' - return (status.length === 0 || status === '

') + const text = htmlToText(status).trim().replace(/^(@\S+\s?)+/, '').trim() + + return (text.length === 0) && attachments.length === 0 && (params.spoilerText || '').length === 0 }