diff --git a/packages/pl-fe/src/features/admin/components/admin-tabs.tsx b/packages/pl-fe/src/features/admin/components/admin-tabs.tsx
index 38802af32..05a922227 100644
--- a/packages/pl-fe/src/features/admin/components/admin-tabs.tsx
+++ b/packages/pl-fe/src/features/admin/components/admin-tabs.tsx
@@ -26,7 +26,7 @@ const AdminTabs: React.FC = () => {
}, {
name: '/pl-fe/admin/reports',
text: intl.formatMessage(messages.reports),
- to: '/pl-fe/admin/reports',
+ to: '/pl-fe/admin/reports?resolved=false',
count: pendingReportsCount,
}, {
name: '/pl-fe/admin/approval',
diff --git a/packages/pl-fe/src/features/admin/tabs/dashboard.tsx b/packages/pl-fe/src/features/admin/tabs/dashboard.tsx
index c518e1aaf..892e9f829 100644
--- a/packages/pl-fe/src/features/admin/tabs/dashboard.tsx
+++ b/packages/pl-fe/src/features/admin/tabs/dashboard.tsx
@@ -93,14 +93,14 @@ const Dashboard: React.FC = () => {
measure='opened_reports'
startAt={monthAgo}
endAt={today}
- to='/pl-fe/admin/reports'
+ to='/pl-fe/admin/reports?resolved=false'
label={}
/>
}
/>
>
@@ -115,7 +115,7 @@ const Dashboard: React.FC = () => {
label={}
/>
- }} />} />
+ }} />} />
}} />} />
{/* 0 }} />} />
0 }} />} /> */}
diff --git a/packages/pl-fe/src/features/admin/tabs/reports.tsx b/packages/pl-fe/src/features/admin/tabs/reports.tsx
index 4ec2842f9..fa772d62e 100644
--- a/packages/pl-fe/src/features/admin/tabs/reports.tsx
+++ b/packages/pl-fe/src/features/admin/tabs/reports.tsx
@@ -1,7 +1,12 @@
import React from 'react';
-import { defineMessages, useIntl } from 'react-intl';
+import { defineMessages, FormattedList, FormattedMessage, useIntl } from 'react-intl';
+import { useSearchParams } from 'react-router-dom-v5-compat';
+import { useAccount } from 'pl-fe/api/hooks/accounts/use-account';
import ScrollableList from 'pl-fe/components/scrollable-list';
+import HStack from 'pl-fe/components/ui/hstack';
+import IconButton from 'pl-fe/components/ui/icon-button';
+import Text from 'pl-fe/components/ui/text';
import { useReports } from 'pl-fe/queries/admin/use-reports';
import Report from '../components/report';
@@ -14,21 +19,63 @@ const messages = defineMessages({
const Reports: React.FC = () => {
const intl = useIntl();
+ const [params, setParams] = useSearchParams();
+
+ const resolved = params.get('resolved');
+ const accountId = params.get('account_id') || undefined;
+ const targetAccountId = params.get('target_account_id') || undefined;
+
+ const { account } = useAccount(accountId);
+ const { account: targetAccount } = useAccount(targetAccountId);
const { data: reportIds = [], isPending } = useReports({
- resolved: false,
+ resolved: resolved === 'true' ? true : resolved === 'false' ? false : undefined,
+ account_id: accountId,
+ target_account_id: targetAccountId,
});
+ const handleUnsetAccounts = () => {
+ params.delete('account_id');
+ params.delete('target_account_id');
+ setParams(params => Object.fromEntries(params.entries()));
+ };
+
return (
-
- {reportIds.map(report => report && )}
-
+ <>
+ {(accountId || targetAccountId) && (
+
+
+
+ {account?.acct} }}
+ />,
+ targetAccount && {targetAccount?.acct} }}
+ />,
+ ]}
+ /> }}
+ />
+
+
+ )}
+
+ {reportIds.map(report => report && )}
+
+ >
);
};
diff --git a/packages/pl-fe/src/locales/en.json b/packages/pl-fe/src/locales/en.json
index 676bba95c..4646216a0 100644
--- a/packages/pl-fe/src/locales/en.json
+++ b/packages/pl-fe/src/locales/en.json
@@ -359,6 +359,9 @@
"column.admin.moderation_log": "Moderation log",
"column.admin.relays": "Instance relays",
"column.admin.reports": "Reports",
+ "column.admin.reports.filter_message": "You are displaying reports {query}.",
+ "column.admin.reports.filter_message.account": "from @{acct}",
+ "column.admin.reports.filter_message.target_account": "targeting @{acct}",
"column.admin.reports.menu.moderation_log": "Moderation log",
"column.admin.rules": "Instance rules",
"column.admin.users": "Users",
diff --git a/packages/pl-fe/src/pages/search/search.tsx b/packages/pl-fe/src/pages/search/search.tsx
index a516bc924..1da557711 100644
--- a/packages/pl-fe/src/pages/search/search.tsx
+++ b/packages/pl-fe/src/pages/search/search.tsx
@@ -326,7 +326,7 @@ const SearchResults = () => {
return (
<>
{accountId ? (
-
+