import 'package:flutter/material.dart'; import 'package:vitalapp/pages/check/widgets/exam_device_connect_status/connect.dart'; import 'package:vitalapp/pages/check/widgets/exam_device_connect_status/connect_disconnected.dart'; import 'package:vitalapp/pages/check/widgets/exam_device_connect_status/connect_fail.dart'; import 'package:vitalapp/pages/check/widgets/exam_device_connect_status/connect_success.dart'; import 'package:vitalapp/pages/check/widgets/exam_device_connect_status/connect_unbound_device.dart'; import 'package:vitalapp/pages/medical/models/worker.dart'; class DeviceStatus extends StatefulWidget { const DeviceStatus({ super.key, this.connectStatus, }); final WorkerStatus? connectStatus; @override State<StatefulWidget> createState() { return _DeviceStatusState(); } } class _DeviceStatusState extends State<DeviceStatus> { WorkerStatus? _connectStatus; @override Widget build(BuildContext context) { return _buildContent(); } @override void initState() { _connectStatus = widget.connectStatus; super.initState(); } @override void didUpdateWidget(covariant DeviceStatus oldWidget) { if (_connectStatus != widget.connectStatus) { setState(() { _connectStatus = widget.connectStatus; }); } super.didUpdateWidget(oldWidget); } Widget _buildContent() { switch (_connectStatus) { case WorkerStatus.connectionFailed: return const DeviceConnectFail(); case WorkerStatus.connected: return const DeviceConnectSuccess(); case WorkerStatus.connecting: return const DeviceConnecting(); case WorkerStatus.disconnected: return const DeviceConnectDisconnected(); case WorkerStatus.unboundDevice: return const UnboundDevice(); default: return const SizedBox(); } } }