kopia lustrzana https://gitlab.com/soapbox-pub/soapbox
use external viewer link for statuses as well
rodzic
73df5533bb
commit
de866d25e5
|
@ -464,11 +464,13 @@ const StatusActionBar: React.FC<IStatusActionBar> = ({
|
|||
}
|
||||
|
||||
if (features.federating && !account.local) {
|
||||
const { hostname: domain } = new URL(status.uri);
|
||||
const ditto: string | undefined = status.ditto?.get('external');
|
||||
const { hostname: domain } = new URL(ditto || status.uri);
|
||||
|
||||
menu.push({
|
||||
text: intl.formatMessage(messages.external, { domain }),
|
||||
icon: require('@tabler/icons/outline/external-link.svg'),
|
||||
href: status.uri,
|
||||
href: ditto || status.uri,
|
||||
target: '_blank',
|
||||
});
|
||||
}
|
||||
|
|
|
@ -67,6 +67,7 @@ export const StatusRecord = ImmutableRecord({
|
|||
muted: false,
|
||||
pinned: false,
|
||||
pleroma: ImmutableMap<string, any>(),
|
||||
ditto: ImmutableMap<string, any>(),
|
||||
poll: null as EmbeddedEntity<Poll>,
|
||||
quote: null as EmbeddedEntity<any>,
|
||||
quotes_count: 0,
|
||||
|
|
|
@ -24,6 +24,10 @@ const statusPleromaSchema = z.object({
|
|||
quote_visible: z.boolean().catch(true),
|
||||
});
|
||||
|
||||
const statusDittoSchema = z.object({
|
||||
external: z.string().optional().catch(undefined),
|
||||
});
|
||||
|
||||
const baseStatusSchema = z.object({
|
||||
account: accountSchema,
|
||||
application: z.object({
|
||||
|
@ -51,6 +55,7 @@ const baseStatusSchema = z.object({
|
|||
muted: z.coerce.boolean(),
|
||||
pinned: z.coerce.boolean(),
|
||||
pleroma: statusPleromaSchema.optional().catch(undefined),
|
||||
ditto: statusDittoSchema.optional().catch(undefined),
|
||||
reactions: filteredArray(emojiReactionSchema),
|
||||
poll: pollSchema.nullable().catch(null),
|
||||
quote: z.literal(null).catch(null),
|
||||
|
@ -152,4 +157,4 @@ const statusSchema = baseStatusSchema.extend({
|
|||
|
||||
type Status = Resolve<z.infer<typeof statusSchema>>;
|
||||
|
||||
export { statusSchema, type Status };
|
||||
export { statusSchema, type Status };
|
||||
|
|
Ładowanie…
Reference in New Issue