Skip to content

feat: implement zoom and scroll controls for timeline view #35

@renjfk

Description

@renjfk

Add interactive zoom and scroll functionality to the timeline view for better navigation and detailed analysis of work patterns throughout the day.

Details

  • Add horizontal scroll control at the bottom of HourlyTimelineChart with zoom handles on both sides
  • Enable drag-to-zoom functionality on handles to adjust visible time range with smooth continuous zooming
  • Set maximum zoom level to 1-hour detailed view to maintain usability and performance
  • Add drag-to-scroll functionality on middle area of control bar to pan across timeline
  • Provide smooth animations for zoom and scroll transitions using SwiftUI animations
  • Update time labels dynamically to reflect current visible time range based on zoom level
  • Maintain accurate positioning and scaling of work period rectangles during zoom operations
  • Preserve zoom state when switching between dates or view modes
  • Add visual indicators showing current position within overall timeline
  • Support trackpad gestures for natural macOS interaction patterns
  • Reset to full day view when switching to different dates

This enhances timeline usability for detailed analysis of work patterns and break periods.

Metadata

Metadata

Assignees

No one assigned

    Labels

    featureNew feature or functionality

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions