import React from 'react'; import { getMemory } from '../memory'; import { StolenDataEntry } from '../stolen-data-entry'; import { maskString, useEmitter } from '../util'; const MAX_STRING_VALUE_LENGTH = 100; function StolenDataValue({ entry, }: { entry: StolenDataEntry; prefixKey?: string; }) { const [version] = useEmitter(entry); let body = null; if (!entry.value) { body = <>; } else { body = (
{maskString(entry.value, 1, MAX_STRING_VALUE_LENGTH)}
); } return (
{ entry.toggleMark(); e.stopPropagation(); }} style={{ color: entry.isMarked ? 'black' : 'gray' }} > {body}
); } function StolenDataRow({ entry, refresh, }: { entry: StolenDataEntry; refresh: Function; }) { const [version] = useEmitter(entry); return ( { entry.toggleMark(); refresh(); }} /> { entry.toggleMark(); refresh(); }} > {entry.name} {entry.source === 'cookie' ? ( 🍪 ) : entry.request.hasCookie() ? ( 🍪 ) : null} {entry.exposesOrigin() ? ( ⚠️ ) : entry.request.exposesOrigin() ? ( ⚠️ ) : null} ); } export default function StolenDataCluster({ origin, shorthost, minValueLength, refresh, cookiesOnly, cookiesOrOriginOnly, }: { origin: string; shorthost: string; refreshToken: number; minValueLength: number; refresh: Function; cookiesOnly: boolean; cookiesOrOriginOnly: boolean; }) { const cluster = getMemory().getClustersForOrigin(origin)[shorthost]; return (

{cluster.id}{' '} {cluster.hasCookies() ? '🍪' : ''} x{cluster.requests.length}{' '} {/* getMemory().removeCookiesFor(origin, shorthost)} * > * Wyczyść cookiesy * */} { cluster.autoMark(); refresh(); e.preventDefault(); }} > Zaznacz auto

{cluster.getFullHosts().map((host) => ( {host},{' '} ))}
{cluster .calculateRepresentativeStolenData({ minValueLength, cookiesOnly, cookiesOrOriginOnly, }) .map((entry) => ( ))}
); }