feat(block2): profiles — your identity card + name/about (NIP-01 kind:0)

Drawer 'Profile' is now live.
- commons_core: ProfileTransport + UserProfile + NostrProfileTransport (kind:0
  publish/fetch), exposed as SocialSession.profile. Round-trip tested against the
  in-process relay (fast dart test).
- app: ProfileStore (local name/about, keystore) + ProfileScreen — shows your
  shareable npub with copy, edits display name + 'about', saves locally and (when
  online) publishes kind:0 so peers can recognise you instead of a raw key.
- Drawer 'Profile' -> /profile (gated like Market/Chat).
- i18n en/es/pt. ProfileStore + profile transport covered by plain/dart tests.

Analyzer clean (both packages).
This commit is contained in:
vjrj 2026-07-10 12:37:07 +02:00
parent 7f1c520960
commit 8ef587176f
19 changed files with 562 additions and 4 deletions

View file

@ -357,6 +357,19 @@
"locationFailed": "Não foi possível obter a tua localização — verifica se a localização está ativa e a permissão concedida",
"queued": "Guardado — vamos partilhá-las quando tiveres ligação"
},
"profile": {
"title": "O teu perfil",
"name": "Nome",
"nameHint": "Como os outros te veem",
"about": "Sobre ti",
"aboutHint": "Uma linha — o que cultivas, onde",
"yourId": "A tua identidade",
"idHelp": "Partilha-a para que te reconheçam",
"copy": "Copiar",
"copied": "Copiado",
"save": "Guardar",
"saved": "Perfil guardado"
},
"chatList": {
"title": "Mensagens",
"empty": "Ainda não há conversas. Escreve a alguém a partir do mercado."