[PR #6551] [MERGED] [fix] improves UX of notifications for mobile devices #41026

Closed
opened 2026-04-23 13:49:35 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/actualbudget/actual/pull/6551
Author: @danielkerwin
Created: 1/5/2026
Status: Merged
Merged: 1/7/2026
Merged by: @MatissJanis

Base: masterHead: fix/refactor-notification-UX


📝 Commits (10+)

📊 Changes

39 files changed (+151 additions, -71 deletions)

View changed files

📝 packages/desktop-client/e2e/budget.mobile.test.ts (+2 -2)
📝 packages/desktop-client/e2e/budget.mobile.test.ts-snapshots/Mobile-Budget-Envelope-applies-budget-template-1-chromium-linux.png (+0 -0)
📝 packages/desktop-client/e2e/budget.mobile.test.ts-snapshots/Mobile-Budget-Envelope-applies-budget-template-2-chromium-linux.png (+0 -0)
📝 packages/desktop-client/e2e/budget.mobile.test.ts-snapshots/Mobile-Budget-Envelope-applies-budget-template-3-chromium-linux.png (+0 -0)
📝 packages/desktop-client/e2e/budget.mobile.test.ts-snapshots/Mobile-Budget-Envelope-copies-last-month-s-budget-1-chromium-linux.png (+0 -0)
📝 packages/desktop-client/e2e/budget.mobile.test.ts-snapshots/Mobile-Budget-Envelope-copies-last-month-s-budget-2-chromium-linux.png (+0 -0)
📝 packages/desktop-client/e2e/budget.mobile.test.ts-snapshots/Mobile-Budget-Envelope-copies-last-month-s-budget-3-chromium-linux.png (+0 -0)
📝 packages/desktop-client/e2e/budget.mobile.test.ts-snapshots/Mobile-Budget-Envelope-set-budget-to-12-month-average-1-chromium-linux.png (+0 -0)
📝 packages/desktop-client/e2e/budget.mobile.test.ts-snapshots/Mobile-Budget-Envelope-set-budget-to-12-month-average-2-chromium-linux.png (+0 -0)
📝 packages/desktop-client/e2e/budget.mobile.test.ts-snapshots/Mobile-Budget-Envelope-set-budget-to-12-month-average-3-chromium-linux.png (+0 -0)
📝 packages/desktop-client/e2e/budget.mobile.test.ts-snapshots/Mobile-Budget-Envelope-set-budget-to-3-month-average-1-chromium-linux.png (+0 -0)
📝 packages/desktop-client/e2e/budget.mobile.test.ts-snapshots/Mobile-Budget-Envelope-set-budget-to-3-month-average-2-chromium-linux.png (+0 -0)
📝 packages/desktop-client/e2e/budget.mobile.test.ts-snapshots/Mobile-Budget-Envelope-set-budget-to-3-month-average-3-chromium-linux.png (+0 -0)
📝 packages/desktop-client/e2e/budget.mobile.test.ts-snapshots/Mobile-Budget-Envelope-set-budget-to-6-month-average-1-chromium-linux.png (+0 -0)
📝 packages/desktop-client/e2e/budget.mobile.test.ts-snapshots/Mobile-Budget-Envelope-set-budget-to-6-month-average-2-chromium-linux.png (+0 -0)
📝 packages/desktop-client/e2e/budget.mobile.test.ts-snapshots/Mobile-Budget-Envelope-set-budget-to-6-month-average-3-chromium-linux.png (+0 -0)
📝 packages/desktop-client/e2e/budget.mobile.test.ts-snapshots/Mobile-Budget-Envelope-updates-the-budgeted-amount-1-chromium-linux.png (+0 -0)
📝 packages/desktop-client/e2e/budget.mobile.test.ts-snapshots/Mobile-Budget-Envelope-updates-the-budgeted-amount-2-chromium-linux.png (+0 -0)
📝 packages/desktop-client/e2e/budget.mobile.test.ts-snapshots/Mobile-Budget-Envelope-updates-the-budgeted-amount-3-chromium-linux.png (+0 -0)
📝 packages/desktop-client/e2e/budget.mobile.test.ts-snapshots/Mobile-Budget-Tracking-applies-budget-template-1-chromium-linux.png (+0 -0)

...and 19 more files

📄 Description

resolves #6539

Summary

Transformed the notification system from vertical stacking to z-axis layered stacking for a more modern, space-efficient design.

Key Changes

Visual Design:

  • Notifications now stack on the z-axis with a "card deck" effect
  • Only top 3 notifications visible (newest at front, older ones scale behind)
  • Progressive scaling (5% per level), and vertical offset (-20px) for depth (opacity option provided but not used for now)
  • Added 8px border radius for softer appearance
  • Smooth animations when notifications are dismissed and transition forward

Layout Improvements:

  • Repositioned close button to persistent top-right corner
  • Action button now appears on the same row as message text (right-aligned)
  • Better use of horizontal space

Interactivity:

  • Only the front notification is interactive (swipe-to-dismiss)
  • Background notifications have reduced pointer events
  • Maintains existing swipe gesture functionality

Configuration:
All stacking parameters exposed as constants for easy customization:

  • MAX_VISIBLE_NOTIFICATIONS - number of stacked notifications (default: 3)
  • SCALE_MULTIPLIER - scale reduction per level (default: 0.05)
  • OPACITY_MULTIPLIER - opacity reduction per level (default: 0.2)
  • MIN_OPACITY - minimum opacity for stacked notifications (default: 1.0)
  • Y_OFFSET_PER_LEVEL - vertical peek offset (default: -20px)
  • BASE_Z_INDEX - base z-index for stacking (default: 10)
Screenshot 2026-01-05 at 12 15 05 pm

🔄 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/6551 **Author:** [@danielkerwin](https://github.com/danielkerwin) **Created:** 1/5/2026 **Status:** ✅ Merged **Merged:** 1/7/2026 **Merged by:** [@MatissJanis](https://github.com/MatissJanis) **Base:** `master` ← **Head:** `fix/refactor-notification-UX` --- ### 📝 Commits (10+) - [`01df419`](https://github.com/actualbudget/actual/commit/01df41966ddb9ee0e4f78b99dbc77680a27e23ce) fix: implements z-axis stacked notifications and style improvements, resolves #6539 - [`ed18628`](https://github.com/actualbudget/actual/commit/ed1862837035aabac88e6d67b4c8176c18c39493) [autofix.ci] apply automated fixes - [`f31676f`](https://github.com/actualbudget/actual/commit/f31676f498b0c5a218f66aab937c5734b9d52e64) chore: add release notes - [`8a2c663`](https://github.com/actualbudget/actual/commit/8a2c66340a3c0a26f5b853877a04ba64f050fef4) Merge branch 'fix/refactor-notification-UX' of https://github.com/danielkerwin/actual-budget into fix/refactor-notification-UX - [`c805e79`](https://github.com/actualbudget/actual/commit/c805e7902723cd6178459e05bff57d5fa2da51df) Update VRT screenshots - [`b6571bc`](https://github.com/actualbudget/actual/commit/b6571bcf56016660db5959fe5843b214d192ae44) Merge branch 'master' into fix/refactor-notification-UX - [`88701cb`](https://github.com/actualbudget/actual/commit/88701cbb2e741fb1135dea53b8e9653ce4e6c9bd) Merge branch 'master' into fix/refactor-notification-UX - [`6f9669f`](https://github.com/actualbudget/actual/commit/6f9669f77de844a8119da8cc1ff5564e56262217) chore: remove opacity - [`4c453a2`](https://github.com/actualbudget/actual/commit/4c453a2331d51d2ffad5896c7d4a0a2343a7bd94) Merge branch 'fix/refactor-notification-UX' of https://github.com/danielkerwin/actual-budget into fix/refactor-notification-UX - [`4ad81b2`](https://github.com/actualbudget/actual/commit/4ad81b20db80f0a4aced0415a0108bf7829c2c1b) [autofix.ci] apply automated fixes ### 📊 Changes **39 files changed** (+151 additions, -71 deletions) <details> <summary>View changed files</summary> 📝 `packages/desktop-client/e2e/budget.mobile.test.ts` (+2 -2) 📝 `packages/desktop-client/e2e/budget.mobile.test.ts-snapshots/Mobile-Budget-Envelope-applies-budget-template-1-chromium-linux.png` (+0 -0) 📝 `packages/desktop-client/e2e/budget.mobile.test.ts-snapshots/Mobile-Budget-Envelope-applies-budget-template-2-chromium-linux.png` (+0 -0) 📝 `packages/desktop-client/e2e/budget.mobile.test.ts-snapshots/Mobile-Budget-Envelope-applies-budget-template-3-chromium-linux.png` (+0 -0) 📝 `packages/desktop-client/e2e/budget.mobile.test.ts-snapshots/Mobile-Budget-Envelope-copies-last-month-s-budget-1-chromium-linux.png` (+0 -0) 📝 `packages/desktop-client/e2e/budget.mobile.test.ts-snapshots/Mobile-Budget-Envelope-copies-last-month-s-budget-2-chromium-linux.png` (+0 -0) 📝 `packages/desktop-client/e2e/budget.mobile.test.ts-snapshots/Mobile-Budget-Envelope-copies-last-month-s-budget-3-chromium-linux.png` (+0 -0) 📝 `packages/desktop-client/e2e/budget.mobile.test.ts-snapshots/Mobile-Budget-Envelope-set-budget-to-12-month-average-1-chromium-linux.png` (+0 -0) 📝 `packages/desktop-client/e2e/budget.mobile.test.ts-snapshots/Mobile-Budget-Envelope-set-budget-to-12-month-average-2-chromium-linux.png` (+0 -0) 📝 `packages/desktop-client/e2e/budget.mobile.test.ts-snapshots/Mobile-Budget-Envelope-set-budget-to-12-month-average-3-chromium-linux.png` (+0 -0) 📝 `packages/desktop-client/e2e/budget.mobile.test.ts-snapshots/Mobile-Budget-Envelope-set-budget-to-3-month-average-1-chromium-linux.png` (+0 -0) 📝 `packages/desktop-client/e2e/budget.mobile.test.ts-snapshots/Mobile-Budget-Envelope-set-budget-to-3-month-average-2-chromium-linux.png` (+0 -0) 📝 `packages/desktop-client/e2e/budget.mobile.test.ts-snapshots/Mobile-Budget-Envelope-set-budget-to-3-month-average-3-chromium-linux.png` (+0 -0) 📝 `packages/desktop-client/e2e/budget.mobile.test.ts-snapshots/Mobile-Budget-Envelope-set-budget-to-6-month-average-1-chromium-linux.png` (+0 -0) 📝 `packages/desktop-client/e2e/budget.mobile.test.ts-snapshots/Mobile-Budget-Envelope-set-budget-to-6-month-average-2-chromium-linux.png` (+0 -0) 📝 `packages/desktop-client/e2e/budget.mobile.test.ts-snapshots/Mobile-Budget-Envelope-set-budget-to-6-month-average-3-chromium-linux.png` (+0 -0) 📝 `packages/desktop-client/e2e/budget.mobile.test.ts-snapshots/Mobile-Budget-Envelope-updates-the-budgeted-amount-1-chromium-linux.png` (+0 -0) 📝 `packages/desktop-client/e2e/budget.mobile.test.ts-snapshots/Mobile-Budget-Envelope-updates-the-budgeted-amount-2-chromium-linux.png` (+0 -0) 📝 `packages/desktop-client/e2e/budget.mobile.test.ts-snapshots/Mobile-Budget-Envelope-updates-the-budgeted-amount-3-chromium-linux.png` (+0 -0) 📝 `packages/desktop-client/e2e/budget.mobile.test.ts-snapshots/Mobile-Budget-Tracking-applies-budget-template-1-chromium-linux.png` (+0 -0) _...and 19 more files_ </details> ### 📄 Description resolves #6539 ### Summary Transformed the notification system from vertical stacking to z-axis layered stacking for a more modern, space-efficient design. ### Key Changes **Visual Design:** - Notifications now stack on the z-axis with a "card deck" effect - Only top 3 notifications visible (newest at front, older ones scale behind) - Progressive scaling (5% per level), and vertical offset (-20px) for depth (opacity option provided but not used for now) - Added 8px border radius for softer appearance - Smooth animations when notifications are dismissed and transition forward **Layout Improvements:** - Repositioned close button to persistent top-right corner - Action button now appears on the same row as message text (right-aligned) - Better use of horizontal space **Interactivity:** - Only the front notification is interactive (swipe-to-dismiss) - Background notifications have reduced pointer events - Maintains existing swipe gesture functionality **Configuration:** All stacking parameters exposed as constants for easy customization: - `MAX_VISIBLE_NOTIFICATIONS` - number of stacked notifications (default: 3) - `SCALE_MULTIPLIER` - scale reduction per level (default: 0.05) - `OPACITY_MULTIPLIER` - opacity reduction per level (default: 0.2) - `MIN_OPACITY` - minimum opacity for stacked notifications (default: 1.0) - `Y_OFFSET_PER_LEVEL` - vertical peek offset (default: -20px) - `BASE_Z_INDEX` - base z-index for stacking (default: 10) <img width="331" height="470" alt="Screenshot 2026-01-05 at 12 15 05 pm" src="https://github.com/user-attachments/assets/086e5dfe-2e53-4793-bfa1-a99926a463a3" /> --- <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 13:49:35 -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#41026