diff options
Diffstat (limited to 'lib/widgets')
| -rw-r--r-- | lib/widgets/connection_status_button.dart | 36 | 
1 files changed, 36 insertions, 0 deletions
| diff --git a/lib/widgets/connection_status_button.dart b/lib/widgets/connection_status_button.dart new file mode 100644 index 0000000..ce3e662 --- /dev/null +++ b/lib/widgets/connection_status_button.dart @@ -0,0 +1,36 @@ +import 'package:flutter/material.dart'; +import 'package:sense_the_rhythm/utils/esense_input.dart'; +import 'package:sense_the_rhythm/widgets/esense_connect_dialog.dart'; + +class ConnectionStatusButton extends StatelessWidget { +  final String deviceStatus; +  const ConnectionStatusButton( +    this.deviceStatus, { +    super.key, +  }); + +  @override +  Widget build(BuildContext context) { +    return FilledButton.icon( +        style: ButtonStyle( +            backgroundColor: WidgetStateProperty.all( +                ESenseInput.instance.connected ? Colors.green : Colors.grey), +            padding: +                WidgetStateProperty.all(EdgeInsets.symmetric(horizontal: 8.0))), +        onPressed: () => showDialog( +              context: context, +              builder: (BuildContext context) { +                return ESenseConnectDialog( +                    deviceStatus: ESenseInput.instance.deviceStatus, +                    connect: (String name) { +                      ESenseInput.instance.connectToESense(name); +                    }); +              }, +            ), +        label: Text(deviceStatus), +        iconAlignment: IconAlignment.end, +        icon: Icon(ESenseInput.instance.connected +            ? Icons.bluetooth_connected +            : Icons.bluetooth)); +  } +} | 
