Commit 9476484
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_012CyiRqk2DVwmJjEu5gcD1m1 parent 88dec49 commit 9476484
2 files changed
Lines changed: 795 additions & 34 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
17 | 31 | | |
18 | 32 | | |
19 | 33 | | |
20 | 34 | | |
21 | | - | |
| 35 | + | |
22 | 36 | | |
23 | 37 | | |
24 | 38 | | |
| |||
28 | 42 | | |
29 | 43 | | |
30 | 44 | | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
0 commit comments