diff --git a/components/publish/PublishWidget.vue b/components/publish/PublishWidget.vue index 84f1f52c..02e0e97a 100644 --- a/components/publish/PublishWidget.vue +++ b/components/publish/PublishWidget.vue @@ -120,6 +120,12 @@ defineExpose({ border="2 dashed transparent" :class="[isSending ? 'pointer-events-none' : '', isOverDropZone ? '!border-primary' : '']" > + +
+ @{{ m }} +
+
+
`@${i}`).join(' ')} ${content}` + const payload = { ...draft.params, - status: htmlToText(draft.params.status || ''), + status: content, mediaIds: draft.attachments.map(a => a.id), ...(isGlitchEdition.value ? { 'content-type': 'text/markdown' } : {}), } as mastodon.v1.CreateStatusParams diff --git a/composables/masto/statusDrafts.ts b/composables/masto/statusDrafts.ts index a8d9a06d..6603b63e 100644 --- a/composables/masto/statusDrafts.ts +++ b/composables/masto/statusDrafts.ts @@ -21,6 +21,7 @@ export function getDefaultDraft(options: Partial `@${acct}`).join(' ') -} - function getAccountsToMention(status: mastodon.v1.Status) { const userId = currentUser.value?.account.id const accountsToMention = new Set() @@ -72,9 +70,10 @@ export function getReplyDraft(status: mastodon.v1.Status) { key: `reply-${status.id}`, draft: () => { return getDefaultDraft({ - initialText: toMentionsHTML(accountsToMention), + initialText: '', inReplyToId: status!.id, visibility: status.visibility, + mentions: accountsToMention, }) }, } diff --git a/types/index.ts b/types/index.ts index 4d89faf5..b3bc902e 100644 --- a/types/index.ts +++ b/types/index.ts @@ -56,7 +56,9 @@ export interface Draft { params: MarkNonNullable, 'status' | 'language' | 'sensitive' | 'spoilerText' | 'visibility'> attachments: mastodon.v1.MediaAttachment[] lastUpdated: number + mentions?: string[] } + export type DraftMap = Record export interface ConfirmDialogLabel {