fix(block2): sharing config UX + discovery + labels (raw feedback batch)

From on-device feedback:
- Area is no longer shown as a raw geohash 'name'. 'Use my location' is the
  primary action; a human status line says whether your area is set (coarse,
  never exact). The geohash code + the relay servers moved under 'Advanced'
  (code field labelled 'a code like sp3e9 — not a place name'), which also
  brings back node/relay selection that had been fully hidden.
- Location denial no longer yanks you into system settings — returns quietly
  with an actionable inline message.
- Discovery no longer spins forever when nobody's sharing nearby: a timeout
  resolves 'searching' to the empty state.
- Home card 'Open market' -> 'Market' + 'Discover and share seeds nearby'
  (the word 'open' confused).

i18n en/es/pt; analyzer clean; the use-my-location test asserts the status flip.
This commit is contained in:
vjrj 2026-07-10 13:32:11 +02:00
parent d7136ec2c2
commit 5f87ad2d56
11 changed files with 208 additions and 90 deletions

View file

@ -107,8 +107,7 @@ void main() {
await tester.tap(find.byKey(const Key('market.useLocation')));
await tester.pumpAndSettle();
final area = tester.widget<TextField>(find.byKey(const Key('market.area')));
expect(area.controller!.text, hasLength(5));
expect(area.controller!.text, matches(RegExp(r'^[0-9a-z]+$')));
// The area status flips to "set" once a coarse location is captured.
expect(find.textContaining('Your area is set'), findsOneWidget);
});
}