feat(mobile): redesign connect screen and instances sheet
- Connect screen leads with Scan QR code plus a plain-words hint of where the code lives; manual URL entry is collapsed behind Connect by address (expanded automatically on web where scanning is unavailable); saved connections show a per-row connecting spinner - Instances sheet is list-first: the active instance shows a live status dot and transport (Connected - Local network / Private relay), rows connect on tap with an inline spinner, and the add/edit form hides behind Scan QR code / Add by address - Deleting the last instance returns to the connect screen: without a runtime endpoint the native app no longer bootstraps against the webview's own origin (which faked a successful connection), and the connect screen renders regardless of a stale isConnected flag
This commit is contained in:
@@ -52,7 +52,9 @@ export const dict: Record<I18nKey, string> = {
|
||||
"mobile.connect.cancelPassword": "Usar otro servidor",
|
||||
"mobile.connect.connecting": "Conectando...",
|
||||
"mobile.connect.scanQr": "Escanear código QR",
|
||||
"mobile.connect.welcome.scanHint": "En tu ordenador, abre «Añadir un dispositivo» para mostrar un código QR y escanéalo aquí.",
|
||||
"mobile.connect.advanced": "Avanzado",
|
||||
"mobile.connect.manual.toggle": "Conectar por dirección",
|
||||
"mobile.connect.scan.permissionDenied": "El acceso a la cámara está desactivado. Actívalo en Ajustes para escanear un código QR.",
|
||||
"mobile.connect.scan.failed": "No se pudo escanear ese código QR. Inténtalo de nuevo o introduce la URL manualmente.",
|
||||
"mobile.connect.scan.invalid": "Ese código QR no es un código de conexión de OpenChamber.",
|
||||
@@ -66,6 +68,7 @@ export const dict: Record<I18nKey, string> = {
|
||||
"mobile.connect.error.authRequired": "Este servidor requiere una contraseña o un token de cliente.",
|
||||
"mobile.connect.error.passwordFailed": "No se pudo desbloquear ese servidor. Revisa la contraseña.",
|
||||
"mobile.instances.addTitle": "Agregar instancia",
|
||||
"mobile.instances.addManual": "Añadir por dirección",
|
||||
"mobile.instances.editTitle": "Editar instancia",
|
||||
"mobile.instances.edit": "Editar",
|
||||
"mobile.instances.delete": "Eliminar",
|
||||
@@ -76,6 +79,8 @@ export const dict: Record<I18nKey, string> = {
|
||||
"mobile.instances.label.label": "Nombre",
|
||||
"mobile.instances.label.placeholder": "Nombre para mostrar (opcional)",
|
||||
"mobile.instances.saveNew": "Guardar instancia",
|
||||
"mobile.instances.status.connectedDirect": "Conectado · Red local",
|
||||
"mobile.instances.status.connectedRelay": "Conectado · Relay privado",
|
||||
"mobile.instances.saveEdit": "Guardar cambios",
|
||||
"mobile.nav.changes": "Cambios",
|
||||
"mobile.nav.settings": "Ajustes",
|
||||
|
||||
Reference in New Issue
Block a user