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
|
|
@ -36,6 +36,23 @@ class ReclaimColors {
|
|||
static const tierT2 = Color(0xFF6CA29A); // verband
|
||||
static const tierT3 = Color(0xFFB0AC8E); // own survey
|
||||
static const tierT4 = Color(0xFFA86F5C); // qualitative signal only
|
||||
|
||||
// Scope badges — Geltungsbereich of a norm. Hues widen from a
|
||||
// warm-local Berlin to a cool-global teal, distinct from the
|
||||
// tier palette so the two chips never read as the same thing.
|
||||
// Tuned for dark-first legibility on the ink canvas (bright
|
||||
// enough to read as chip text/border over inkRaised).
|
||||
static const scopeBerlin = Color(0xFFD0685C); // Land Berlin (brick)
|
||||
static const scopeDeutschland = Color(0xFFC79A3C); // Bund (gold)
|
||||
static const scopeEu = Color(0xFF5B8DD6); // EU (union blue)
|
||||
static const scopeInternational = Color(0xFF4FB89E); // global (teal)
|
||||
|
||||
// Freshness — is our norm version current vs. the published source.
|
||||
static const freshSuperseded = Color(0xFFE0973A); // amended upstream
|
||||
static const freshUnknown = Color(0xFF9AA0A6); // not reconciled
|
||||
|
||||
// Jurist review — an evaluation confirmed (signed off) by a jurist.
|
||||
static const reviewConfirmed = Color(0xFF6FBE7A); // confirm green
|
||||
}
|
||||
|
||||
/// Spacing scale — 4/8/12/16/24/32/48 multiples, matching
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue