Adds a real Ch∆In hub backend to the Flutter client as a sibling-path dependency on chain_client_sdk_dart, alongside the existing MockRepository (which stays the default until the flow.completed-to-Evaluation pipeline lands in Phase 0 week 1). Wiring HubSettings (lib/data/hub_endpoint.dart) — persists host / port / secure / token / useHub flags via SharedPreferences under the Studio-compatible hub.* keys. Distinct from the SDK's chain.HubEndpoint, which is a transport-level value type — HubSettings adapts in that direction. HubRepository (lib/data/hub_repository.dart) — implements EvaluationRepository on top of HubClient. connect() runs a 4-second healthy() probe; on failure returns a repository with isHealthy=false rather than throwing, so the UI can surface "hub-down" without an exception-handling round-trip. list() / byEli() return empty data in Phase 0 because no hub-side flow yet produces Evaluation objects in the lawheatmap-specific shape. main.dart — loads HubSettings on startup; if useHub=false starts with MockRepository (fast offline default), otherwise probes the hub and falls back to MockRepository on probe failure. No mid-session swap to keep the Phase 0 wiring simple; a settings save instructs the user to restart. HubStatusPage — read-only summary card at the top, editable endpoint form, "Verbindung testen" probe button, "Speichern" persist button. Live-flow runbook below describes the chain serve / install / run / approve sequence so a user can wire the real flow themselves once Phase 1 lands. flutter analyze: clean. flutter test: 2/2 passing. Smoke-launch on macOS: app boots, Dart VM service comes up, no runtime errors in mock mode. Signed-off-by: flemming-it <sf@flemming.it>
49 lines
1.3 KiB
YAML
49 lines
1.3 KiB
YAML
name: lawheatmap_app
|
|
description: F∆I Law-Heatmap — Flutter client for the Ch∆In-based law-bureaucracy heatmap.
|
|
publish_to: 'none'
|
|
version: 0.1.0+1
|
|
|
|
environment:
|
|
sdk: ">=3.11.0 <4.0.0"
|
|
flutter: ">=3.24.0"
|
|
|
|
dependencies:
|
|
flutter:
|
|
sdk: flutter
|
|
flutter_localizations:
|
|
sdk: flutter
|
|
intl: ^0.20.2
|
|
shared_preferences: ^2.3.0
|
|
|
|
# Ch∆In gRPC wire — sibling-path dep, same pattern as
|
|
# fai_chain_studio. Adapt the chain_client_sdk_dart relative
|
|
# path when this repo is cloned outside the fai/ workspace.
|
|
chain_client_sdk:
|
|
path: ../../fai_chain_client_sdk_dart
|
|
|
|
dev_dependencies:
|
|
flutter_test:
|
|
sdk: flutter
|
|
flutter_lints: ^4.0.0
|
|
|
|
flutter:
|
|
uses-material-design: true
|
|
|
|
assets:
|
|
- assets/fixtures/
|
|
|
|
# Bundled fonts — offline-first, KRITIS-compatible, no Google
|
|
# Fonts runtime fetch. setup.sh downloads SIL-OFL-licensed TTFs
|
|
# from the upstream `google/fonts` repo. If they are absent,
|
|
# Flutter falls back to the platform default font and the app
|
|
# still builds.
|
|
fonts:
|
|
- family: SpaceGroteskVariable
|
|
fonts:
|
|
- asset: assets/fonts/SpaceGrotesk[wght].ttf
|
|
- family: InterVariable
|
|
fonts:
|
|
- asset: assets/fonts/Inter[opsz,wght].ttf
|
|
- family: JetBrainsMono
|
|
fonts:
|
|
- asset: assets/fonts/JetBrainsMono[wght].ttf
|