diff --git a/app/javascript/flavours/glitch/components/status_quoted.tsx b/app/javascript/flavours/glitch/components/status_quoted.tsx
index 020bda659c..bf6ac874d7 100644
--- a/app/javascript/flavours/glitch/components/status_quoted.tsx
+++ b/app/javascript/flavours/glitch/components/status_quoted.tsx
@@ -1,4 +1,4 @@
-import { useEffect, useMemo } from 'react';
+import { useCallback, useEffect, useMemo } from 'react';
import { FormattedMessage } from 'react-intl';
@@ -12,12 +12,15 @@ import ArticleIcon from '@/material-icons/400-24px/article.svg?react';
import ChevronRightIcon from '@/material-icons/400-24px/chevron_right.svg?react';
import { Icon } from 'flavours/glitch/components/icon';
import StatusContainer from 'flavours/glitch/containers/status_container';
+import { domain } from 'flavours/glitch/initial_state';
import type { Status } from 'flavours/glitch/models/status';
import type { RootState } from 'flavours/glitch/store';
import { useAppDispatch, useAppSelector } from 'flavours/glitch/store';
+import { revealAccount } from '../actions/accounts_typed';
import { fetchStatus } from '../actions/statuses';
import { makeGetStatus } from '../selectors';
+import { getAccountHidden } from '../selectors/accounts';
const MAX_QUOTE_POSTS_NESTING_LEVEL = 1;
@@ -73,6 +76,29 @@ type GetStatusSelector = (
props: { id?: string | null; contextType?: string },
) => Status | null;
+const LimitedAccountHint: React.FC<{ accountId: string }> = ({ accountId }) => {
+ const dispatch = useAppDispatch();
+ const reveal = useCallback(() => {
+ dispatch(revealAccount({ id: accountId }));
+ }, [dispatch, accountId]);
+
+ return (
+ <>
+
+
+ >
+ );
+};
+
export const QuotedStatus: React.FC<{
quote: QuoteMap;
contextType?: string;
@@ -100,6 +126,14 @@ export const QuotedStatus: React.FC<{
const shouldLoadQuote = !status?.get('isLoading') && quoteState !== 'deleted';
+ const accountId: string | null = status?.get('account', null) as
+ | string
+ | null;
+
+ const hiddenAccount = useAppSelector(
+ (state) => accountId && getAccountHidden(state, accountId),
+ );
+
useEffect(() => {
if (shouldLoadQuote && quotedStatusId) {
dispatch(
@@ -164,6 +198,8 @@ export const QuotedStatus: React.FC<{
defaultMessage='This post cannot be displayed.'
/>
);
+ } else if (hiddenAccount && accountId) {
+ quoteError = ;
}
if (quoteError) {