import 'package:flutter/material.dart';

class ESenseConnectDialog extends StatefulWidget {
  final void Function(String) connect;
  final ValueNotifier<String> deviceStatus;
  const ESenseConnectDialog(
      {super.key, required this.deviceStatus, required this.connect});

  @override
  State<ESenseConnectDialog> createState() => _ESenseConnectDialogState();
}

class _ESenseConnectDialogState extends State<ESenseConnectDialog> {
  String eSenseDeviceName = '';

  @override
  Widget build(BuildContext context) {
    return AlertDialog(
      title: const Text('Connect to ESense'),
      content: Column(mainAxisSize: MainAxisSize.min, children: [
        TextField(
          onChanged: (input) {
            setState(() {
              eSenseDeviceName = input;
            });
          },
          decoration: InputDecoration(
            border: OutlineInputBorder(),
            hintText: 'eSense-xxxx',
            labelText: 'Device name',
          ),
        ),
        // Text(eSenseDeviceName),
        ValueListenableBuilder(
            valueListenable: widget.deviceStatus,
            builder: (BuildContext context, String value, Widget? child) {
              return Text(value);
            }),
      ]),
      actions: <Widget>[
        TextButton(
          onPressed: () => Navigator.pop(context, 'Cancel'),
          child: const Text('Close'),
        ),
        TextButton(
          onPressed: () => widget.connect(eSenseDeviceName),
          child: const Text('Connect'),
        ),
      ],
    );
  }
}
