Initial commit
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import '../../../shared/utils/format_utils.dart';
|
||||
import '../services/network_speed_monitor.dart';
|
||||
|
||||
class NetworkSpeedIndicator extends StatelessWidget {
|
||||
const NetworkSpeedIndicator({super.key, required this.monitor});
|
||||
|
||||
final NetworkSpeedMonitor monitor;
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return ValueListenableBuilder<bool>(
|
||||
valueListenable: monitor.available,
|
||||
builder: (context, available, _) {
|
||||
return ValueListenableBuilder<double>(
|
||||
valueListenable: monitor.speed,
|
||||
builder: (context, speed, _) {
|
||||
final speedText = available ? formatDownloadSpeed(speed) : '--';
|
||||
return Container(
|
||||
padding: const EdgeInsets.symmetric(horizontal: 8, vertical: 4),
|
||||
decoration: BoxDecoration(
|
||||
color: Colors.black54,
|
||||
borderRadius: BorderRadius.circular(4),
|
||||
),
|
||||
child: Text(
|
||||
speedText,
|
||||
style: const TextStyle(
|
||||
color: Colors.white70,
|
||||
fontSize: 12,
|
||||
fontFeatures: [FontFeature.tabularFigures()],
|
||||
),
|
||||
),
|
||||
);
|
||||
},
|
||||
);
|
||||
},
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user