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

@ -126,11 +126,11 @@ class Translations$home$en {
/// en: 'Share and grow local seeds'
String get tagline => 'Share and grow local seeds';
/// en: 'Open market'
String get openMarket => 'Open market';
/// en: 'Market'
String get openMarket => 'Market';
/// en: 'Browse and exchange'
String get openMarketSubtitle => 'Browse and exchange';
/// en: 'Discover and share seeds nearby'
String get openMarketSubtitle => 'Discover and share seeds nearby';
/// en: 'Your inventory'
String get yourInventory => 'Your inventory';
@ -1107,11 +1107,26 @@ class Translations$market$en {
/// en: 'Kept rough on purpose — your zone, never an exact spot.'
String get areaHelp => 'Kept rough on purpose — your zone, never an exact spot.';
/// en: 'Your area is set — kept coarse, never your exact spot'
String get areaSet => 'Your area is set — kept coarse, never your exact spot';
/// en: 'Area not set yet — use your location, or add a code under Advanced'
String get areaNotSet => 'Area not set yet — use your location, or add a code under Advanced';
/// en: 'Advanced'
String get advanced => 'Advanced';
/// en: 'Area code'
String get areaCodeLabel => 'Area code';
/// en: 'A short code like sp3e9 — not a place name'
String get areaCodeHint => 'A short code like sp3e9 — not a place name';
/// en: 'Community servers'
String get serversLabel => 'Community servers';
/// en: 'Pick one or more shared servers. Anyone can use them — or add your own community's below.'
String get serversHelp => 'Pick one or more shared servers. Anyone can use them — or add your own community\'s below.';
/// en: 'One address per line (wss://…). Leave the defaults if unsure.'
String get serversHelp => 'One address per line (wss://…). Leave the defaults if unsure.';
/// en: 'Add another server'
String get serversAdvanced => 'Add another server';
@ -1726,8 +1741,8 @@ extension on Translations {
'common.type' => 'Type',
'common.comingSoon' => 'Coming soon',
'home.tagline' => 'Share and grow local seeds',
'home.openMarket' => 'Open market',
'home.openMarketSubtitle' => 'Browse and exchange',
'home.openMarket' => 'Market',
'home.openMarketSubtitle' => 'Discover and share seeds nearby',
'home.yourInventory' => 'Your inventory',
'home.yourInventorySubtitle' => 'Manage your seeds',
'photo.camera' => 'Take a photo',
@ -2028,8 +2043,13 @@ extension on Translations {
'market.setupIntro' => 'Sharing with people nearby is optional. Just set your rough area — you\'re already connected to shared community servers so people can find what you offer, with no company in the middle.',
'market.areaLabel' => 'Your area',
'market.areaHelp' => 'Kept rough on purpose — your zone, never an exact spot.',
'market.areaSet' => 'Your area is set — kept coarse, never your exact spot',
'market.areaNotSet' => 'Area not set yet — use your location, or add a code under Advanced',
'market.advanced' => 'Advanced',
'market.areaCodeLabel' => 'Area code',
'market.areaCodeHint' => 'A short code like sp3e9 — not a place name',
'market.serversLabel' => 'Community servers',
'market.serversHelp' => 'Pick one or more shared servers. Anyone can use them — or add your own community\'s below.',
'market.serversHelp' => 'One address per line (wss://…). Leave the defaults if unsure.',
'market.serversAdvanced' => 'Add another server',
'market.save' => 'Save',
'market.saved' => 'Saved',