diff --git a/app/javascript/mastodon/features/quotes/index.tsx b/app/javascript/mastodon/features/quotes/index.tsx index d0290e11185..56cf2f71f11 100644 --- a/app/javascript/mastodon/features/quotes/index.tsx +++ b/app/javascript/mastodon/features/quotes/index.tsx @@ -12,6 +12,8 @@ import { ColumnHeader } from 'mastodon/components/column_header'; import { Icon } from 'mastodon/components/icon'; import { LoadingIndicator } from 'mastodon/components/loading_indicator'; import StatusList from 'mastodon/components/status_list'; +import { useIdentity } from 'mastodon/identity_context'; +import { domain } from 'mastodon/initial_state'; import { useAppDispatch, useAppSelector } from 'mastodon/store'; import Column from '../ui/components/column'; @@ -31,9 +33,18 @@ export const Quotes: React.FC<{ const statusId = params?.statusId; + const { accountId: me } = useIdentity(); + const isCorrectStatusId: boolean = useAppSelector( (state) => state.status_lists.getIn(['quotes', 'statusId']) === statusId, ); + const quotedAccountId = useAppSelector( + (state) => + state.statuses.getIn([statusId, 'account']) as string | undefined, + ); + const quotedAccount = useAppSelector((state) => + quotedAccountId ? state.accounts.get(quotedAccountId) : undefined, + ); const statusIds = useAppSelector((state) => state.status_lists.getIn(['quotes', 'items'], emptyList), ); @@ -74,6 +85,32 @@ export const Quotes: React.FC<{ /> ); + let prependMessage; + + if (me === quotedAccountId) { + prependMessage = null; + } else if (quotedAccount?.username === quotedAccount?.acct) { + // Local account, we know this to be exhaustive + prependMessage = ( +