import 'package:flutter/material.dart'; /// Statuszeile am unteren Bildschirmrand (HTML-Demonstrator: #bottomBar/ /// #statsRow). Antippen oeffnet die Wegpunktliste. Mission-/Drohnen-Name /// und der Send-Button sind bewusst nicht Teil dieses Schritts - die /// dafuer noetige Missionsverwaltung bzw. Upload-Anbindung existiert noch /// nicht. class BottomStatsBar extends StatelessWidget { const BottomStatsBar({ super.key, required this.waypointCount, required this.totalDistanceM, required this.totalDurationSec, required this.onTap, }); final int waypointCount; final double totalDistanceM; final double totalDurationSec; final VoidCallback onTap; @override Widget build(BuildContext context) { return SafeArea( top: false, child: Padding( padding: const EdgeInsets.symmetric(vertical: 10), child: Center( child: GestureDetector( onTap: onTap, child: Container( padding: const EdgeInsets.symmetric(horizontal: 18, vertical: 9), decoration: BoxDecoration( color: Colors.white.withValues(alpha: 0.12), borderRadius: BorderRadius.circular(20), ), child: Row( mainAxisSize: MainAxisSize.min, children: [ const Text( 'Details:', style: TextStyle( color: Colors.white70, fontWeight: FontWeight.w600, fontSize: 14, ), ), const SizedBox(width: 10), const Icon(Icons.flag, size: 14, color: Colors.white), const SizedBox(width: 4), Text('$waypointCount WP', style: const TextStyle(color: Colors.white, fontSize: 14)), const SizedBox(width: 14), const Icon(Icons.straighten, size: 14, color: Colors.white), const SizedBox(width: 4), Text('${totalDistanceM.round()} m', style: const TextStyle(color: Colors.white, fontSize: 14)), const SizedBox(width: 14), const Icon(Icons.access_time, size: 14, color: Colors.white), const SizedBox(width: 4), Text(_fmtDuration(totalDurationSec), style: const TextStyle(color: Colors.white, fontSize: 14)), ], ), ), ), ), ), ); } String _fmtDuration(double seconds) { final total = seconds.round(); final minutes = total ~/ 60; final secs = total % 60; return '$minutes:${secs.toString().padLeft(2, '0')}'; } }