feat: grab sensor firmware version for detail sheet

This commit is contained in:
2026-05-20 19:43:15 +02:00
parent e0a3d5e481
commit acbba735a0
6 changed files with 49 additions and 12 deletions
@@ -89,6 +89,7 @@ class _SensorDetailSheetState extends ConsumerState<SensorDetailSheet> {
Widget build(BuildContext context) {
final sensorAsync = ref.watch(sensorProvider(widget.sensorId));
final roomsAsync = ref.watch(roomsProvider);
final versionAsync = ref.watch(sensorVersionProvider(widget.sensorId));
return sensorAsync.when(
loading: () => const SizedBox(
@@ -110,9 +111,12 @@ class _SensorDetailSheetState extends ConsumerState<SensorDetailSheet> {
?.name,
);
final version = versionAsync.whenOrNull(data: (v) => v);
return _SheetBody(
sensor: sensor,
roomName: roomName,
version: version,
editing: _editing,
nameCtrl: _nameCtrl,
onEditToggle: () => setState(() {
@@ -132,6 +136,7 @@ class _SheetBody extends StatelessWidget {
const _SheetBody({
required this.sensor,
required this.roomName,
required this.version,
required this.editing,
required this.nameCtrl,
required this.onEditToggle,
@@ -142,6 +147,7 @@ class _SheetBody extends StatelessWidget {
final Sensor sensor;
final String? roomName;
final String? version;
final bool editing;
final TextEditingController nameCtrl;
final VoidCallback onEditToggle;
@@ -210,6 +216,7 @@ class _SheetBody extends StatelessWidget {
? '(${sensor.x!.toStringAsFixed(2)}, ${sensor.y!.toStringAsFixed(2)})'
: 'Not placed',
),
_InfoRow(label: 'Firmware', value: version ?? ''),
const SizedBox(height: 24),
FilledButton.icon(
icon: Icon(Icons.my_location),