import {useParams} from "react-router-dom" import {AxiosError} from "axios" import {useTranslation} from "react-i18next" import React, {ReactElement} from "react" import {useQuery} from "@tanstack/react-query" import {List} from "@mui/material" import {DecryptedReportContent, Report} from "~/server-types" import {deleteReport, getReport} from "~/apis" import { DecryptReport, DeleteButton, QueryResult, SimpleOverlayInformation, SimplePageBuilder, } from "~/components" import {WithEncryptionRequired} from "~/hocs" import ExpandedUrlsListItem from "~/route-widgets/ReportDetailRoute/ExpandedUrlsListItem" import ProxiedImagesListItem from "~/route-widgets/ReportDetailRoute/ProxiedImagesListItem" import SinglePixelImageTrackersListItem from "~/route-widgets/ReportDetailRoute/SinglePixelImageTrackersListItem" function ReportDetailRoute(): ReactElement { const {t} = useTranslation() const params = useParams() const query = useQuery(["get_report", params.id], () => getReport(params.id as string), ) return ( deleteReport(params.id!)} label={t("routes.ReportDetailRoute.actions.delete.label")} description={t("routes.ReportDetailRoute.actions.delete.description")} continueLabel={t("routes.ReportDetailRoute.actions.delete.continueAction")} navigateTo={"/reports"} successMessage={t("relations.report.mutations.success.reportDeleted")} /> ) } > query={query}> {encryptedReport => ( {report => ( {[ {[ { (report as DecryptedReportContent) .messageDetails.meta.from } , { (report as DecryptedReportContent) .messageDetails.meta.to } , { (report as DecryptedReportContent) .messageDetails.content.subject } , ]} , , ]} )} )} ) } export default WithEncryptionRequired(ReportDetailRoute)