import type { DetectionResult, PresetName } from '@core/types.js'; interface ResultCardProps { result: DetectionResult | null; presetUsed?: PresetName | null; loading?: boolean; } export default function ResultCard({ result, presetUsed, loading }: ResultCardProps) { if (loading) { return (
Analyzing frames...
); } if (!result) return null; const payloadHex = result.payload ? Array.from(result.payload).map((b) => b.toString(16).padStart(2, '0')).join('').toUpperCase() : '—'; return (

{result.detected ? 'Watermark Detected' : 'No Watermark Found'}

{result.detected && (

Payload

{payloadHex}

Confidence

{(result.confidence * 100).toFixed(1)}%

Tiles used

{result.tilesDecoded} of {result.tilesTotal} available

{presetUsed && (

Preset

{presetUsed}

)}
)}
{result.detected ? ( ) : ( )}
); }