mirror of
https://github.com/actualbudget/actual.git
synced 2026-03-09 03:32:54 -05:00
[Tech Debt] Change report date picker options to use date-range picker with quick-select buttons #2836
Open
opened 2026-02-28 20:30:09 -06:00 by GiteaMirror
·
8 comments
No Branch/Tag Specified
master
claude/fix-simplefin-ssrf-T31gX
claude/release-notes-validation-X7rvR
matiss/7155
claude/fix-simplefin-batch-sync-O8LcD
ai/custom-theme-dual-prefs
matiss/fix-6804
add-claude-github-actions-1772738270730
claude/analyze-internal-errors-4k6O2
react-query-rules
react-query-useSchedules
matiss/separate-lint-format
dependabot/npm_and_yarn/ajv-6.14.0
cursor/sync-performance-notification-9899
react-query-prefs
matiss/chunked-sync-and-progress-ux
v26.2.1
copilot/sub-pr-6880
fix-react-query-clear-on-close-budget
copilot/sub-pr-6140
feat/auto-note
feat/scoped-bank-sync
cursor/desktop-transactions-react-table-1d0c
fix-exhaustive-deps-App
copilot/fix-find-replace-bug
release/v26.2.0-pre
matiss/browser-tests
mobile-fix-drag-and-drop-across-groups
budget-table-v2
PayeeAutocomplete2
pglite
bugfix/plugins/fix-plugins-sw
feat/plugins/plugins-core-package
prerelease
matiss/unicode-minus-fix
cursor/fix-actual-github-issue-6206-gemini-3-pro-preview-9c37
TransactionFormPage
cursor/implement-mortgage-and-loan-account-type-78ca
tests-update-fill-with-pressSequentially
mobile/link-modal
deps/25.11
cursor/fix-update-vrt-apply-ci-job-dispatch-b324
sync-server-plugins
cursor/propose-patch-for-github-issue-5680-2a18
fix/compiler-preserve-inner-dollar-escapes
cursor/analyze-actual-budget-issue-and-propose-fix-5b70
coderabbitai/docstrings/0c070e5
cursor/add-wip-prefix-and-comment-to-prs-d78d
jfdoming/08-21-auto-focus-on-navigate-in-all-browsers
show-totals-on-mobile-budget-banners
allow-child-transactions-make-transfer
mobile-calculator-keyboard
payee-geolocation
enhance/restore_scroll_position
dm-fix-second-click-on-mobile-new-transaction-2
scrollToLocationBudget
alert-autofix-38
tsconfig-composite
mobile-fix-uncategorized-transactions-on-tracking-budgets
server-budget-handlers
fix-sql-injection-in-cleanup-template
non-chrome-draggable-workaround
mobile-budget-page-swipe-navigation
ts-db-all
stable
dark-theme-with-brand-colors
fix-mobile-delete-group
ts-db-select
UnderKoen/reconcile-context-menu
master-before-server-merge
v25.2.1
ts-runQuery
rename-redux-hooks
UnderKoen/3557-persist-state-in-history
remove-redux-CLOSE_BUDGET
fix-exhaustive-deps-errors-FinancesApp
redux-toolkit-createSlice-backup
accounts-function-component
ts-useSplitsExpanded
loot-core-server-package
useTransactios-in-TransactionEdit
react-aria-input
move-redux-to-desktop-client
QueryState-type
fix-themes-applied-late
mobile-vrts
revert-3295-spendingCardFix
react-aria-button-4
split-payee-on-mobile
twk3/pin-apis-crdt
notes-tag-autocomplete
ts-LoadBackup
dnd-kit
package-upgrades
v26.3.0
v26.2.1
v26.2.0
v26.1.0
v25.12.0
v25.11.0
v25.10.0
v25.9.0
v25.8.0
v25.7.1
v25.7.0
v25.6.1
v25.6.0
v25.5.0
v25.4.0
v25.3.1
v25.3.0
v25.2.1
v25.2.0
v25.1.0
v24.12.0
v24.11.0
v24.10.1
v24.10.0
v24.9.0
v24.8.0
v24.7.0
v24.6.0
v24.5.0
v24.4.0
v24.3.0
v24.2.0
v24.1.0
v23.12.0
v23.11.0
v23.10.0
v23.9.0
v23.8.1
v23.8.0
v23.7.2
v23.7.1
v23.7.0
v23.6.0
v23.5.0
v23.4.2
v23.4.1
v23.4.0
v23.3.2
v23.3.0
v23.2.9
v23.2.5
v23.1.12
v22.12.9
Labels
Clear labels
AI generated
API
bank sync
budgeting
bug
can’t replicate
dependencies
docker
documentation
electron
experimental feature
feature
feedback
goal templates
good first issue
help wanted
importers
maintenance
needs info
needs testing
needs triage
needs votes
openid
payees
pull-request
regression
reports
responsive
rules
schedules
server
✨ merged
split transactions
tech debt
theme
transaction import
transaction reconciliation
transactions
translations
upstream
user interface
✅ approved
wontfix
Mirrored from GitHub Pull Request
Milestone
No items
No Milestone
Projects
Clear projects
No project
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: github-starred/actual#2836
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @MatissJanis on GitHub (Jan 18, 2026).
The current date-picker with quick select options has gotten ridiculously long. It looks quite bad on desktop and even worse on mobile.
Objective:
Refactor it to use a date-range picker with quick-pick options.
The ideal solution would use react-aria as a base and extend it with the extras we need. This is because we already extensively use this dependency. Pulling in a new dependency could also work, but we need to evaluate it carefully (i.e. does it significantly increase the bundle size? is the dependency maintained? etc.)
Inspiration:
react-aria date-range picker: https://react-aria.adobe.com/DateRangePicker

