feat(ui): scope, freshness and jurist-review badges + live empty-state
Adds three dark-first chip badges in the TierBadge pattern: - Jurisdiction (Berlin/DE/EU/International) — derived from the ELI, surfaced on the norms list, detail header and heatmap chips/hover. - Freshness (aktuell/geaendert/ungeprueft) — flags norms amended upstream (standDate + sourceSha256); renders only when stale. - Jurist review — marks evaluations a trusted jurist has confirmed (optional; the figure stands on its own). Models gain Jurisdiction/Freshness enums, Norm.freshness/supersededNote and Evaluation.reviewedBy/reviewedAt; HubRepository parses them from the flow bag (ELI fallback). HeatmapPage shows a real empty-state (hub-down vs no-evaluations) instead of a blank plot, and connect() no longer throws on a failed probe. Signed-off-by: flemming-it <sf@flemming.it>
This commit is contained in:
parent
9dfa418e92
commit
aabff2b140
11 changed files with 604 additions and 26 deletions
|
|
@ -26,6 +26,7 @@ class Fixtures {
|
|||
title: 'Anzeigepflicht',
|
||||
jurabk: 'GewO',
|
||||
paragraph: '§ 14',
|
||||
jurisdiction: Jurisdiction.deutschland,
|
||||
standDate: DateTime.utc(2025, 12, 1),
|
||||
sourceUrl: 'https://www.gesetze-im-internet.de/gewo/__14.html',
|
||||
sourceSha256: 'demo-${'a' * 60}',
|
||||
|
|
@ -104,6 +105,7 @@ class Fixtures {
|
|||
title: 'Kassensicherungsverordnung',
|
||||
jurabk: 'KassenSichV',
|
||||
paragraph: 'gesamt',
|
||||
jurisdiction: Jurisdiction.deutschland,
|
||||
standDate: DateTime.utc(2025, 11, 15),
|
||||
sourceUrl:
|
||||
'https://www.gesetze-im-internet.de/kassensichv/index.html',
|
||||
|
|
@ -177,6 +179,8 @@ class Fixtures {
|
|||
),
|
||||
],
|
||||
auditEventId: 'demo-evt-kassensichv',
|
||||
reviewedBy: 'RA Dr. M. Kessler',
|
||||
reviewedAt: DateTime.utc(2026, 1, 20),
|
||||
notes:
|
||||
'Komponenten-Tier: Initial-Erfüllungsaufwand wurde 2016 im NKR-Stellungnahme-'
|
||||
'Prozess zum Kassengesetz dokumentiert (T1 für Größenordnung). '
|
||||
|
|
@ -197,6 +201,7 @@ class Fixtures {
|
|||
title: 'Verzeichnis von Verarbeitungstätigkeiten',
|
||||
jurabk: 'DSGVO',
|
||||
paragraph: 'Art. 30',
|
||||
jurisdiction: Jurisdiction.eu,
|
||||
standDate: DateTime.utc(2025, 10, 1),
|
||||
sourceUrl: 'https://eur-lex.europa.eu/eli/reg/2016/679',
|
||||
sourceSha256: 'demo-${'c' * 60}',
|
||||
|
|
@ -277,6 +282,8 @@ class Fixtures {
|
|||
),
|
||||
],
|
||||
auditEventId: 'demo-evt-dsgvo-30',
|
||||
reviewedBy: 'Prof. Dr. A. Lindner',
|
||||
reviewedAt: DateTime.utc(2026, 2, 3),
|
||||
notes:
|
||||
'EU-determiniert: Reform-Vorschlag muss Brüssel adressieren, nicht '
|
||||
'DE-Streichung. Komponenten-Tier: P (Fallzahl Verantwortliche) '
|
||||
|
|
@ -299,6 +306,7 @@ class Fixtures {
|
|||
title: 'Bauantrag',
|
||||
jurabk: 'BauO Bln',
|
||||
paragraph: '§ 60 ff',
|
||||
jurisdiction: Jurisdiction.berlin,
|
||||
standDate: DateTime.utc(2025, 9, 1),
|
||||
sourceUrl:
|
||||
'https://gesetze.berlin.de/bsbe/document/jlr-BauOBE2005V25P60',
|
||||
|
|
@ -363,6 +371,8 @@ class Fixtures {
|
|||
),
|
||||
],
|
||||
auditEventId: 'demo-evt-berlinbauo-60',
|
||||
reviewedBy: 'RAin S. Brandt',
|
||||
reviewedAt: DateTime.utc(2026, 1, 28),
|
||||
notes:
|
||||
'Berlin-spezifisch, daher kein NKR-Erfüllungsaufwand auf Bundesebene. '
|
||||
'P aus Berliner Bauaufsichts-Statistik (T2 Handwerkskammer Berlin); '
|
||||
|
|
@ -385,9 +395,14 @@ class Fixtures {
|
|||
title: 'Dokumentationspflichten',
|
||||
jurabk: 'MiLoG',
|
||||
paragraph: '§ 17',
|
||||
jurisdiction: Jurisdiction.deutschland,
|
||||
standDate: DateTime.utc(2025, 11, 1),
|
||||
sourceUrl: 'https://www.gesetze-im-internet.de/milog/__17.html',
|
||||
sourceSha256: 'demo-${'e' * 60}',
|
||||
freshness: Freshness.superseded,
|
||||
supersededNote: 'BEG IV hat die Dokumentationspflichten zum '
|
||||
'1.1.2026 entschärft — diese Auswertung bildet die Fassung '
|
||||
'davor ab und ist neu zu bewerten.',
|
||||
paragraphs: const [
|
||||
NormParagraph(
|
||||
number: '(1)',
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue