From d19672e9585c17744604de31e99da53c88fec4b2 Mon Sep 17 00:00:00 2001 From: Annie Yang Date: Sun, 15 Mar 2026 23:20:39 -0400 Subject: [PATCH] alerts and social media page filters cleanup --- src/api/common.ts | 15 ++++++++ src/pages/Reports/AllReportsList.tsx | 8 ++++ .../Reports/components/ReportsFilters.tsx | 38 ++++++++++++------- 3 files changed, 47 insertions(+), 14 deletions(-) diff --git a/src/api/common.ts b/src/api/common.ts index bf5850f9a..105779b87 100644 --- a/src/api/common.ts +++ b/src/api/common.ts @@ -22,6 +22,21 @@ export const MEDIA_OPTIONS = [ ] as const; export type MediaOptions = (typeof MEDIA_OPTIONS)[number]; +export const SOCIAL_MEDIA_OPTIONS = [ + "twitter", + // "tiktok", + // "instagram", + // "RSS", + // "truthsocial", + // "youtube", + // "facebook", +] as const satisfies readonly MediaOptions[]; + +export const ALERT_MEDIA_OPTIONS = [ + "ioda", + "cloudflare", +] as const satisfies readonly MediaOptions[]; + export const DATA_SOURCE_OPTIONS = [ "Active Probing", "BGP", diff --git a/src/pages/Reports/AllReportsList.tsx b/src/pages/Reports/AllReportsList.tsx index 31745476a..705754a5c 100644 --- a/src/pages/Reports/AllReportsList.tsx +++ b/src/pages/Reports/AllReportsList.tsx @@ -7,6 +7,7 @@ import { useQueryParams } from "../../hooks/useQueryParams"; import { formatPageCount } from "../../utils/format"; import { getReports } from "../../api/reports"; import type { ReportQueryState } from "../../api/reports/types"; +import { ALERT_MEDIA_OPTIONS, SOCIAL_MEDIA_OPTIONS } from "../../api/common"; import ReportListItem from "./components/ReportListItem"; import ReportsFilters from "./components/ReportsFilters"; @@ -55,6 +56,10 @@ const AllReportsList = ({ alerts }: IProps) => { navigate({ pathname: `${id}`, search: searchParams.toString() }); } + const platformOptions = alerts + ? [...ALERT_MEDIA_OPTIONS] + : [...SOCIAL_MEDIA_OPTIONS]; + return ( <>
@@ -62,6 +67,9 @@ const AllReportsList = ({ alerts }: IProps) => { reportCount={reports && reports.total} isFetching={isFetching} refetch={refetch} + platformOptions={platformOptions} + showEntityLevelFilter={alerts} + showSignalSourcesFilter={alerts} headerElement={ multiSelect.isActive ? ( void; isFetching: boolean; + platformOptions?: string[]; + showEntityLevelFilter?: boolean; + showSignalSourcesFilter?: boolean; } const ReportFilters = ({ @@ -42,6 +45,9 @@ const ReportFilters = ({ fromGroup, refetch, isFetching, + platformOptions = [...MEDIA_OPTIONS], + showEntityLevelFilter = true, + showSignalSourcesFilter = true, }: IReportFilters) => { const { searchParams, @@ -172,23 +178,27 @@ const ReportFilters = ({ /> setParams({ media: e as string})} /> - setParams({ entityLevel: e as string})} - /> - setParams({ dataSources: e as string[]})} - isMultiSelect={true} - /> + {showEntityLevelFilter && ( + setParams({ entityLevel: e as string})} + /> + )} + {showSignalSourcesFilter && ( + setParams({ dataSources: e as string[]})} + isMultiSelect={true} + /> + )} {/*