Feedback fixes for home screen and setting screen#383
Conversation
|
Here's my review of PR #383: Feedback fixes for home screen and setting screen. OverallClean UI polish PR -- font size bumps in settings, balance-hidden persistence, trailing divider fix, and layout adjustments. One bug to fix and some DRY opportunities. Bug
|
| Category | Items |
|---|---|
| Bug | isLastItem uses index == 4 instead of comparing to actual list length |
| DRY | Title/subtitle Column duplicated across 4 settings item builders |
| Minor | Unawaited async in toggleBalanceHidden; near-invisible separator opacity; fixed-height balance box |
| Layout | GradientBackground scope intentionally expanded (looks correct) |
The only blocking item is the isLastItem bug -- the rest are improvements that could be addressed now or in a follow-up.
…s-Network/quantus-apps into beast/fix-home-screen
…s-Network/quantus-apps into beast/fix-home-screen
…s-Network/quantus-apps into beast/fix-home-screen
…twork/quantus-apps into beast/fix-home-screen
…s-Network/quantus-apps into beast/fix-home-screen
|
Great, the latest version has addressed several of the previous issues. Here's the updated review: PR #383 Re-Review (latest)Nice improvements since the last version! The A few remaining items: Bug:
|
| Severity | Item | Status |
|---|---|---|
| Bug | IsBalanceHiddenNotifier ignores persisted value on init |
New finding |
| Minor | isBalanceHiddenProvider watched twice in same build |
Nitpick |
| Minor | Positional booleans in buildTxItem |
Carried over |
| Nit | Magic number 96, very faint separator | Carried over |
isLastItem hardcoded to 4 |
Fixed | |
| Fixed | ||
| Fixed | ||
Fixed (extracted _itemContent) |
The super(false) bug is the main actionable item - a user who hides their balance will see it flash visible on every app restart. Everything else looks good!
n13
left a comment
There was a problem hiding this comment.
PR #383 Review — Feedback fixes for home screen and setting screen
Branch: beast/fix-home-screen → beast/remote-notification
Files changed: 8 (7 modified + 1 new provider)
Reviewed: 2026-02-16
Summary
This PR addresses feedback on the home screen and settings screen. The changes include:
- Persisting balance hidden state via
SettingsService+ a RiverpodStateNotifier - Hiding tx amounts/addresses in activity lists when balance is hidden
- Removing the trailing divider on the last transaction item
- Moving
GradientBackgroundup the tree so it covers the activity section - Fixed-height balance container to prevent layout shift on toggle
- Font size bump across all settings screen item builders
- DRY extraction of
_itemContentin settings screen - New
txItemSeparatortheme color
Verdict: Approve with minor suggestions
Everything looks solid. Previous issues (init bug, positional booleans, DRY, async handling, isLastItem logic) have all been addressed. Only minor suggestions remain.
Minor suggestions
1. Redundant isBalanceHidden getter on IsBalanceHiddenNotifier
The notifier exposes both state (via ref.watch) and a separate isBalanceHidden getter that reads directly from SettingsService. Since super(_settingsService.isBalanceHidden()) now correctly initializes state, the getter is only used in one place — toggleBalanceHidden:
await isBalanceHiddenNotifier.setIsBalanceHidden(!isBalanceHiddenNotifier.isBalanceHidden);This could use state directly instead:
await isBalanceHiddenNotifier.setIsBalanceHidden(!isBalanceHiddenNotifier.state);Then the getter can be removed, keeping the notifier's API surface minimal — state is the single source of truth.
2. SizedBox(height: 96) for balance area
This fixed height prevents layout shift when toggling the ≈ $0.00 line — good idea. Worth considering making it a named constant (e.g. static const _balanceAreaHeight = 96.0) so it's clear this is intentional and easy to find if text styles change later.
3. txItemSeparator opacity
Color(0x05FFFFFF) is ~2% white opacity — extremely subtle. Likely intentional for a very soft divider, but worth a quick sanity check on a physical device to make sure it's actually visible and not effectively invisible.
4. "View All" underline gap technique
The transparent-color-with-shadow approach is a well-known Flutter workaround for controlling underline offset. It works, but is non-obvious to someone reading the code for the first time. A one-line comment like // Shadow trick to create gap between text and underline would help.
What was fixed since last review
| Item | Status |
|---|---|
IsBalanceHiddenNotifier ignoring persisted value on init (super(false)) |
Fixed — now super(_settingsService.isBalanceHidden()) |
isLastItem hardcoded to index == 4 in activity_section |
Fixed — now uses recentTransactions.length - 1 |
Positional booleans in buildTxItem |
Fixed — now named parameters (isBalanceHidden:, isLastItem:) |
Inconsistent SettingsService access (direct vs provider) |
Fixed — uses isBalanceHiddenProvider everywhere |
Unawaited async setBalanceHidden |
Fixed — toggleBalanceHidden is now async/await |
| DRY violation in settings item builders | Fixed — extracted _itemContent helper |
ref.watch called twice for same provider in one build |
Fixed — read once in build, passed down to _buildTopBar and _buildBalance |
n13
left a comment
There was a problem hiding this comment.
Approved with minor suggestions up there - pick and choose
* feat: finish initial setup remote notification * Add necessary permission to iOS * Add firebase configurations * Add FCM service * Add senoti service to register device * fix: repeating pattern of handling tx intent * chore: remove unused method in senoti service * chore: remove unused method + refactor method used * fix: bad data handling for remote notification twice shown in notification system * fix: add firebase credentials to gitignore * fix: possible crashing in serializing FCM message * fix: better data typing for method and refactor intent consuming * chore: put remote notification under feature flag * chore: turn off remote notification * chore: remove unnecessary print * fix: potential crashing on register device * chore: remove unused print * Feedback fixes for home screen and setting screen (#383) * feat: make balance view no layout shifting on hide * chore: adjust margin bottom * feat: hide amount in tx history * feat: properly display tx divider * feat: adjust spacing between TX history * fix: make tx item separator less prominent * fix: make underline less prominent & spacing between underline and text * fix: background seamless gradient * fix: setting screen text styling * fix: buggy isLastItem logic * fix: extract repeating pattern into a method * Turn off remote notifications feature * feat: refactor access to isBalanceHidden to use provider for reusability * fix: not loading persisted value * feat: make boolean named param * feat: pass value to method widget instead of double watch provider * feat: improve readability, and remove redundant getter
Summary
Fix all issues mentioned in home screen and setting screen. Also fix trailing divider on last tx item.
Fixed on iPhone 8 simulator.
Screenshots