From 90c3c6a01f46c9b29c5d92702d7383f32e8951d7 Mon Sep 17 00:00:00 2001 From: Christophe Besson Date: Wed, 19 Aug 2026 16:36:29 +0200 Subject: feat(ui): 11-point UI overhaul — tabs, transfers, settings, uploads MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Hub/UI: - Icon-only group tabs (chat, files, settings) with per-group default tab - Transfer widget: filename becomes a clickable link to open completed downloads - Pulse animation on transfer icon (pale→dark green) while active - Download button feedback in FilePreview (spinner, auto-reset) - Group mute toggle persists across navigation - Login page autofocus, chat refocus after send - Theme toggle closes menu, status badge and duplicate connecting removed - Create-folder restricted to operators, download-path note removed - User preferences API (CRUD) with Alembic migration - Profile: email display/edit via PATCH /v1/users/me - Settings: "Defaults" section for default tab selector - All 10 locale files updated Node: - upload_dir in node.toml: separate filesystem path for uploads - Root.direct flag: uploads land at root path, no subdirectory - CLI --upload-dir flag on `group add` - Admin UI accepts upload_dir Client (Electron): - shell.openPath bridge for opening completed downloads - platform.js passes open callback from native save Co-Authored-By: Claude Opus 4.6 --- .../meshbay-hub/src/meshbay_hub/static/locales/es.js | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) (limited to 'packages/meshbay-hub/src/meshbay_hub/static/locales/es.js') diff --git a/packages/meshbay-hub/src/meshbay_hub/static/locales/es.js b/packages/meshbay-hub/src/meshbay_hub/static/locales/es.js index 2d9084b..5afb3c3 100644 --- a/packages/meshbay-hub/src/meshbay_hub/static/locales/es.js +++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/es.js @@ -125,6 +125,7 @@ export default { 'status.idle': 'Inactivo', 'status.discovering': 'Buscando nodes...', 'status.connecting': 'Conectando por WebRTC...', + 'status.connecting_short': 'Conectando…', 'status.fetching': 'Obteniendo el índice...', 'status.files': { one: '{n} archivo', @@ -167,15 +168,17 @@ export default { 'settings.dl_choose': 'Elegir carpeta', 'settings.dl_change': 'Cambiar', 'settings.dl_forget': 'Olvidar', - 'settings.dl_path_note': 'A una página web no se le puede indicar una ruta, así que ' - + 'aquí no hay nada que escribir: su navegador concede acceso a la carpeta que ' - + 'usted señale, y MeshBay solo escribe dentro de ella. Es posible que se le pida ' - + 'confirmación una vez por sesión.', - 'settings.dl_unsupported': 'Este navegador no puede escribir en una carpeta de su ' - + 'elección (no tiene File System Access API), de modo que las descargas van a su ' - + 'propia carpeta de descargas. Chrome y Edge sí permiten elegir una.', + 'settings.profile': 'Perfil', 'settings.username': 'Nombre de usuario', + 'settings.email': 'Email', + 'settings.email_save': 'Save', + 'settings.email_saved': 'Email updated', + 'settings.notif_global_disable': 'Disable all notifications', + 'settings.notif_global_hint': 'When enabled, no notifications are created for any group.', + 'settings.defaults': 'Valores predeterminados', + 'settings.default_tab': 'Default tab', + 'settings.default_tab_hint': 'Which tab opens first when you enter a group.', 'settings.node_pins': 'Identidades de los nodes', 'settings.node_pins_hint': 'La clave de identidad de cada node se memoriza la ' + 'primera vez que se conecta. Si cambia, la conexión se rechaza — algo esperable ' @@ -447,6 +450,8 @@ export default { 'chat.jump_new': 'Mensajes nuevos', 'group.leave': 'Salir del grupo', 'group.leave_confirm': '¿Salir de «{name}»? Perderá el acceso a sus archivos y a su chat. Los archivos que subió permanecen en el node, y este conserva la identidad que fijó para usted hasta que su operador la retire.', + 'group.mute': 'Mute notifications', + 'group.unmute': 'Unmute notifications', 'profile.title': 'Perfil', 'usermenu.profile': 'Perfil', }; -- cgit v1.2.3