diff --git a/lib/features/sensors/sensor_detail_sheet.dart b/lib/features/sensors/sensor_detail_sheet.dart index d4c1a41..97a2025 100644 --- a/lib/features/sensors/sensor_detail_sheet.dart +++ b/lib/features/sensors/sensor_detail_sheet.dart @@ -52,7 +52,7 @@ class _SensorDetailSheetState extends ConsumerState { context: context, builder: (ctx) => AlertDialog( title: const Text('Delete sensor?'), - content: const Text('This will unenrol the sensor from the system.'), + content: const Text('This will unenroll the sensor from the system.'), actions: [ TextButton( onPressed: () => Navigator.of(ctx).pop(false), @@ -88,6 +88,7 @@ class _SensorDetailSheetState extends ConsumerState { @override Widget build(BuildContext context) { final sensorAsync = ref.watch(sensorProvider(widget.sensorId)); + final roomsAsync = ref.watch(roomsProvider); return sensorAsync.when( loading: () => const SizedBox( @@ -102,8 +103,16 @@ class _SensorDetailSheetState extends ConsumerState { // Keep controller in sync when not actively editing. if (!_editing) _nameCtrl.text = sensor.name ?? ''; + final roomName = roomsAsync.whenOrNull( + data: (rooms) => rooms + .where((r) => r.id == sensor.roomId) + .firstOrNull + ?.name, + ); + return _SheetBody( sensor: sensor, + roomName: roomName, editing: _editing, nameCtrl: _nameCtrl, onEditToggle: () => setState(() { @@ -122,6 +131,7 @@ class _SensorDetailSheetState extends ConsumerState { class _SheetBody extends StatelessWidget { const _SheetBody({ required this.sensor, + required this.roomName, required this.editing, required this.nameCtrl, required this.onEditToggle, @@ -131,6 +141,7 @@ class _SheetBody extends StatelessWidget { }); final Sensor sensor; + final String? roomName; final bool editing; final TextEditingController nameCtrl; final VoidCallback onEditToggle; @@ -192,6 +203,7 @@ class _SheetBody extends StatelessWidget { ), const SizedBox(height: 16), _InfoRow(label: 'Device ID', value: sensor.sensorId), + _InfoRow(label: 'Room', value: roomName ?? '—'), _InfoRow( label: 'Position', value: sensor.isPlaced