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/de.js | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) (limited to 'packages/meshbay-hub/src/meshbay_hub/static/locales/de.js') diff --git a/packages/meshbay-hub/src/meshbay_hub/static/locales/de.js b/packages/meshbay-hub/src/meshbay_hub/static/locales/de.js index df72382..ec56f03 100644 --- a/packages/meshbay-hub/src/meshbay_hub/static/locales/de.js +++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/de.js @@ -127,6 +127,7 @@ export default { 'status.idle': 'Inaktiv', 'status.discovering': 'Nodes werden gesucht …', 'status.connecting': 'Verbindung über WebRTC …', + 'status.connecting_short': 'Verbindung wird hergestellt…', 'status.fetching': 'Index wird abgerufen …', 'status.files': { one: '{n} Datei', @@ -169,15 +170,17 @@ export default { 'settings.dl_choose': 'Ordner auswählen', 'settings.dl_change': 'Ändern', 'settings.dl_forget': 'Verwerfen', - 'settings.dl_path_note': 'Einer Webseite lässt sich kein Pfad übergeben, hier ist ' - + 'also nichts einzutippen: Ihr Browser gewährt Zugriff auf den Ordner, den Sie ' - + 'auswählen, und MeshBay schreibt ausschließlich darin. Einmal pro Sitzung kann ' - + 'eine Bestätigung verlangt werden.', - 'settings.dl_unsupported': 'Dieser Browser kann nicht in einen Ordner Ihrer Wahl ' - + 'schreiben (keine File System Access API), daher landen Downloads in seinem ' - + 'eigenen Download-Ordner. Chrome und Edge lassen die Wahl zu.', + 'settings.profile': 'Profil', 'settings.username': 'Benutzername', + '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': 'Standardwerte', + 'settings.default_tab': 'Default tab', + 'settings.default_tab_hint': 'Which tab opens first when you enter a group.', 'settings.node_pins': 'Node-Identitäten', 'settings.node_pins_hint': 'Der Identitätsschlüssel jedes Nodes wird bei der ersten ' + 'Verbindung gemerkt. Ändert er sich, wird die Verbindung abgelehnt — das ist nur ' @@ -452,6 +455,8 @@ export default { 'chat.jump_new': 'Neue Nachrichten', 'group.leave': 'Gruppe verlassen', 'group.leave_confirm': '„{name}“ verlassen? Sie verlieren den Zugang zu ihren Dateien und zum Chat. Hochgeladene Dateien bleiben auf dem Node, und der Node behält die für Sie gemerkte Identität, bis sein Betreiber sie entfernt.', + 'group.mute': 'Mute notifications', + 'group.unmute': 'Unmute notifications', 'profile.title': 'Profil', 'usermenu.profile': 'Profil', }; -- cgit v1.2.3