fix(drafts): remove and do not focus empty reply drafts (#850)
parent
805f7731ad
commit
fcae855eea
|
@ -54,12 +54,17 @@ function mentionHTML(acct: string) {
|
||||||
return `<span data-type="mention" data-id="${acct}" contenteditable="false">@${acct}</span>`
|
return `<span data-type="mention" data-id="${acct}" contenteditable="false">@${acct}</span>`
|
||||||
}
|
}
|
||||||
|
|
||||||
export function getReplyDraft(status: mastodon.v1.Status) {
|
function getAccountsToMention(status: mastodon.v1.Status) {
|
||||||
const accountsToMention: string[] = []
|
|
||||||
const userId = currentUser.value?.account.id
|
const userId = currentUser.value?.account.id
|
||||||
|
const accountsToMention: string[] = []
|
||||||
if (status.account.id !== userId)
|
if (status.account.id !== userId)
|
||||||
accountsToMention.push(status.account.acct)
|
accountsToMention.push(status.account.acct)
|
||||||
accountsToMention.push(...(status.mentions.filter(mention => mention.id !== userId).map(mention => mention.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 {
|
return {
|
||||||
key: `reply-${status.id}`,
|
key: `reply-${status.id}`,
|
||||||
draft: () => {
|
draft: () => {
|
||||||
|
@ -77,7 +82,9 @@ export const isEmptyDraft = (draft: Draft | null | undefined) => {
|
||||||
return true
|
return true
|
||||||
const { params, attachments } = draft
|
const { params, attachments } = draft
|
||||||
const status = params.status || ''
|
const status = params.status || ''
|
||||||
return (status.length === 0 || status === '<p></p>')
|
const text = htmlToText(status).trim().replace(/^(@\S+\s?)+/, '').trim()
|
||||||
|
|
||||||
|
return (text.length === 0)
|
||||||
&& attachments.length === 0
|
&& attachments.length === 0
|
||||||
&& (params.spoilerText || '').length === 0
|
&& (params.spoilerText || '').length === 0
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue