feat: implement sensor calibration flow

This commit is contained in:
2026-05-21 16:19:43 +02:00
parent acbba735a0
commit cf3019f484
9 changed files with 1370 additions and 8 deletions
@@ -4,6 +4,7 @@ import 'package:go_router/go_router.dart';
import '../../domain/models/sensor.dart';
import '../../providers.dart';
import 'calibration_sheet.dart';
void showSensorDetailSheet(BuildContext context, int sensorId) {
showModalBottomSheet<void>(
@@ -125,6 +126,10 @@ class _SensorDetailSheetState extends ConsumerState<SensorDetailSheet> {
}),
onSaveName: () => _saveName(sensor),
onPlace: () => _placeOnFloorPlan(context, sensor),
onCalibrate: () {
Navigator.of(context, rootNavigator: true).pop();
showCalibrationSheet(context, sensor.id, sensor.sensorId);
},
onDelete: () => _delete(context, sensor),
);
},
@@ -142,6 +147,7 @@ class _SheetBody extends StatelessWidget {
required this.onEditToggle,
required this.onSaveName,
required this.onPlace,
required this.onCalibrate,
required this.onDelete,
});
@@ -153,6 +159,7 @@ class _SheetBody extends StatelessWidget {
final VoidCallback onEditToggle;
final VoidCallback onSaveName;
final VoidCallback onPlace;
final VoidCallback onCalibrate;
final VoidCallback onDelete;
@override
@@ -226,6 +233,12 @@ class _SheetBody extends StatelessWidget {
onPressed: onPlace,
),
const SizedBox(height: 12),
OutlinedButton.icon(
icon: const Icon(Icons.radar),
label: const Text('Calibrate'),
onPressed: onCalibrate,
),
const SizedBox(height: 8),
OutlinedButton.icon(
icon: const Icon(Icons.bluetooth),
label: const Text('Reprovision'),