Skip to content

feat: cross-window refresh sync, tray menu & UI improvements#3

Merged
shixy96 merged 5 commits intomainfrom
feat/refresh-state-sync-and-tray-menu
Feb 24, 2026
Merged

feat: cross-window refresh sync, tray menu & UI improvements#3
shixy96 merged 5 commits intomainfrom
feat/refresh-state-sync-and-tray-menu

Conversation

@shixy96
Copy link
Copy Markdown
Owner

@shixy96 shixy96 commented Feb 2, 2026

Summary

🔄 Refresh State Synchronization

  • Add refresh-started/refresh-completed events for cross-window state sync
  • Create useRefreshState hook to keep refresh button states in sync between Dashboard and Tray windows

🖱️ Tray Context Menu

  • Add right-click context menu with Dashboard, Settings, and Quit options
  • Rename dashboard window label to main for consistency

📊 Cache Token Statistics

  • Add cacheCreationInputTokens and cacheReadInputTokens fields to DailyUsage type
  • Display period-aggregated cache tokens in Dashboard stats (instead of today-only)

✨ UI Polish

  • Improve Dashboard chart with gradient fill for token bars
  • Refactor model breakdown layout with better pie chart proportions
  • Extract createNumberInputHandlers helper in Settings for cleaner code
  • Adjust glass effect opacity for better visibility
  • Polish Tray UI spacing and progress bar layout

🔧 CI/CD

  • Add build-test.yml workflow for PR validation on macOS
  • Install create-dmg in release workflow for macOS DMG builds

Test Plan

  • Click refresh in Dashboard, verify Tray refresh button also shows spinning state
  • Click refresh in Tray, verify Dashboard refresh button also shows spinning state
  • Right-click tray icon, verify context menu shows Dashboard, Settings, Quit
  • Click Dashboard menu item, verify main window opens to dashboard tab
  • Click Settings menu item, verify main window opens to settings tab
  • Click Quit menu item, verify app exits
  • Verify cache token stats update correctly when switching time range (7d/30d)
  • Create a PR and verify build-test workflow runs successfully

- Add refresh-started/refresh-completed events for cross-window state sync
- Create useRefreshState hook to synchronize refresh button states
- Add tray context menu with Dashboard, Settings, and Quit options
- Rename dashboard window label to main for consistency
- Add build-test workflow for PR validation
- Install create-dmg in release workflow for macOS builds
- Add cacheCreationInputTokens and cacheReadInputTokens fields to DailyUsage type
- Display period-aggregated cache tokens in Dashboard stats instead of today-only
- Improve Dashboard chart with gradient fill for token bars
- Refactor model breakdown layout with better proportions for pie chart
- Extract createNumberInputHandlers helper in Settings for cleaner input handling
- Adjust glass effect opacity for better visibility
- Polish Tray UI spacing and progress bar layout
@shixy96 shixy96 changed the title feat: add refresh state sync across windows and tray context menu feat: cross-window refresh sync, tray menu & UI improvements Feb 3, 2026
@shixy96 shixy96 merged commit f4b38a7 into main Feb 24, 2026
4 checks passed
@shixy96 shixy96 deleted the feat/refresh-state-sync-and-tray-menu branch February 24, 2026 05:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant