feat: add TOTP QR code scanning functionality and related UI components

This commit is contained in:
shuaiplus
2026-05-04 01:44:27 +08:00
parent 851c9c4080
commit 45f0387526
10 changed files with 366 additions and 3 deletions
+10
View File
@@ -697,6 +697,16 @@ const en: Record<string, string> = {
"txt_totp_is_enabled_for_this_account": "TOTP is enabled for this account.",
"txt_total_items_count": "{count} items",
"txt_totp_secret": "TOTP Secret",
"txt_scan_totp_qr": "Scan TOTP QR code",
"txt_totp_qr_starting_camera": "Starting camera...",
"txt_totp_qr_point_camera": "Point the camera at a TOTP QR code.",
"txt_totp_qr_scanning": "Scanning QR code...",
"txt_totp_qr_scanned": "TOTP value added.",
"txt_totp_qr_not_found": "No QR code found in that image.",
"txt_totp_qr_scan_failed": "Failed to scan QR code.",
"txt_totp_qr_unsupported": "This browser does not support QR scanning. Try Chrome or Edge, or paste the TOTP link or secret manually.",
"txt_totp_qr_camera_unavailable": "Camera is unavailable. Check browser permission, or choose an image.",
"txt_totp_qr_choose_image": "Choose image",
"txt_totp_verify_failed": "TOTP verify failed",
"txt_attachments": "Attachments",
"txt_upload_attachments": "Upload attachments",
+11 -1
View File
@@ -697,6 +697,16 @@ const es: Record<string, string> = {
"txt_totp_is_enabled_for_this_account": "TOTP está activado para esta cuenta.",
"txt_total_items_count": "{count} elementos",
"txt_totp_secret": "Secreto TOTP",
"txt_scan_totp_qr": "Escanear QR TOTP",
"txt_totp_qr_starting_camera": "Iniciando cámara...",
"txt_totp_qr_point_camera": "Apunte la cámara a un código QR TOTP.",
"txt_totp_qr_scanning": "Escaneando código QR...",
"txt_totp_qr_scanned": "Valor TOTP agregado.",
"txt_totp_qr_not_found": "No se encontró ningún código QR en esa imagen.",
"txt_totp_qr_scan_failed": "No se pudo escanear el código QR.",
"txt_totp_qr_unsupported": "Este navegador no admite escaneo QR. Pruebe Chrome o Edge, o pegue manualmente el enlace o secreto TOTP.",
"txt_totp_qr_camera_unavailable": "La cámara no está disponible. Revise el permiso del navegador o elija una imagen.",
"txt_totp_qr_choose_image": "Elegir imagen",
"txt_totp_verify_failed": "Error al verificar TOTP",
"txt_attachments": "Archivos adjuntos",
"txt_upload_attachments": "Subir archivos adjuntos",
@@ -845,4 +855,4 @@ const es: Record<string, string> = {
"txt_language_saved_locally": "Esta preferencia se guarda en este navegador y se usa antes de que la aplicación cargue la próxima vez."
};
export default es;
export default es;
+10
View File
@@ -697,6 +697,16 @@ const ru: Record<string, string> = {
"txt_totp_is_enabled_for_this_account": "TOTP включен для этой учетной записи.",
"txt_total_items_count": "{count} товаров",
"txt_totp_secret": "Секрет TOTP",
"txt_scan_totp_qr": "Сканировать QR TOTP",
"txt_totp_qr_starting_camera": "Запуск камеры...",
"txt_totp_qr_point_camera": "Наведите камеру на QR-код TOTP.",
"txt_totp_qr_scanning": "Сканирование QR-кода...",
"txt_totp_qr_scanned": "Значение TOTP добавлено.",
"txt_totp_qr_not_found": "QR-код на этом изображении не найден.",
"txt_totp_qr_scan_failed": "Не удалось отсканировать QR-код.",
"txt_totp_qr_unsupported": "Этот браузер не поддерживает сканирование QR. Попробуйте Chrome или Edge либо вставьте ссылку или секрет TOTP вручную.",
"txt_totp_qr_camera_unavailable": "Камера недоступна. Проверьте разрешение браузера или выберите изображение.",
"txt_totp_qr_choose_image": "Выбрать изображение",
"txt_totp_verify_failed": "Проверка TOTP не удалась",
"txt_attachments": "Вложения",
"txt_upload_attachments": "Загрузить вложения",
+10
View File
@@ -697,6 +697,16 @@ const zhCN: Record<string, string> = {
"txt_totp_is_enabled_for_this_account": "此账户已启用 TOTP。",
"txt_total_items_count": "共 {count} 项",
"txt_totp_secret": "TOTP 密钥",
"txt_scan_totp_qr": "扫描 TOTP 二维码",
"txt_totp_qr_starting_camera": "正在启动摄像头...",
"txt_totp_qr_point_camera": "把摄像头对准 TOTP 二维码。",
"txt_totp_qr_scanning": "正在扫描二维码...",
"txt_totp_qr_scanned": "TOTP 内容已填入。",
"txt_totp_qr_not_found": "这张图片里没有识别到二维码。",
"txt_totp_qr_scan_failed": "二维码扫描失败。",
"txt_totp_qr_unsupported": "当前浏览器不支持二维码扫描。可尝试 Chrome 或 Edge,或手动粘贴 TOTP 链接/密钥。",
"txt_totp_qr_camera_unavailable": "无法使用摄像头。请检查浏览器权限,或选择图片。",
"txt_totp_qr_choose_image": "选择图片",
"txt_totp_verify_failed": "TOTP 验证失败",
"txt_attachments": "附件",
"txt_upload_attachments": "上传附件",
+10
View File
@@ -697,6 +697,16 @@ const zhTW: Record<string, string> = {
"txt_totp_is_enabled_for_this_account": "此賬戶已啟用 TOTP。",
"txt_total_items_count": "共 {count} 項",
"txt_totp_secret": "TOTP 密鑰",
"txt_scan_totp_qr": "掃描 TOTP 二維碼",
"txt_totp_qr_starting_camera": "正在啟動攝影機...",
"txt_totp_qr_point_camera": "把攝影機對準 TOTP 二維碼。",
"txt_totp_qr_scanning": "正在掃描二維碼...",
"txt_totp_qr_scanned": "TOTP 內容已填入。",
"txt_totp_qr_not_found": "這張圖片裡沒有識別到二維碼。",
"txt_totp_qr_scan_failed": "二維碼掃描失敗。",
"txt_totp_qr_unsupported": "目前瀏覽器不支援二維碼掃描。可嘗試 Chrome 或 Edge,或手動貼上 TOTP 連結/密鑰。",
"txt_totp_qr_camera_unavailable": "無法使用攝影機。請檢查瀏覽器權限,或選擇圖片。",
"txt_totp_qr_choose_image": "選擇圖片",
"txt_totp_verify_failed": "TOTP 驗證失敗",
"txt_attachments": "附件",
"txt_upload_attachments": "上傳附件",