rentgen/components/sidebar/stolen-data.tsx

57 lines
1.8 KiB
TypeScript
Raw Permalink Normal View History

import { getMemory } from '../../memory';
import { RequestCluster } from '../../request-cluster';
2021-11-07 17:23:48 +01:00
2022-01-19 13:12:28 +01:00
import StolenDataCluster from './stolen-data-cluster';
2021-11-07 09:17:19 +01:00
2022-01-20 19:03:03 +01:00
import './stolen-data.scss';
2021-11-07 09:17:19 +01:00
export function StolenData({
2022-01-19 13:12:28 +01:00
origin,
minValueLength,
eventCounts,
2022-01-19 13:12:28 +01:00
cookiesOnly,
cookiesOrOriginOnly,
2022-04-15 13:58:29 +02:00
detailsVisibility,
2021-11-07 09:17:19 +01:00
}: {
2022-01-19 13:12:28 +01:00
origin: string;
eventCounts: Record<string, number>;
2022-01-19 13:12:28 +01:00
minValueLength: number;
cookiesOnly: boolean;
cookiesOrOriginOnly: boolean;
2022-04-15 13:58:29 +02:00
detailsVisibility: boolean;
2021-11-07 09:17:19 +01:00
}) {
2022-01-19 13:12:28 +01:00
if (!origin) {
2022-01-20 19:03:03 +01:00
return (
<div className="stolen-data-container">
<span>Otwórz nową kartę z wybraną stroną internetową</span>
</div>
);
2022-01-19 13:12:28 +01:00
}
const clusters = Object.values(getMemory().getClustersForOrigin(origin))
.sort(RequestCluster.sortCompare)
.filter((cluster) => !cookiesOnly || cluster.hasCookies())
.filter(
(cluster) => !cookiesOrOriginOnly || cluster.hasCookies() || cluster.exposesOrigin()
2022-01-19 13:12:28 +01:00
);
return (
2022-01-20 19:03:03 +01:00
<div className="stolen-data-container">
2022-04-15 13:58:29 +02:00
<span>Domeny{detailsVisibility ? ' oraz przesłane informacje' : null}</span>
2022-01-20 19:03:03 +01:00
{clusters.map((cluster) => {
return (
<StolenDataCluster
origin={origin}
shorthost={cluster.id}
key={cluster.id + origin}
refreshToken={eventCounts[cluster.id]}
2022-01-20 19:03:03 +01:00
minValueLength={minValueLength}
cookiesOnly={cookiesOnly}
cookiesOrOriginOnly={cookiesOrOriginOnly}
2022-04-15 13:58:29 +02:00
detailsVisibility={detailsVisibility}
2022-01-20 19:03:03 +01:00
/>
);
})}
2022-01-19 13:12:28 +01:00
</div>
2021-11-24 14:19:12 +01:00
);
2021-11-07 09:17:19 +01:00
}