@@ -219,7 +219,7 @@ class _DashboardScreenState extends State<DashboardScreen> with SingleTickerProv
219219 crossAxisAlignment: CrossAxisAlignment .start,
220220 children: [
221221 Text (
222- wallet.type == WalletType .seed ? 'Modern Web- Wallet' : 'Legacy Web- Wallet' ,
222+ wallet.type == WalletType .seed ? 'Modern Seed Phrase Wallet' : 'Legacy WIF Wallet' ,
223223 style: const TextStyle (color: Colors .white54, fontSize: 14 ),
224224 ),
225225 const SizedBox (height: 4 ),
@@ -233,7 +233,14 @@ class _DashboardScreenState extends State<DashboardScreen> with SingleTickerProv
233233 ],
234234 ),
235235 IconButton (
236- onPressed: provider.refreshBalance,
236+ onPressed: () {
237+ provider.refreshBalance ();
238+ setState (() {
239+ _priceLoading = true ;
240+ _priceData = null ;
241+ });
242+ _fetchPrice ();
243+ },
237244 icon: const Icon (Icons .refresh_rounded),
238245 tooltip: 'Refresh Balance' ,
239246 ),
@@ -372,16 +379,22 @@ class _DashboardScreenState extends State<DashboardScreen> with SingleTickerProv
372379 // Right: price widget
373380 ClipRRect (
374381 borderRadius: BorderRadius .circular (16 ),
375- child: _buildFloatingPriceWidget (wallet.totalBalance),
382+ child: Tooltip (
383+ message: _priceData != null
384+ ? 'Price updated from LiveCoinWatch\n '
385+ '• 24h change: ${_priceData !.changePercent24h .toStringAsFixed (2 )}%'
386+ : 'Price data unavailable' ,
387+ child: _buildFloatingPriceWidget (wallet.totalBalance),
388+ ),
376389 ),
377390 ],
378391 ),
379392 const SizedBox (height: 24 ),
380393 Row (
381394 children: [
382- _buildActionButton (Icons .arrow_upward_rounded, 'Send' , () => _tabController.index = 1 ),
395+ _buildActionButton (Icons .arrow_upward_rounded, 'Send' , () => _tabController.index = 1 , tooltip : 'Send coins' ),
383396 const SizedBox (width: 12 ),
384- _buildActionButton (Icons .arrow_downward_rounded, 'Receive' , () => _tabController.index = 2 ),
397+ _buildActionButton (Icons .arrow_downward_rounded, 'Receive' , () => _tabController.index = 2 , tooltip : 'Receive coins' ),
385398 ],
386399 ),
387400 ],
@@ -483,7 +496,7 @@ class _DashboardScreenState extends State<DashboardScreen> with SingleTickerProv
483496 )
484497 else
485498 const Text (
486- 'N/A ' ,
499+ 'data unavailable ' ,
487500 style: TextStyle (color: Colors .white54, fontSize: 14 ),
488501 ),
489502 ],
@@ -492,8 +505,10 @@ class _DashboardScreenState extends State<DashboardScreen> with SingleTickerProv
492505 );
493506 }
494507
495- Widget _buildActionButton (IconData icon, String label, VoidCallback onTap) {
496- return ElevatedButton .icon (
508+ Widget _buildActionButton (IconData icon, String label, VoidCallback onTap, {String ? tooltip}) {
509+ return Tooltip (
510+ message: tooltip ?? label,
511+ child: ElevatedButton .icon (
497512 onPressed: onTap,
498513 icon: Icon (icon, size: 18 ),
499514 label: Text (label),
@@ -503,8 +518,9 @@ class _DashboardScreenState extends State<DashboardScreen> with SingleTickerProv
503518 elevation: 0 ,
504519 padding: const EdgeInsets .symmetric (horizontal: 20 , vertical: 12 ),
505520 ),
506- );
507- }
521+ ),
522+ );
523+ }
508524
509525 Widget _buildAssetItem (String symbol, String name, double balance, String iconPath) {
510526 return Card (
0 commit comments