// SPDX-License-Identifier: Apache-2.0 import 'dart:io'; import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_hvac/vehicle-signals/vss_provider.dart'; import 'package:flutter_hvac/vehicle-signals/vss_signal_providers.dart'; import 'package:flutter_hvac/vehicle-signals/vss_path.dart'; import '../size.dart'; class SliderControl extends ConsumerWidget { SliderControl({Key? key}) : super(key: key); @override Widget build(BuildContext context, ref) { return SizedBox( height: SizeConfig.safeBlockVertical * 2, width: SizeConfig.screenWidth * 0.5, child: Slider( value: ref.watch(fanSpeedProvider).toDouble(), onChanged: (value) { ref.read(fanSpeedProvider.notifier).update(value.toInt()); var vss = ref.read(vssClientProvider); if (vss != null) { vss.setUint32(VSSPath.vehicleFrontLeftFanSpeed, value.toInt()); vss.setUint32(VSSPath.vehicleFrontRightFanSpeed, value.toInt()); vss.setUint32(VSSPath.vehicleRearLeftFanSpeed, value.toInt()); vss.setUint32(VSSPath.vehicleRearRightFanSpeed, value.toInt()); } }, min: 0, max: 100, activeColor: Colors.green, inactiveColor: Colors.white70, thumbColor: Colors.grey, label: 'Fan Speed', ), ); } }