Skip to content

Commit 9476484

Browse files
pmaxhoganclaude
andcommitted
feat(app): tray + icon state machine + notifications
tray::build constructs the DESIGN s8.1 menu (Sync now / Pause 30m / Resume / Settings / Activity / Restore / Quit) wired to the M5 sync commands + window/quit actions; tray::apply_state maps OrchestratorState to the five DESIGN s8.1 icons (matching on ErrorCode/PauseReason enums, not string prefixes), swaps icon + localized tooltip within 1s of a StateChanged, and routes the first-sync-complete + red-error OS notifications (deduped). Icons are generated programmatically as solid RGBA tiles (no binary assets). notify_needs_reauth + apply_suspending are the shell entry points the bridge calls. All strings flow through rust_i18n::t!; additive en-US locale keys. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012CyiRqk2DVwmJjEu5gcD1m
1 parent 88dec49 commit 9476484

2 files changed

Lines changed: 795 additions & 34 deletions

File tree

src-tauri/locales/en-US.yml

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,25 @@ tray:
1414
settings: "Settings"
1515
restore: "Restore"
1616
quit: "Quit Driven"
17+
tooltip:
18+
idle: "Driven - idle, last sync OK"
19+
syncing: "Driven - syncing..."
20+
paused_manual: "Driven - paused"
21+
paused_battery: "Driven - paused on battery power"
22+
paused_metered: "Driven - paused on metered network"
23+
offline: "Connected, no Internet"
24+
no_internet: "Connected, no Internet"
25+
captive_portal: "Captive portal - click to sign in"
26+
dns_failed: "DNS is not resolving"
27+
service_down: "Google Drive is unavailable"
28+
needs_reauth: "Driven needs to sign in again"
29+
error: "Driven - error, attention needed"
30+
suspending: "Suspending..."
1731

1832
notifications:
1933
first_sync_complete:
2034
title: "First sync complete"
21-
body: "%{count} files backed up to Google Drive."
35+
body: "Your files are now backed up to Google Drive."
2236
needs_reauth:
2337
title: "Driven needs to sign in again"
2438
body: "Sign in to %{account} to keep backups running."
@@ -28,3 +42,13 @@ notifications:
2842
paused_metered:
2943
title: "Sync paused"
3044
body: "On metered network; sync will resume on unmetered."
45+
error:
46+
title: "Driven - sync error"
47+
generic: "Backup hit an error (%{code}). Open Driven for details."
48+
drive_quota: "Your Google Drive is full. Free up space to resume backups."
49+
drive_daily_quota: "Google Drive's daily limit was reached. Backups resume after it resets."
50+
crypto_key_missing: "The encryption key is unavailable, so backups are paused. Open Driven to unlock it."
51+
crypto_decrypt_failed: "A file failed to decrypt. Open Driven for details."
52+
disk_full: "The source disk is out of space. Free up space to resume backups."
53+
vss_unavailable: "A locked file needs elevated access to back up. Open Driven for details."
54+
db_corrupt: "Driven's local database is corrupt. Open Driven to rebuild it."

0 commit comments

Comments
 (0)