-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
Ledger View: Add "Rolling" Year Option for Continuous Date Range
Summary
Add a new option to the year dropdown in the Ledger view that shows a rolling 7-month window centered on the current month, instead of a fixed calendar year.
Background
Currently, the year dropdown in src/views/Ledger/Ledger.jsx only shows calendar years. At year boundaries (December/January), users must switch between years frequently to see recent and upcoming transactions.
Requirements
1. Add "Rolling" Option to Year Dropdown
- Add a new option labeled "Rolling" (or similar - conveys continuous/current context) to the existing year Select component
- Position it as the first option in the dropdown, above the year list
- Make it the default selection instead of the current year
2. Rolling Date Range Behavior
When "Rolling" is selected:
- Display transactions from 3 months ago through 3 months ahead (7 months total)
- Example: If current date is December 5, 2025, show September 2025 through March 2026
3. Expand/Collapse State
- Expanded by default: Previous month, current month, next month (3 months)
- Collapsed by default: The other 4 months (2 months before previous, 2 months after next)
4. Auto-Scroll to Current Date
- When Ledger loads with "Rolling" selected, automatically scroll the view so the current month's transactions are visible
- Scroll position should show the current date area, not just the month header
Key Files to Modify
src/views/Ledger/Ledger.jsx- Add "Rolling" option to year dropdown, implement date range filtering logic, handle expand/collapse state, add auto-scroll behavior
Acceptance Criteria
- Year dropdown includes "Rolling" as the first option
- "Rolling" is the default selection
- Rolling view shows exactly 7 months: 3 past, current, 3 future
- Previous, current, and next months are expanded; others collapsed
- View auto-scrolls to current date on load
- Selecting a specific year still works as before
-
yarn lintpasses
Copilot
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request