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': '다른 서버 사용',
|
||||
'mobile.connect.connecting': '연결 중...',
|
||||
'mobile.connect.scanQr': 'QR 코드 스캔',
|
||||
'mobile.connect.welcome.scanHint': '컴퓨터에서 「기기 추가」를 열어 QR 코드를 표시한 뒤 여기에서 스캔하세요.',
|
||||
'mobile.connect.advanced': '고급',
|
||||
'mobile.connect.manual.toggle': '주소로 연결',
|
||||
'mobile.connect.scan.permissionDenied': '카메라 접근이 꺼져 있습니다. QR 코드를 스캔하려면 설정에서 사용 설정하세요.',
|
||||
'mobile.connect.scan.failed': 'QR 코드를 스캔하지 못했습니다. 다시 시도하거나 URL을 직접 입력하세요.',
|
||||
'mobile.connect.scan.invalid': '이 QR 코드는 OpenChamber 연결 코드가 아닙니다.',
|
||||
@@ -66,6 +68,7 @@ export const dict: Record<I18nKey, string> = {
|
||||
'mobile.connect.error.authRequired': '이 서버에는 비밀번호 또는 클라이언트 토큰이 필요합니다.',
|
||||
'mobile.connect.error.passwordFailed': '서버 잠금을 해제할 수 없습니다. 비밀번호를 확인하세요.',
|
||||
'mobile.instances.addTitle': '인스턴스 추가',
|
||||
'mobile.instances.addManual': '주소로 추가',
|
||||
'mobile.instances.editTitle': '인스턴스 편집',
|
||||
'mobile.instances.edit': '편집',
|
||||
'mobile.instances.delete': '삭제',
|
||||
@@ -76,6 +79,8 @@ export const dict: Record<I18nKey, string> = {
|
||||
'mobile.instances.label.label': '이름',
|
||||
'mobile.instances.label.placeholder': '표시 이름 (선택 사항)',
|
||||
'mobile.instances.saveNew': '인스턴스 저장',
|
||||
'mobile.instances.status.connectedDirect': '연결됨 · 로컬 네트워크',
|
||||
'mobile.instances.status.connectedRelay': '연결됨 · 비공개 릴레이',
|
||||
'mobile.instances.saveEdit': '변경 사항 저장',
|
||||
'mobile.nav.changes': '변경사항',
|
||||
'mobile.nav.settings': '설정',
|
||||
|
||||
Reference in New Issue
Block a user