fix(block2): plain-language sharing setup — no relay/server jargon

The market config leaked network jargon ('community servers / one address per
line'), confusing for the 10-80 audience (violates the human-words rule):
- Lead with a plain intro: what sharing does + a community you trust runs a
  shared meeting point, no company in the middle.
- Bury the technical web address under an 'advanced' expander (most people won't
  have one; 'leave empty if you don't have one yet').
- Human labels: 'Your area' (not 'Area code'), 'Web address' under advanced.

Market tests green.
This commit is contained in:
vjrj 2026-07-10 03:16:39 +02:00
parent cf6975b748
commit 98110a6474
8 changed files with 109 additions and 62 deletions

View file

@ -349,6 +349,11 @@ class _ConfigSheetState extends State<_ConfigSheet> {
color: seedTitle,
),
),
const SizedBox(height: 8),
Text(
t.market.setupIntro,
style: const TextStyle(color: seedMuted, fontSize: 13, height: 1.4),
),
const SizedBox(height: 16),
TextField(
key: const Key('market.area'),
@ -359,16 +364,36 @@ class _ConfigSheetState extends State<_ConfigSheet> {
helperMaxLines: 3,
),
),
const SizedBox(height: 16),
TextField(
key: const Key('market.servers'),
controller: _servers,
minLines: 2,
maxLines: 4,
decoration: InputDecoration(
labelText: t.market.serversLabel,
helperText: t.market.serversHelp,
helperMaxLines: 3,
const SizedBox(height: 8),
// The technical web address lives under progressive disclosure
// most people won't have one, and jargon shouldn't greet them.
Theme(
data: Theme.of(context)
.copyWith(dividerColor: Colors.transparent),
child: ExpansionTile(
key: const Key('market.serversAdvanced'),
tilePadding: EdgeInsets.zero,
childrenPadding: const EdgeInsets.only(bottom: 8),
title: Text(
t.market.serversAdvanced,
style: const TextStyle(
fontSize: 14,
color: seedOnSurface,
),
),
children: [
TextField(
key: const Key('market.servers'),
controller: _servers,
minLines: 2,
maxLines: 4,
decoration: InputDecoration(
labelText: t.market.serversLabel,
helperText: t.market.serversHelp,
helperMaxLines: 4,
),
),
],
),
),
const SizedBox(height: 20),