diff --git a/src/entities/MastodonAccount.ts b/src/entities/MastodonAccount.ts index 27cad244..4873ed4c 100644 --- a/src/entities/MastodonAccount.ts +++ b/src/entities/MastodonAccount.ts @@ -40,6 +40,7 @@ export interface MastodonAccount { username: string; ditto: { accepts_zaps: boolean; + external?: URL; }; pleroma: { deactivated: boolean; diff --git a/src/entities/MastodonStatus.ts b/src/entities/MastodonStatus.ts index 1fcbcacb..430f8e7f 100644 --- a/src/entities/MastodonStatus.ts +++ b/src/entities/MastodonStatus.ts @@ -39,4 +39,7 @@ export interface MastodonStatus { expires_at?: string; quotes_count: number; }; + ditto: { + external?: URL; + }; } diff --git a/src/views/mastodon/accounts.ts b/src/views/mastodon/accounts.ts index f9ed1cdc..4217f699 100644 --- a/src/views/mastodon/accounts.ts +++ b/src/views/mastodon/accounts.ts @@ -82,6 +82,7 @@ async function renderAccount( username: parsed05?.nickname || npub.substring(0, 8), ditto: { accepts_zaps: Boolean(getLnurl({ lud06, lud16 })), + external: Conf.externalDomain === Conf.localDomain ? undefined : Conf.external(npub), }, pleroma: { deactivated: names.has('disabled'), diff --git a/src/views/mastodon/statuses.ts b/src/views/mastodon/statuses.ts index d440b65c..7ac9c07a 100644 --- a/src/views/mastodon/statuses.ts +++ b/src/views/mastodon/statuses.ts @@ -124,6 +124,9 @@ async function renderStatus(event: DittoEvent, opts: RenderStatusOpts): Promise< uri: Conf.local(`/${note}`), url: Conf.local(`/${note}`), zapped: Boolean(zapEvent), + ditto: { + external: Conf.externalDomain === Conf.localDomain ? undefined : Conf.external(note), + }, pleroma: { emoji_reactions: reactions, expires_at: !isNaN(expiresAt.getTime()) ? expiresAt.toISOString() : undefined,