[PR #6411] Add Report pages #6502

Closed
opened 2026-02-28 21:29:15 -06:00 by GiteaMirror · 0 comments
Owner

Original Pull Request: https://github.com/actualbudget/actual/pull/6411

State: closed
Merged: Yes


Add multiple tabs/pages to "Reports" allowing for different widget layouts per page.

The main outcome of this PR is the multiple report pages (example with the test budget):
image

Each Report Page/Dashboard has its own independent widget set.

I would appreciate close attention to the SQL parts of this PR as well as the renaming logic around 435 in Overview.tsx as it has been a while since I've used React and this is probably not idiomatic for what I'm trying to accomplish.


Note

Enables multiple dashboard pages in Reports, each with its own widget layout and URL.

  • Adds dashboard_pages table and dashboard.dashboard_page_id (migration), schema/types updates
  • New server handlers: list/create/rename/delete pages, per-page reset/import, add/remove/update widgets, and dashboard-copy-widget
  • UI: ReportsDashboardRouter with /:dashboardId, DashboardSelector and DashboardHeader (rename inline), delete current page (guard against last page)
  • Overview refactor to be page-aware: fetch widgets by page, pass dashboard_page_id on add/import, reset per page; mobile/desktop headers updated
  • New CopyWidgetToDashboardModal and useWidgetCopyMenu; all report cards gain “Copy to dashboard” action
  • Save Report flow: choose target dashboard when saving and auto-add widget to that page
  • New hooks: useDashboard(dashboardId), useDashboardPages; Modals wired for new modal

Written by Cursor Bugbot for commit 868c35d72a. This will update automatically on new commits. Configure here.

**Original Pull Request:** https://github.com/actualbudget/actual/pull/6411 **State:** closed **Merged:** Yes --- Add multiple tabs/pages to "Reports" allowing for different widget layouts per page. The main outcome of this PR is the multiple report pages (example with the test budget): <img width="2091" height="1142" alt="image" src="https://github.com/user-attachments/assets/179f20a3-e928-4ea4-ac42-aa0d3327f2a0" /> Each Report Page/Dashboard has its own independent widget set. I would appreciate close attention to the SQL parts of this PR as well as the renaming logic around 435 in Overview.tsx as it has been a while since I've used React and this is probably not idiomatic for what I'm trying to accomplish. <!-- CURSOR_SUMMARY --> --- > [!NOTE] > Enables multiple dashboard pages in Reports, each with its own widget layout and URL. > > - Adds `dashboard_pages` table and `dashboard.dashboard_page_id` (migration), schema/types updates > - New server handlers: list/create/rename/delete pages, per-page reset/import, add/remove/update widgets, and `dashboard-copy-widget` > - UI: `ReportsDashboardRouter` with `/:dashboardId`, `DashboardSelector` and `DashboardHeader` (rename inline), delete current page (guard against last page) > - Overview refactor to be page-aware: fetch widgets by page, pass `dashboard_page_id` on add/import, reset per page; mobile/desktop headers updated > - New `CopyWidgetToDashboardModal` and `useWidgetCopyMenu`; all report cards gain “Copy to dashboard” action > - Save Report flow: choose target dashboard when saving and auto-add widget to that page > - New hooks: `useDashboard(dashboardId)`, `useDashboardPages`; Modals wired for new modal > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 868c35d72ad47e7864b6f71b98a51f4a32f2a63c. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY -->
GiteaMirror added the pull-request label 2026-02-28 21:29:15 -06:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/actual#6502