import 'package:flutter/material.dart'; import '../theme/reclaim_tokens.dart'; import '../widgets/reclaim_card.dart'; class AboutPage extends StatelessWidget { const AboutPage({super.key}); @override Widget build(BuildContext context) { final t = Theme.of(context).textTheme; return SingleChildScrollView( padding: const EdgeInsets.all(ReclaimSpace.xl), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Text('Methodik & Quellen', style: t.displaySmall), const SizedBox(height: ReclaimSpace.xs), Text( 'Wie das System bewertet, woran es sich messen lässt.', style: t.bodyLarge?.copyWith(color: ReclaimColors.mute), ), const SizedBox(height: ReclaimSpace.lg), ReclaimCard( accent: true, child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Text('Drei nicht verhandelbare Sätze', style: t.headlineSmall), const SizedBox(height: ReclaimSpace.md), Text( '1. Wir bewerten Pflichten, nicht Gesetze.\n' '2. Jede Zahl trägt die Tier-Stufe ihres schwächsten ' 'Bestandteils. Kein figürlich-runder Wert ohne Quelle.\n' '3. Kein Output verlässt das System ohne Juristen-Gate ' '(`system.approval@^0`).', style: t.bodyLarge?.copyWith(height: 1.7), ), ], ), ), const SizedBox(height: ReclaimSpace.lg), ReclaimCard( child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Text('Methodische Vorbilder', style: t.headlineSmall), const SizedBox(height: ReclaimSpace.sm), _bullet(t, 'Standardkostenmodell (SKM) — Nationaler Normenkontrollrat. P × F × T × h.'), _bullet(t, 'Coupette / Katz / Bommarito 2021 — Netzwerkanalyse deutsches Bundesrecht (Graph-Schema).'), _bullet(t, 'Mercatus QuantGov / RegData — NLP-basierte Pflicht-Klassifikation (must/shall/may).'), _bullet(t, 'EU Better Regulation Toolbox + REFIT — Cost-Benefit + Evaluations-Methodik.'), _bullet(t, 'Akoma Ntoso 1.0 (OASIS) + LegalRuleML — XML-Format und Deontik-Datenmodell.'), _bullet(t, 'UK Better Regulation Framework — Regulatory Policy Committee als unabhängige Letzt-Validierung.'), ], ), ), const SizedBox(height: ReclaimSpace.lg), ReclaimCard( child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Text('4-Tier-Evidenz-Modell', style: t.headlineSmall), const SizedBox(height: ReclaimSpace.sm), _bullet(t, 'T1 — amtlich/peer-reviewed: NKR, DESTATIS, ifo, ZEW, BMWK, SVR, IfM Bonn.'), _bullet(t, 'T2 — Verbands-Erhebung: DIHK, IHK Berlin, ZDH, BDI Mittelstand, BVMW, HDE.'), _bullet(t, 'T3 — eigene strukturierte Erhebung (Phase 2/3, DSGVO-anonymisiert).'), _bullet(t, 'T4 — qualitatives Signal: Petitionen, openPetition, mein.berlin.de, Foren — nur Pain-Indikator.'), ], ), ), const SizedBox(height: ReclaimSpace.lg), ReclaimCard( child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Text('Plattform', style: t.headlineSmall), const SizedBox(height: ReclaimSpace.sm), Text( 'Ch∆In v0.16.0 — Vendor: F∆I = Flemming.AI. ' 'Hub. Module. Flow. Deterministisch, WASM-sandboxed, ' 'tamper-evident Audit-Log (CHAIN-EVENT-V3), ' 'Apache 2.0, CRA-ready.', style: t.bodyLarge?.copyWith(height: 1.6), ), ], ), ), ], ), ); } Widget _bullet(TextTheme t, String text) { return Padding( padding: const EdgeInsets.only(bottom: ReclaimSpace.sm), child: Row( crossAxisAlignment: CrossAxisAlignment.start, children: [ Padding( padding: const EdgeInsets.only(top: 6, right: 10), child: Container( width: 5, height: 5, decoration: const BoxDecoration( color: ReclaimColors.signal, shape: BoxShape.circle, ), ), ), Expanded( child: Text(text, style: t.bodyLarge?.copyWith(height: 1.6)), ), ], ), ); } }