reclaim/app
flemming-it 51beb332c4 feat(ui): ModeBanner replaces DemoBanner + no silent mock-fallback
Two related fixes so the app never silently presents itself as
a demo when it is in fact running against a real hub:

  - The orange 'Demo-Daten · KEINE Rechtsberatung' banner was
    hard-coded into every data screen, regardless of whether
    the active repository was the in-memory MockRepository or
    the live HubRepository. Replaced with ModeBanner, which
    picks one of three voices by repository.mode:

      demo      orange T4 — 'Demo-Daten · KEINE Rechtsberatung'
      hub-live  petrol     — 'Live aus Hub · <endpoint>'
      hub-down  warm-warn  — 'Hub nicht erreichbar — leere Liste'

  - main.dart's _pickRepository used to fall back to
    MockRepository whenever HubRepository.connect() came back
    unhealthy. That silently downgraded a live deployment to
    demo data, which is exactly what the user is trying to avoid.
    Removed: when useHub=true, the HubRepository is returned
    regardless. Its list() returns [] on hub-down, and the
    'hub-down' banner explains why the screens are empty.
    Mock data only shows when the user explicitly turns useHub
    off in the Hub-Reiter.

Also: legend arrow icons now point in the actual axis direction
(→ for Schaden, ↑ for Nutzen) instead of the bidirectional ↔/↕,
which suggested the axes ran both ways. Mini-chips and the
expanded legend rows are consistent.

Signed-off-by: flemming-it <sf@flemming.it>
2026-06-18 15:57:50 +02:00
..
assets/fonts feat: initial F∆I Law-Heatmap Phase 0 scaffold 2026-06-18 11:26:28 +02:00
lib feat(ui): ModeBanner replaces DemoBanner + no silent mock-fallback 2026-06-18 15:57:50 +02:00
macos docs(macos): extend CFBundleDisplayName with the one-line claim 2026-06-18 14:26:20 +02:00
test feat(brand): BrandWordmark renders ∆I in petrol, lifts the logo 2026-06-18 15:06:13 +02:00
web fix(web): replace Flutter default placeholders with Recl∆Im branding 2026-06-18 14:29:24 +02:00
.gitignore feat: initial F∆I Law-Heatmap Phase 0 scaffold 2026-06-18 11:26:28 +02:00
.metadata chore(web): enable Flutter web target 2026-06-18 13:52:19 +02:00
analysis_options.yaml feat: initial F∆I Law-Heatmap Phase 0 scaffold 2026-06-18 11:26:28 +02:00
build-macos.sh feat(brand): rename product to Recl∆Im (Reclaim) across app, bundle, docs 2026-06-18 13:42:55 +02:00
pubspec.lock feat(brand): rename product to Recl∆Im (Reclaim) across app, bundle, docs 2026-06-18 13:42:55 +02:00
pubspec.yaml feat(brand): rename product to Recl∆Im (Reclaim) across app, bundle, docs 2026-06-18 13:42:55 +02:00
README.md feat(brand): rename product to Recl∆Im (Reclaim) across app, bundle, docs 2026-06-18 13:42:55 +02:00
serve-web.sh feat(web): add serve-web.sh + document hub smoke + prod-deploy path 2026-06-18 14:19:59 +02:00
setup.sh feat: initial F∆I Law-Heatmap Phase 0 scaffold 2026-06-18 11:26:28 +02:00

reclaim_app

Recl∆Im (F∆I) client

Getting Started

This project is a starting point for a Flutter application.

A few resources to get you started if this is your first Flutter project:

For help getting started with Flutter development, view the online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.