diff --git a/src/components/auth/LoginDialog.tsx b/src/components/auth/LoginDialog.tsx index 2ab66b7..7139d26 100644 --- a/src/components/auth/LoginDialog.tsx +++ b/src/components/auth/LoginDialog.tsx @@ -66,7 +66,7 @@ export const LoginDialog: React.FC = ({ isOpen, onClose, onLog const isAndroid = /Android/i.test(navigator.userAgent); // Which login method panel is showing. The three method cards below switch it. const [loginTab, setLoginTab] = useState<'amber' | 'bunker' | 'nsec' | 'extension' | 'connect'>( - isAndroid ? 'amber' : 'bunker', + isAndroid ? 'amber' : 'connect', ); // Step 1: open Amber @@ -360,18 +360,19 @@ export const LoginDialog: React.FC = ({ isOpen, onClose, onLog setLoginTab(v as typeof loginTab)} className="w-full"> {/* Method cards — plain-language labels; protocol names move to a tiny hint so newcomers aren't met with "NIP-46" as the main word. */} -
+
{([ { id: 'extension', Icon: Shield, label: t('settingsUi.loginDialog.extensionCard'), hint: 'NIP-07' }, - { id: isAndroid ? 'amber' : 'bunker', Icon: isAndroid ? Smartphone : Cloud, label: t('settingsUi.loginDialog.signerCard'), hint: isAndroid ? 'NIP-55' : 'NIP-46' }, - { id: 'connect', Icon: QrCode, label: t('settingsUi.loginDialog.signInWithPhone'), hint: 'NIP-46' }, + isAndroid + ? { id: 'amber', Icon: Smartphone, label: t('settingsUi.loginDialog.amberCard'), hint: 'NIP-55' } + : { id: 'connect', Icon: QrCode, label: t('settingsUi.loginDialog.pairSignerCard'), hint: 'NIP-46' }, ] as const).map(({ id, Icon, label, hint }) => { - const active = loginTab === id; + const active = loginTab === id || (id === 'connect' && loginTab === 'bunker'); return (
)} @@ -566,6 +574,14 @@ export const LoginDialog: React.FC = ({ isOpen, onClose, onLog
)} + + @@ -581,6 +597,13 @@ export const LoginDialog: React.FC = ({ isOpen, onClose, onLog + {/* Instructions collapse: the default state is just input + Connect. */}
diff --git a/src/i18n/en.ts b/src/i18n/en.ts index 50fa1f8..41ff510 100644 --- a/src/i18n/en.ts +++ b/src/i18n/en.ts @@ -4590,6 +4590,11 @@ settingsUi: { welcomeSubtitle: 'Sign up or log in to continue', welcomeSubtitleBrowse: 'Sign up or log in — or keep browsing.', extensionCard: 'Browser extension', + amberCard: 'Amber', + pairSignerCard: 'Pair a signer', + useAnotherSigner: 'Use another signer (QR)', + pasteBunker: 'Paste a bunker URI instead', + backToQR: '← Back to QR pairing', signerCard: 'Signer app', secretKeyLink: 'Use a secret key instead', whereBunker: 'Where do I get a bunker?', @@ -4632,7 +4637,7 @@ settingsUi: { connect: 'Connect', back: '← Back', signInWithPhone: 'Sign in with your phone', - signInWithPhoneDesc: 'Scan with a signer app (Amber, nsec.app). Your key never leaves your phone.', + signInWithPhoneDesc: 'Scan with a NIP-46 signer such as nsec.app or Nostrum. On Android, Amber is the one-tap option above.', showPairingCode: 'Show pairing code', waitingSigner: 'Waiting for your signer…', copyLink: 'Copy link', diff --git a/src/i18n/es.ts b/src/i18n/es.ts index b53f178..4fde676 100644 --- a/src/i18n/es.ts +++ b/src/i18n/es.ts @@ -4590,6 +4590,11 @@ settingsUi: { welcomeSubtitle: 'Regístrate o inicia sesión para continuar', welcomeSubtitleBrowse: 'Regístrate o inicia sesión, o sigue explorando.', extensionCard: 'Extensión del navegador', + amberCard: 'Amber', + pairSignerCard: 'Emparejar un firmador', + useAnotherSigner: 'Usar otro firmador (QR)', + pasteBunker: 'Pegar una URI de bunker', + backToQR: '← Volver al emparejamiento QR', signerCard: 'App firmante', secretKeyLink: 'Usar una clave secreta', whereBunker: '¿Dónde consigo un bunker?', @@ -4632,7 +4637,7 @@ settingsUi: { connect: 'Conectar', back: '← Atrás', signInWithPhone: 'Inicia sesión con tu teléfono', - signInWithPhoneDesc: 'Escanea con una app firmadora (Amber, nsec.app). Tu clave nunca sale de tu teléfono.', + signInWithPhoneDesc: 'Escanea con un firmador NIP-46 como nsec.app o Nostrum. En Android, Amber es la opción de un toque de arriba.', showPairingCode: 'Mostrar código de emparejamiento', waitingSigner: 'Esperando a tu firmador…', copyLink: 'Copiar enlace',