import {ReactElement} from "react" import {BsShieldShaded} from "react-icons/bs" import {useTranslation} from "react-i18next" import {List, ListItem, Typography} from "@mui/material" import {DecryptedReportContent} from "~/server-types" import {ExpandableListItem} from "~/components" export interface SinglePixelImageTrackersListItemProps { images: DecryptedReportContent["messageDetails"]["content"]["singlePixelImages"] } export default function SinglePixelImageTrackersListItem({ images, }: SinglePixelImageTrackersListItemProps): ReactElement { const {t} = useTranslation() const imagesPerTracker = images.reduce((acc, value) => { acc[value.trackerName] = [...(acc[value.trackerName] || []), value] return acc }, {} as Record>) return ( } title={t("routes.ReportDetailRoute.sections.trackers.results.imageTrackers.text", { count: images.length, })} > {Object.entries(imagesPerTracker).map(([trackerName, images]) => ( <> {trackerName} {images.map(image => ( {image.source} ))} ))} ) }