[PR #6974] Easier navigation to dashboard pages #6856

Open
opened 2026-02-28 21:33:39 -06:00 by GiteaMirror · 0 comments
Owner

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

State: open
Merged: No


Thank you for adding multiple dashboards in 26.2, it made my dashboard a lot more organised!
In using it so far, I have two things for which QoL improvements could be made:

  1. the lack of easy and quick navigation to any dashboard from anywhere in the app;
  2. it always opened to the first dashboard in the list, without the option to set your preferred dashboard.

With the changes in this PR, navigation will be moved to the sidebar and be sortable (just like accounts).


Sidebar

If you have only one dashboard, the sidebar is still clean with only "Reports" as a link. So users who haven't created any additional dashboards will not notice any changes here.

image

As soon as you have multiple dashboards, they'll appear as subitems. "Reports" will become a header and is not clickable any more.

image

Header

On the dashboard page, the selector menu is removed from the header. It felt unnecessary now that the dashboards are accessible through the sidebar. On mobile, the selector is still visible.

image

The "Add dashboard" button is moved from the selector to the three-dots menu on the right. I removed it from the selector menu, because as far as I could see, there's no way of editing a dashboard on mobile. Thus, it did not make a lot of sense to allow you to create a blank dashboard and then not be able to do anything with it.

image

I noticed that a lot of work is being done in stages to convert *Slice.ts files into queries.ts and mutations.ts. So instead of creating conflicts, I'm basing this on the branch that does that work for the dashboards (see #6957).


Bundle Stats

Bundle Files count Total bundle size % Changed
desktop-client 28 → 27 14.88 MB → 14.81 MB (-69.91 kB) -0.46%
loot-core 1 5.86 MB → 5.86 MB (+723 B) +0.01%
api 1 4.4 MB → 4.4 MB (+643 B) +0.01%
View detailed bundle stats

desktop-client

Total

Files count Total bundle size % Changed
28 → 27 14.88 MB → 14.81 MB (-69.91 kB) -0.46%
Changeset
File Δ Size
src/components/sidebar/Reports.tsx 🆕 +3.48 kB 0 B → 3.48 kB
src/components/sidebar/Report.tsx 🆕 +2.53 kB 0 B → 2.53 kB
src/components/sidebar/ItemContent.tsx 📈 +72 B (+8.85%) 814 B → 886 B
src/reports/mutations.ts 📈 +1.13 kB (+7.98%) 14.14 kB → 15.27 kB
src/components/sidebar/Item.tsx 📈 +123 B (+3.26%) 3.69 kB → 3.81 kB
src/reports/queries.ts 📈 +22 B (+2.03%) 1.06 kB → 1.08 kB
src/components/reports/Overview.tsx 📈 +465 B (+1.70%) 26.71 kB → 27.16 kB
locale/en.json 📈 +1.39 kB (+0.83%) 167.25 kB → 168.63 kB
src/components/reports/index.tsx 📈 +2 B (+0.42%) 471 B → 473 B
locale/ca.json 📈 +711 B (+0.39%) 177.71 kB → 178.41 kB
src/accounts/mutations.ts 📈 +8 B (+0.04%) 21.82 kB → 21.83 kB
src/components/FinancesApp.tsx 📈 +2 B (+0.01%) 18.59 kB → 18.59 kB
src/components/rules/RuleEditor.tsx 📈 +2 B (+0.00%) 49.45 kB → 49.45 kB
src/components/sidebar/PrimaryButtons.tsx 📉 -160 B (-3.59%) 4.35 kB → 4.19 kB
src/languages.ts 📉 -122 B (-6.42%) 1.85 kB → 1.74 kB
src/components/reports/DashboardHeader.tsx 📉 -504 B (-13.85%) 3.55 kB → 3.06 kB
src/components/reports/DashboardSelector.tsx 📉 -866 B (-23.10%) 3.66 kB → 2.82 kB
locale/sv.json 🔥 -78.2 kB (-100%) 78.2 kB → 0 B
View detailed bundle breakdown

Added
No assets were added

Removed

Asset File Size % Changed
static/js/sv.js 78.2 kB → 0 B (-78.2 kB) -100%

Bigger

Asset File Size % Changed
static/js/index.js 9.52 MB → 9.54 MB (+21.23 kB) +0.22%
static/js/en.js 167.25 kB → 168.63 kB (+1.39 kB) +0.83%
static/js/ca.js 177.71 kB → 178.41 kB (+711 B) +0.39%

Smaller

Asset File Size % Changed
static/js/ReportRouter.js 1.15 MB → 1.13 MB (-15.02 kB) -1.28%

Unchanged

Asset File Size % Changed
static/js/indexeddb-main-thread-worker-e59fee74.js 12.94 kB 0%
static/js/workbox-window.prod.es5.js 5.64 kB 0%
static/js/da.js 106.62 kB 0%
static/js/de.js 180.44 kB 0%
static/js/en-GB.js 7.18 kB 0%
static/js/es.js 173.83 kB 0%
static/js/fr.js 179.97 kB 0%
static/js/it.js 171.44 kB 0%
static/js/nb-NO.js 157.23 kB 0%
static/js/nl.js 106.65 kB 0%
static/js/pl.js 88.64 kB 0%
static/js/pt-BR.js 154.57 kB 0%
static/js/th.js 182.35 kB 0%
static/js/uk.js 215.11 kB 0%
static/js/resize-observer.js 18.37 kB 0%
static/js/BackgroundImage.js 120.54 kB 0%
static/js/narrow.js 638.75 kB 0%
static/js/TransactionList.js 106.13 kB 0%
static/js/wide.js 165.25 kB 0%
static/js/AppliedFilters.js 9.71 kB 0%
static/js/usePayeeRuleCounts.js 10.05 kB 0%
static/js/useTransactionBatchActions.js 13.23 kB 0%
static/js/FormulaEditor.js 1.04 MB 0%

loot-core

Total

Files count Total bundle size % Changed
1 5.86 MB → 5.86 MB (+723 B) +0.01%
Changeset
File Δ Size
home/runner/work/actual/actual/packages/loot-core/src/server/db/index.ts 📈 +486 B (+2.63%) 18.05 kB → 18.52 kB
home/runner/work/actual/actual/packages/loot-core/src/server/dashboard/app.ts 📈 +205 B (+2.10%) 9.51 kB → 9.71 kB
home/runner/work/actual/actual/packages/loot-core/src/server/aql/schema/index.ts 📈 +32 B (+0.27%) 11.57 kB → 11.6 kB
View detailed bundle breakdown

Added

Asset File Size % Changed
kcab.worker.dJsdwMzt.js 0 B → 5.86 MB (+5.86 MB) -

Removed

Asset File Size % Changed
kcab.worker.CZeQyUCA.js 5.86 MB → 0 B (-5.86 MB) -100%

Bigger
No assets were bigger

Smaller
No assets were smaller

Unchanged
No assets were unchanged


api

Total

Files count Total bundle size % Changed
1 4.4 MB → 4.4 MB (+643 B) +0.01%
Changeset
File Δ Size
src/server/db/index.ts 📈 +438 B (+2.66%) 16.1 kB → 16.52 kB
src/server/dashboard/app.ts 📈 +177 B (+2.03%) 8.51 kB → 8.69 kB
src/server/aql/schema/index.ts 📈 +28 B (+0.26%) 10.41 kB → 10.44 kB
View detailed bundle breakdown

Added
No assets were added

Removed
No assets were removed

Bigger

Asset File Size % Changed
bundle.api.js 4.4 MB → 4.4 MB (+643 B) +0.01%

Smaller
No assets were smaller

Unchanged
No assets were unchanged

**Original Pull Request:** https://github.com/actualbudget/actual/pull/6974 **State:** open **Merged:** No --- Thank you for adding multiple dashboards in 26.2, it made my dashboard a lot more organised! In using it so far, I have two things for which QoL improvements could be made: 1. the lack of easy and quick navigation to any dashboard from anywhere in the app; 2. it always opened to the first dashboard in the list, without the option to set your preferred dashboard. With the changes in this PR, navigation will be moved to the sidebar and be sortable (just like accounts). --- ### Sidebar If you have only one dashboard, the sidebar is still clean with only "Reports" as a link. So users who haven't created any additional dashboards will not notice any changes here. <img width="618" height="351" alt="image" src="https://github.com/user-attachments/assets/486fa9f8-0cdd-41b3-824e-959c9ce550fe" /><br /> As soon as you have multiple dashboards, they'll appear as subitems. "Reports" will become a header and is not clickable any more. <img width="617" height="453" alt="image" src="https://github.com/user-attachments/assets/b0a081fe-9d01-4946-b191-ff18d6f8c579" /> ### Header On the dashboard page, the selector menu is removed from the header. It felt unnecessary now that the dashboards are accessible through the sidebar. On mobile, the selector is still visible. <img width="1800" height="173" alt="image" src="https://github.com/user-attachments/assets/ab46a089-d109-4721-a1b6-6afb6dd76fbe" /><br /> The "Add dashboard" button is moved from the selector to the three-dots menu on the right. I removed it from the selector menu, because as far as I could see, there's no way of editing a dashboard on mobile. Thus, it did not make a lot of sense to allow you to create a blank dashboard and then not be able to do anything with it. <img width="511" height="322" alt="image" src="https://github.com/user-attachments/assets/cae74796-4b5b-4da0-a291-a1827dc712bc" /> --- I noticed that a lot of work is being done in stages to convert `*Slice.ts` files into queries.ts and mutations.ts. So instead of creating conflicts, I'm basing this on the branch that does that work for the dashboards (see #6957). <!--- actual-bot-sections ---> <hr /> <!--- bundlestats-action-comment key:combined start ---> ### Bundle Stats Bundle | Files count | Total bundle size | % Changed ------ | ----------- | ----------------- | --------- desktop-client | 28 → 27 | 14.88 MB → 14.81 MB (-69.91 kB) | -0.46% loot-core | 1 | 5.86 MB → 5.86 MB (+723 B) | +0.01% api | 1 | 4.4 MB → 4.4 MB (+643 B) | +0.01% <details> <summary>View detailed bundle stats</summary> #### desktop-client **Total** Files count | Total bundle size | % Changed ----------- | ----------------- | --------- 28 → 27 | 14.88 MB → 14.81 MB (-69.91 kB) | -0.46% <details> <summary>Changeset</summary> File | Δ | Size ---- | - | ---- `src/components/sidebar/Reports.tsx` | 🆕 +3.48 kB | 0 B → 3.48 kB `src/components/sidebar/Report.tsx` | 🆕 +2.53 kB | 0 B → 2.53 kB `src/components/sidebar/ItemContent.tsx` | 📈 +72 B (+8.85%) | 814 B → 886 B `src/reports/mutations.ts` | 📈 +1.13 kB (+7.98%) | 14.14 kB → 15.27 kB `src/components/sidebar/Item.tsx` | 📈 +123 B (+3.26%) | 3.69 kB → 3.81 kB `src/reports/queries.ts` | 📈 +22 B (+2.03%) | 1.06 kB → 1.08 kB `src/components/reports/Overview.tsx` | 📈 +465 B (+1.70%) | 26.71 kB → 27.16 kB `locale/en.json` | 📈 +1.39 kB (+0.83%) | 167.25 kB → 168.63 kB `src/components/reports/index.tsx` | 📈 +2 B (+0.42%) | 471 B → 473 B `locale/ca.json` | 📈 +711 B (+0.39%) | 177.71 kB → 178.41 kB `src/accounts/mutations.ts` | 📈 +8 B (+0.04%) | 21.82 kB → 21.83 kB `src/components/FinancesApp.tsx` | 📈 +2 B (+0.01%) | 18.59 kB → 18.59 kB `src/components/rules/RuleEditor.tsx` | 📈 +2 B (+0.00%) | 49.45 kB → 49.45 kB `src/components/sidebar/PrimaryButtons.tsx` | 📉 -160 B (-3.59%) | 4.35 kB → 4.19 kB `src/languages.ts` | 📉 -122 B (-6.42%) | 1.85 kB → 1.74 kB `src/components/reports/DashboardHeader.tsx` | 📉 -504 B (-13.85%) | 3.55 kB → 3.06 kB `src/components/reports/DashboardSelector.tsx` | 📉 -866 B (-23.10%) | 3.66 kB → 2.82 kB `locale/sv.json` | 🔥 -78.2 kB (-100%) | 78.2 kB → 0 B </details> <details> <summary>View detailed bundle breakdown</summary> <div> **Added** No assets were added **Removed** Asset | File Size | % Changed ----- | --------- | --------- static/js/sv.js | 78.2 kB → 0 B (-78.2 kB) | -100% **Bigger** Asset | File Size | % Changed ----- | --------- | --------- static/js/index.js | 9.52 MB → 9.54 MB (+21.23 kB) | +0.22% static/js/en.js | 167.25 kB → 168.63 kB (+1.39 kB) | +0.83% static/js/ca.js | 177.71 kB → 178.41 kB (+711 B) | +0.39% **Smaller** Asset | File Size | % Changed ----- | --------- | --------- static/js/ReportRouter.js | 1.15 MB → 1.13 MB (-15.02 kB) | -1.28% **Unchanged** Asset | File Size | % Changed ----- | --------- | --------- static/js/indexeddb-main-thread-worker-e59fee74.js | 12.94 kB | 0% static/js/workbox-window.prod.es5.js | 5.64 kB | 0% static/js/da.js | 106.62 kB | 0% static/js/de.js | 180.44 kB | 0% static/js/en-GB.js | 7.18 kB | 0% static/js/es.js | 173.83 kB | 0% static/js/fr.js | 179.97 kB | 0% static/js/it.js | 171.44 kB | 0% static/js/nb-NO.js | 157.23 kB | 0% static/js/nl.js | 106.65 kB | 0% static/js/pl.js | 88.64 kB | 0% static/js/pt-BR.js | 154.57 kB | 0% static/js/th.js | 182.35 kB | 0% static/js/uk.js | 215.11 kB | 0% static/js/resize-observer.js | 18.37 kB | 0% static/js/BackgroundImage.js | 120.54 kB | 0% static/js/narrow.js | 638.75 kB | 0% static/js/TransactionList.js | 106.13 kB | 0% static/js/wide.js | 165.25 kB | 0% static/js/AppliedFilters.js | 9.71 kB | 0% static/js/usePayeeRuleCounts.js | 10.05 kB | 0% static/js/useTransactionBatchActions.js | 13.23 kB | 0% static/js/FormulaEditor.js | 1.04 MB | 0% </div> </details> --- #### loot-core **Total** Files count | Total bundle size | % Changed ----------- | ----------------- | --------- 1 | 5.86 MB → 5.86 MB (+723 B) | +0.01% <details> <summary>Changeset</summary> File | Δ | Size ---- | - | ---- `home/runner/work/actual/actual/packages/loot-core/src/server/db/index.ts` | 📈 +486 B (+2.63%) | 18.05 kB → 18.52 kB `home/runner/work/actual/actual/packages/loot-core/src/server/dashboard/app.ts` | 📈 +205 B (+2.10%) | 9.51 kB → 9.71 kB `home/runner/work/actual/actual/packages/loot-core/src/server/aql/schema/index.ts` | 📈 +32 B (+0.27%) | 11.57 kB → 11.6 kB </details> <details> <summary>View detailed bundle breakdown</summary> <div> **Added** Asset | File Size | % Changed ----- | --------- | --------- kcab.worker.dJsdwMzt.js | 0 B → 5.86 MB (+5.86 MB) | - **Removed** Asset | File Size | % Changed ----- | --------- | --------- kcab.worker.CZeQyUCA.js | 5.86 MB → 0 B (-5.86 MB) | -100% **Bigger** No assets were bigger **Smaller** No assets were smaller **Unchanged** No assets were unchanged </div> </details> --- #### api **Total** Files count | Total bundle size | % Changed ----------- | ----------------- | --------- 1 | 4.4 MB → 4.4 MB (+643 B) | +0.01% <details> <summary>Changeset</summary> File | Δ | Size ---- | - | ---- `src/server/db/index.ts` | 📈 +438 B (+2.66%) | 16.1 kB → 16.52 kB `src/server/dashboard/app.ts` | 📈 +177 B (+2.03%) | 8.51 kB → 8.69 kB `src/server/aql/schema/index.ts` | 📈 +28 B (+0.26%) | 10.41 kB → 10.44 kB </details> <details> <summary>View detailed bundle breakdown</summary> <div> **Added** No assets were added **Removed** No assets were removed **Bigger** Asset | File Size | % Changed ----- | --------- | --------- bundle.api.js | 4.4 MB → 4.4 MB (+643 B) | +0.01% **Smaller** No assets were smaller **Unchanged** No assets were unchanged </div> </details> </details> <!--- bundlestats-action-comment key:combined end --->
GiteaMirror added the pull-request label 2026-02-28 21:33:39 -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#6856