import 'package:flutter/material.dart'; import '../data/models.dart'; import '../theme/reclaim_tokens.dart'; import 'reclaim_card.dart'; import 'source_chip.dart'; /// Sidebar listing the citable sources behind an evaluation. /// Surfaces the methodological audit story: every figure has a /// source and an evidence tier. class EvidenceSidebar extends StatelessWidget { const EvidenceSidebar({super.key, required this.evaluation}); final Evaluation evaluation; @override Widget build(BuildContext context) { final t = Theme.of(context).textTheme; return ReclaimCard( child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Text('Quellen', style: t.headlineSmall), const SizedBox(height: ReclaimSpace.sm), Text( 'Jede Zahl trägt die Tier-Stufe ihres schwächsten ' 'Bestandteils (Regel der niedrigsten Stufe, §6.7).', style: t.labelSmall?.copyWith(color: ReclaimColors.mute), ), const SizedBox(height: ReclaimSpace.lg), for (final s in evaluation.sources) SourceChip(source: s), const Divider(height: ReclaimSpace.xl), Text('Audit-Event', style: t.labelLarge), const SizedBox(height: 4), SelectableText( evaluation.auditEventId, style: t.labelSmall?.copyWith( fontFamily: ReclaimTypography.mono, color: ReclaimColors.mute, ), ), const SizedBox(height: ReclaimSpace.sm), Text( 'Quell-SHA-256:', style: t.labelSmall?.copyWith(color: ReclaimColors.mute), ), SelectableText( evaluation.norm.sourceSha256, style: t.labelSmall?.copyWith( fontFamily: ReclaimTypography.mono, color: ReclaimColors.mute, fontSize: 10, ), ), ], ), ); } }