Skip to content

v0.1.3-beta

Pre-release
Pre-release

Choose a tag to compare

@cragr cragr released this 18 Dec 22:54
· 100 commits to main since this release

Execution Summary

Successfully completed UI improvements and bug fixes for the Claude Code Monitor macOS application with the Terminal Noir design aesthetic.


Completed Items

  1. Sidebar Toggle Fix
    - Replaced NavigationSplitView with custom HStack-based layout to eliminate duplicate system sidebar toggle
    - Single cyan sidebar toggle button now controls sidebar visibility with smooth animation
  2. Time Selector Enhancement
    - Made time range picker larger and more prominent
    - Increased font size, added amber calendar icon with glow effect
    - Changed from capsule to rounded rectangle background
    - Shows full display name instead of abbreviation
  3. Chart Color Differentiation
    - Fixed "Cost by Model" chart to use distinct colors for each model
    - Fixed "Token Usage by Model" chart in StatsCacheView
    - Fixed "Tokens by Model" chart in PerformanceDashboardView
    - Added 10-color palette: purple, cyan, green, amber, magenta, orange, red, light cyan, pink, mint
  4. Tokens by Model Chart Overhaul
    - Added proper series parameter to LineMark for grouping
    - Implemented .foregroundStyle(by:) for automatic color mapping
    - Added .chartForegroundStyleScale() with explicit color mapping
    - Added .interpolationMethod(.catmullRom) for smooth curves
    - Moved legend to bottom position for visibility
  5. Model Name Parsing
    - Updated shortModelName() in all views to properly differentiate:
    • Opus 4.5, Opus 4.1, Opus
    • Sonnet 4.5, Sonnet 4.0, Sonnet 3.5, Sonnet
    • Haiku 4.5, Haiku 3.5, Haiku
  6. Code Quality
    - Updated .gitignore to include .build-*/ pattern
    - All 96 tests passing
    - Build succeeds without warnings

Files Modified

File | Changes -- | -- ContentView.swift | HStack layout, time picker styling, toolbar cleanup PerformanceDashboardView.swift | Chart colors, model name parsing, legend SummaryDashboardView.swift | Chart color palette, model differentiation StatsCacheView.swift | Chart color palette, model differentiation SmokeTestView.swift | Terminal Noir styling (from prior work) ClaudeCodeMonitorApp.swift | Window styling, dark appearance .gitignore | Added .build-*/ pattern


Remaining/Deferred Items

  1. Cyan Terminal Icon - User asked about location; documented at ContentView.swift:156-168 using SF Symbol "terminal.fill" with Color.phosphorCyan
  2. Legacy Components - Several legacy wrapper components exist (e.g., ModernKPICard, TokenTypeCard) for backwards compatibility. These could be removed in a future cleanup if no longer needed.
  3. DesignSystem Folder - New untracked folder containing the Terminal Noir design system. Should be committed with the other changes.

Next Steps Checklist

  • Run the app and visually verify all chart colors are distinct
  • Verify legend appears on "Tokens by Model" chart
  • Test time range selector dropdown functionality
  • Commit changes with descriptive message
  • Consider removing legacy wrapper components if unused
  • Add unit tests for shortModelName() and colorForModel() functions