import 'package:flutter/material.dart'; import '../services/mqtt_service.dart'; import '../theme/app_theme.dart'; /// 10px circle indicating MQTT connection status. class StatusDot extends StatelessWidget { final ConnectionStatus status; const StatusDot({super.key, required this.status}); Color get _color { switch (status) { case ConnectionStatus.connected: return AppColors.connected; case ConnectionStatus.connecting: case ConnectionStatus.reconnecting: return AppColors.connecting; case ConnectionStatus.disconnected: return AppColors.disconnected; } } String get _tooltip { switch (status) { case ConnectionStatus.connected: return 'Connected'; case ConnectionStatus.connecting: return 'Connecting...'; case ConnectionStatus.reconnecting: return 'Reconnecting...'; case ConnectionStatus.disconnected: return 'Disconnected'; } } @override Widget build(BuildContext context) { return Tooltip( message: _tooltip, child: Container( width: 10, height: 10, decoration: BoxDecoration( color: _color, shape: BoxShape.circle, boxShadow: [ BoxShadow( color: _color.withAlpha(100), blurRadius: 4, spreadRadius: 1, ), ], ), ), ); } }