diff options
| author | Christophe Besson <cbesson@gmail.com> | 2026-08-19 16:36:29 +0200 |
|---|---|---|
| committer | Christophe Besson <cbesson@gmail.com> | 2026-08-19 16:36:29 +0200 |
| commit | 90c3c6a01f46c9b29c5d92702d7383f32e8951d7 (patch) | |
| tree | 779f5ee3557d5111e0a7f1fdc211a2845bc3bc69 /packages/meshbay-hub/src/meshbay_hub/static/locales/en.js | |
| parent | 9498ce0a34cc363e8cf9a42575c8fcf7dfe0fd1a (diff) | |
| download | meshbay-90c3c6a01f46c9b29c5d92702d7383f32e8951d7.tar.gz | |
feat(ui): 11-point UI overhaul — tabs, transfers, settings, uploads
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 <noreply@anthropic.com>
Diffstat (limited to 'packages/meshbay-hub/src/meshbay_hub/static/locales/en.js')
| -rw-r--r-- | packages/meshbay-hub/src/meshbay_hub/static/locales/en.js | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/packages/meshbay-hub/src/meshbay_hub/static/locales/en.js b/packages/meshbay-hub/src/meshbay_hub/static/locales/en.js index ce14f0b..cb4b349 100644 --- a/packages/meshbay-hub/src/meshbay_hub/static/locales/en.js +++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/en.js @@ -126,6 +126,7 @@ export default { 'status.idle': 'Idle', 'status.discovering': 'Finding nodes...', 'status.connecting': 'Connecting via WebRTC...', + 'status.connecting_short': 'Connecting...', 'status.fetching': 'Fetching index...', 'status.files': { one: '{n} file', @@ -167,14 +168,16 @@ export default { 'settings.dl_choose': 'Choose folder', 'settings.dl_change': 'Change', 'settings.dl_forget': 'Forget', - 'settings.dl_path_note': 'A web page cannot be given a path, so there is nothing ' - + 'to type here: your browser grants access to the folder you pick, and MeshBay ' - + 'only ever writes inside it. You may be asked to confirm once per session.', - 'settings.dl_unsupported': 'This browser cannot write into a folder of your ' - + 'choosing (no File System Access API), so downloads go to its own download ' - + 'folder. Chrome and Edge support choosing one.', 'settings.profile': 'Profile', 'settings.username': 'Username', + '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': 'Defaults', + 'settings.default_tab': 'Default tab', + 'settings.default_tab_hint': 'Which tab opens first when you enter a group.', 'settings.node_pins': 'Node identities', 'settings.node_pins_hint': "Each node's identity key is remembered the first time you connect. If it changes, the connection is refused — that is expected only when an operator reinstalls a node. Verify with them before clearing.", 'settings.node_pins_count': { @@ -437,6 +440,8 @@ export default { 'chat.jump_new': 'New messages', 'group.leave': 'Leave group', 'group.leave_confirm': 'Leave “{name}”? You will lose access to its files and chat. Files you uploaded stay on the node, and the node keeps the identity it pinned for you until its operator removes it.', + 'group.mute': 'Mute notifications', + 'group.unmute': 'Unmute notifications', 'profile.title': 'Profile', 'usermenu.profile': 'Profile', }; |