feat: Add refresh button for telemetry requests in contact details

This commit is contained in:
Janez T
2025-10-15 09:55:17 +02:00
parent 7320a876f0
commit 9b38d4d05e

View File

@@ -710,6 +710,9 @@ class _ContactTile extends StatelessWidget {
const SizedBox(height: 16), const SizedBox(height: 16),
], ],
if (contact.telemetry != null) ...[ if (contact.telemetry != null) ...[
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
const Text( const Text(
'Telemetry:', 'Telemetry:',
style: TextStyle( style: TextStyle(
@@ -717,6 +720,25 @@ class _ContactTile extends StatelessWidget {
fontSize: 16, fontSize: 16,
), ),
), ),
TextButton.icon(
onPressed: () {
final connectionProvider = context.read<ConnectionProvider>();
connectionProvider.requestTelemetry(contact.publicKey, zeroHop: true);
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(
content: Text('Requesting telemetry from ${contact.displayName}...'),
duration: const Duration(seconds: 2),
),
);
},
icon: const Icon(Icons.refresh, size: 18),
label: const Text('Refresh'),
style: TextButton.styleFrom(
padding: const EdgeInsets.symmetric(horizontal: 8, vertical: 4),
),
),
],
),
const SizedBox(height: 8), const SizedBox(height: 8),
if (contact.telemetry!.batteryMilliVolts != null) if (contact.telemetry!.batteryMilliVolts != null)
_DetailRow( _DetailRow(