daterangepicker: http://www.daterangepicker.com

Please post a screenshot mockup of your proposed UI/UX before sending a PR so we can discuss it. We do not assign issues to specific people.
@rznn7 commented on GitHub (Feb 7, 2026):
Hi!
Here is a proposition:
I assumed we still want to select at the month level, so react-aria's Calendar doesn't fit well (day-level only). I took visual inspiration from https://ant.design/components/date-picker#examples and built this using the existing component library (no new dependencies).
This replaces both the start/end Select dropdowns and the row of quick-select buttons with a single trigger button + popover.
Desktop:

Mobile:

Does this direction look good?
@MatissJanis commented on GitHub (Feb 10, 2026):
That's really good @rznn7 ! I will have some small nitpicks, but overall LGTM!
Some immediate nitpicks:
@rznn7 commented on GitHub (Feb 10, 2026):
Thanks for your feedbacks @MatissJanis !
I am not sure what you mean, are you talking about the "Jan", "Feb", etc. buttons? There is an hover effect, do you think we should make it more obvious that it is clickable?
I am not yet very aware of how everything works but the current code only allow selecting months right? That's why I choose this behavior. Is selecting more precise ranges a feature we'd want to implement? If so we should indeed design the new picker accordingly, though it would add quite a bit of complexity to the implementation.
@MatissJanis commented on GitHub (Feb 10, 2026):
Yep. Exactly those. Mobile doesn't have "hover", so we should account for that. I think if we make the background light gray would be sufficient.
I think a specific date range is definitely a useful feature to have. It also looks like pikaday - our current datepicker - has been archived and is no longer maintained. So switching away from it would actually be quite a good idea.
React aria has a good daterange picker. Maybe we could use that as a base since we already use so many of the react-aria components.
@rznn7 commented on GitHub (Feb 17, 2026):
Sorry, for the delay!
Here is quick test with react aria component:
Would it fit? (maybe with a background light gray on days as we discussed).
@MatissJanis commented on GitHub (Feb 18, 2026):
Love it!
@youngcw commented on GitHub (Feb 18, 2026):
Some more things that would be wonderful to add while you are looking at this. Either add an option to exclude the current month in the ranges, or allow the live range to be set to any range that will update every month. Currently you have to include the current month to use the live option.
@matt-fidd commented on GitHub (Feb 19, 2026):
This looks brilliant! Allowing selecting days is definitely the way to go, if people want months they can easily hit the 1st of the month they'd like.