+ {t('provider.autonomyDescription')} +
+{t('tasks:overview.noDataAvailable')}
diff --git a/apps/frontend/src/renderer/components/task-detail/VerificationReportPanel.tsx b/apps/frontend/src/renderer/components/task-detail/VerificationReportPanel.tsx new file mode 100644 index 000000000..5a91f7dcd --- /dev/null +++ b/apps/frontend/src/renderer/components/task-detail/VerificationReportPanel.tsx @@ -0,0 +1,131 @@ +import { useTranslation } from 'react-i18next'; +import { ShieldCheck, ShieldX, ShieldQuestion, FileWarning, HelpCircle } from 'lucide-react'; +import { Badge } from '../ui/badge'; +import type { VerificationReport } from '../../../shared/types'; + +type VerificationReportPanelProps = Readonly<{ + report: VerificationReport; +}>; + +function verdictBadgeVariant( + verdict: VerificationReport['verdict'] +): 'success' | 'destructive' | 'warning' { + if (verdict === 'approved') return 'success'; + if (verdict === 'rejected') return 'destructive'; + return 'warning'; +} + +function isPrimitive(value: unknown): value is string | number | boolean { + return ( + typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean' + ); +} + +function VerdictIcon({ verdict }: Readonly<{ verdict: VerificationReport['verdict'] }>) { + if (verdict === 'approved') return