Files
sure/mobile/lib
Lazy Bone cd601f1c2e Fix home page double AppBar inconsistency with settings/more pages (#1250)
* Move debug logs button from Home to Settings page, remove refresh/logout from Home AppBar

- Remove Debug Logs, Refresh, and Sign Out buttons from DashboardScreen AppBar
- Add Debug Logs ListTile entry in SettingsScreen under app info section
- Remove unused _handleLogout method from DashboardScreen
- Remove unused log_viewer_screen.dart import from DashboardScreen

https://claude.ai/code/session_017XQZdaEwUuRS75tJMcHzB9

* Fix home page double AppBar inconsistency with settings/more pages

The DashboardScreen had its own AppBar with a sync success icon, while
MainNavigationScreen already provides a shared AppBar (logo + settings)
for all tabs. This caused the home page to render a double top bar,
inconsistent with the settings and more screens which have no extra
AppBar. Remove the dashboard's AppBar and move the sync indicator into
the body as an inline banner.

https://claude.ai/code/session_0155XXsvt5zKLBpasmdkhPiF

* Fix sync success cloud icon not appearing after sync

The cloud icon only showed when pending transaction count decreased
(local→server uploads). For normal pull-to-refresh syncs that download
from server, pendingCount stays at 0 so the icon never triggered.

Fix by also detecting when TransactionsProvider.isLoading transitions
from true to false (any sync completion), and by triggering the icon
directly after successful manual sync instead of showing a redundant
snackbar.

https://claude.ai/code/session_0155XXsvt5zKLBpasmdkhPiF

* Address PR review: fix Timer leak, sync error check, false triggers

1. Timer leak (CodeRabbit): Replace Future.delayed with a cancellable
   Timer field (_syncSuccessTimer). Cancel existing timer before
   starting a new one, and clean up in dispose().

2. Sync error not checked (CodeRabbit): _performManualSync now checks
   transactionsProvider.error after syncTransactions() returns. Shows
   error SnackBar on failure instead of false success indicator.

3. False positive triggers (Codex): Remove isLoading transition
   detection from _onTransactionsChanged since isLoading also toggles
   for fetchTransactions (non-sync paths). Keep only pendingDecreased
   for background sync detection; manual sync uses direct call path.

https://claude.ai/code/session_0155XXsvt5zKLBpasmdkhPiF

* Update mobile/lib/screens/dashboard_screen.dart

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Signed-off-by: Lazy Bone <89256478+dwvwdv@users.noreply.github.com>

---------

Signed-off-by: Lazy Bone <89256478+dwvwdv@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2026-03-23 10:53:24 +01:00
..