import React from 'react'; import { FileText, ShieldAlert } from 'lucide-react'; import MetricCard from '../ui/MetricCard'; import TestDefinition from '../ui/TestDefinition'; const API_BASE = import.meta.env.VITE_API_URL || 'http://127.0.0.1:8000'; const MetaTab = ({ result, fileName, jobId }) => { return ( <>
EXIF & File Metadata Analysis
Technical specifications and digital footprint
{result.metadata_analysis && result.metadata_analysis.warnings && result.metadata_analysis.warnings.length > 0 && (

Forensic Warnings

    {result.metadata_analysis.warnings.map((w, i) =>
  • {w}
  • )}
)}

Basic File Properties

{result.file_metadata && ( <> )}
{result.metadata_analysis && result.metadata_analysis.extracted_tags && Object.keys(result.metadata_analysis.extracted_tags).length > 0 && ( <>

Extracted EXIF Tags

{Object.entries(result.metadata_analysis.extracted_tags).map(([key, val]) => { const strVal = String(val).toLowerCase(); const isSuspicious = strVal.includes('midjourney') || strVal.includes('photoshop'); return (
{key} {String(val)}
); })}
)}

Model Configuration

); }; export default React.memo(MetaTab);