Skip to content

Commit 4e5f9dc

Browse files
committed
update: dashscreen tooltips
1 parent 0dc5940 commit 4e5f9dc

1 file changed

Lines changed: 26 additions & 10 deletions

File tree

lib/screens/dashboard_screen.dart

Lines changed: 26 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)