[PR #7276] [WIP] Template UI and progress bar combined #41488

Open
opened 2026-04-23 14:16:46 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/actualbudget/actual/pull/7276
Author: @ohnefrust
Created: 3/24/2026
Status: 🔄 Open

Base: masterHead: template-ui-and-progress-bar-combined


📝 Commits (10+)

  • 53cae31 add progress bar
  • 3f00b3a Add simple template column
  • dde2488 Merge remote-tracking branch 'actualfork/add-progress-bar' into template-ui-and-progress-bar-combined
  • 185c288 Merge remote-tracking branch 'actualfork/target-ui' into template-ui-and-progress-bar-combined
  • c6b880e combine template column and add simple progress bar
  • 17d4fcf fix different template values in tooltip vs template column to only use the template value from the colum
  • 763a8d2 unify feature flag under the already exisitng goal template ui flag
  • fcfdb30 adjust documentation according to unification of features
  • 953e0b9 correction
  • dbcd510 Tried what I could to resolve the type errors

📊 Changes

151 files changed (+4493 additions, -172 deletions)

View changed files

.github/actions/check-migrations 2.js (+65 -0)
.github/workflows/generate-release-pr 2.yml (+60 -0)
.github/workflows/pr-ai-label-cleanup 2.yml (+25 -0)
packages/api/injected 2.js (+7 -0)
packages/api/vitest.config 2.ts (+10 -0)
packages/ci-actions/bin/get-next-package-version 2.js (+81 -0)
📝 packages/component-library/src/Tooltip.tsx (+8 -1)
packages/component-library/src/icons/add-attribute 2.js (+87 -0)
📝 packages/desktop-client/src/browser-preload.browser.js (+19 -15)
📝 packages/desktop-client/src/budget/mutations.ts (+59 -28)
📝 packages/desktop-client/src/components/Titlebar.tsx (+32 -2)
📝 packages/desktop-client/src/components/accounts/Account.tsx (+24 -8)
📝 packages/desktop-client/src/components/budget/BalanceWithCarryover.tsx (+25 -9)
📝 packages/desktop-client/src/components/budget/BudgetCategories.tsx (+3 -1)
📝 packages/desktop-client/src/components/budget/BudgetTable.tsx (+46 -38)
packages/desktop-client/src/components/budget/CategoryProgressBar.test.tsx (+254 -0)
packages/desktop-client/src/components/budget/CategoryProgressBar.tsx (+256 -0)
📝 packages/desktop-client/src/components/budget/ExpenseCategory.tsx (+18 -1)
packages/desktop-client/src/components/budget/GOAL_TEMPLATES_FEATURES.md (+61 -0)
📝 packages/desktop-client/src/components/budget/IncomeCategory.tsx (+1 -0)

...and 80 more files

📄 Description

Description

This branch adds two related budgeting improvements behind the existing goal templates feature flag.

The first addition is a new Template column in the budget table for both envelope and tracking budgets. It shows template totals at the overall and group level, lets users edit a single category’s template directly in the grid, and uses those template values consistently when rendering goal/balance states. To support that, the branch adds backend actions for setting a single category template and fetching computed template goal previews for a given month.

The second addition is a per-category progress bar shown below expense rows. The bar visualizes spending against the assigned budget, supports template-aware underfunded states, shows overspending with a separate overflow segment, and exposes a tooltip with budget/template/spent/balance details. There is also a new budget-page titlebar toggle to show or hide these progress bars, with the preference stored globally.

In addition to the feature work, the branch includes supporting polish and fixes such as tooltip wrapper styling support, improved template note validation/error handling, and tests covering progress bar calculation and rendering.

Relates to #2965: Progress bar for targets/templates

Testing

New Feature. Ran yarn and vibe-coded tests.

Checklist

  • Release notes added (see link above)
  • No obvious regressions in affected areas
  • Self-review has been performed - I understand what each change in the code does and why it is needed --> help from the community is needed as this was vibe-coded

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/actualbudget/actual/pull/7276 **Author:** [@ohnefrust](https://github.com/ohnefrust) **Created:** 3/24/2026 **Status:** 🔄 Open **Base:** `master` ← **Head:** `template-ui-and-progress-bar-combined` --- ### 📝 Commits (10+) - [`53cae31`](https://github.com/actualbudget/actual/commit/53cae310e7bd80c7779cb8f32f21efc6c23341f0) add progress bar - [`3f00b3a`](https://github.com/actualbudget/actual/commit/3f00b3aea889fc14f4f1174fd2999cf1a3910605) Add simple template column - [`dde2488`](https://github.com/actualbudget/actual/commit/dde24887927d110a940b87b0e758ea16d4576f45) Merge remote-tracking branch 'actualfork/add-progress-bar' into template-ui-and-progress-bar-combined - [`185c288`](https://github.com/actualbudget/actual/commit/185c288dffac55069eaeb96f379fe46cd27342b1) Merge remote-tracking branch 'actualfork/target-ui' into template-ui-and-progress-bar-combined - [`c6b880e`](https://github.com/actualbudget/actual/commit/c6b880e905e9ed7681224d02f5750ce0907ea865) combine template column and add simple progress bar - [`17d4fcf`](https://github.com/actualbudget/actual/commit/17d4fcf863ec1fc2eef1c5b3766f337f372e3ca9) fix different template values in tooltip vs template column to only use the template value from the colum - [`763a8d2`](https://github.com/actualbudget/actual/commit/763a8d232c0d3971d2aff8b0202ce4cb842eb98a) unify feature flag under the already exisitng goal template ui flag - [`fcfdb30`](https://github.com/actualbudget/actual/commit/fcfdb30e3bb1f5f69562962b92a090d80b064383) adjust documentation according to unification of features - [`953e0b9`](https://github.com/actualbudget/actual/commit/953e0b9c902fb654011a50dacca065a3081e9b34) correction - [`dbcd510`](https://github.com/actualbudget/actual/commit/dbcd510e128e95b70c608281f97de5eb9cd4c1a8) Tried what I could to resolve the type errors ### 📊 Changes **151 files changed** (+4493 additions, -172 deletions) <details> <summary>View changed files</summary> ➕ `.github/actions/check-migrations 2.js` (+65 -0) ➕ `.github/workflows/generate-release-pr 2.yml` (+60 -0) ➕ `.github/workflows/pr-ai-label-cleanup 2.yml` (+25 -0) ➕ `packages/api/injected 2.js` (+7 -0) ➕ `packages/api/vitest.config 2.ts` (+10 -0) ➕ `packages/ci-actions/bin/get-next-package-version 2.js` (+81 -0) 📝 `packages/component-library/src/Tooltip.tsx` (+8 -1) ➕ `packages/component-library/src/icons/add-attribute 2.js` (+87 -0) 📝 `packages/desktop-client/src/browser-preload.browser.js` (+19 -15) 📝 `packages/desktop-client/src/budget/mutations.ts` (+59 -28) 📝 `packages/desktop-client/src/components/Titlebar.tsx` (+32 -2) 📝 `packages/desktop-client/src/components/accounts/Account.tsx` (+24 -8) 📝 `packages/desktop-client/src/components/budget/BalanceWithCarryover.tsx` (+25 -9) 📝 `packages/desktop-client/src/components/budget/BudgetCategories.tsx` (+3 -1) 📝 `packages/desktop-client/src/components/budget/BudgetTable.tsx` (+46 -38) ➕ `packages/desktop-client/src/components/budget/CategoryProgressBar.test.tsx` (+254 -0) ➕ `packages/desktop-client/src/components/budget/CategoryProgressBar.tsx` (+256 -0) 📝 `packages/desktop-client/src/components/budget/ExpenseCategory.tsx` (+18 -1) ➕ `packages/desktop-client/src/components/budget/GOAL_TEMPLATES_FEATURES.md` (+61 -0) 📝 `packages/desktop-client/src/components/budget/IncomeCategory.tsx` (+1 -0) _...and 80 more files_ </details> ### 📄 Description <!-- Thank you for submitting a pull request! Make sure to follow the instructions to write release notes for your PR — it should only take a minute or two: https://github.com/actualbudget/docs#writing-good-release-notes. Try running yarn generate:release-notes *before* pushing your PR for an interactive experience. --> ## Description This branch adds two related budgeting improvements behind the existing goal templates feature flag. The first addition is a new Template column in the budget table for both envelope and tracking budgets. It shows template totals at the overall and group level, lets users edit a single category’s template directly in the grid, and uses those template values consistently when rendering goal/balance states. To support that, the branch adds backend actions for setting a single category template and fetching computed template goal previews for a given month. The second addition is a per-category progress bar shown below expense rows. The bar visualizes spending against the assigned budget, supports template-aware underfunded states, shows overspending with a separate overflow segment, and exposes a tooltip with budget/template/spent/balance details. There is also a new budget-page titlebar toggle to show or hide these progress bars, with the preference stored globally. In addition to the feature work, the branch includes supporting polish and fixes such as tooltip wrapper styling support, improved template note validation/error handling, and tests covering progress bar calculation and rendering. ## Related issue(s) Relates to #2965: Progress bar for targets/templates ## Testing New Feature. Ran yarn and vibe-coded tests. ## Checklist - [x] Release notes added (see link above) - [x] No obvious regressions in affected areas - [ ] Self-review has been performed - I understand what each change in the code does and why it is needed --> **help from the community is needed as this was vibe-coded** <!--- actual-bot-sections ---> --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
GiteaMirror added the pull-request label 2026-04-23 14:16:46 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/actual#41488