summaryrefslogtreecommitdiffstats
path: root/lib/widgets/right_climate.dart
diff options
context:
space:
mode:
Diffstat (limited to 'lib/widgets/right_climate.dart')
-rw-r--r--lib/widgets/right_climate.dart65
1 files changed, 65 insertions, 0 deletions
diff --git a/lib/widgets/right_climate.dart b/lib/widgets/right_climate.dart
new file mode 100644
index 0000000..590b511
--- /dev/null
+++ b/lib/widgets/right_climate.dart
@@ -0,0 +1,65 @@
+// 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/provider.dart';
+import 'package:numberpicker/numberpicker.dart';
+
+import '../kuksa-server/vehicle_methods.dart';
+import '../size.dart';
+
+class RightClimateScrollWidget extends ConsumerWidget {
+ RightClimateScrollWidget({Key? key, required this.socket}) : super(key: key);
+
+ WebSocket socket;
+
+ @override
+ Widget build(BuildContext context, ref) {
+ final int _selectedTemp = ref.watch(RightClimateTempProvider);
+
+ return SizedBox(
+ width: SizeConfig.screenWidth * 0.25,
+ height: SizeConfig.screenHeight * 0.30,
+ child: Container(
+ decoration: BoxDecoration(
+ border: Border.all(
+ color: Colors.white,
+ width: 2,
+ ),
+ borderRadius: BorderRadius.circular(12),
+ ),
+ child: NumberPicker(
+ minValue: 16,
+ maxValue: 33,
+ itemHeight: 100,
+ itemCount: 5,
+ value: _selectedTemp,
+ textMapper: (value) {
+ return value.toString() + '°';
+ },
+ onChanged: (value) {
+ ref.read(RightClimateTempProvider.notifier).update(value);
+ VISS.set(
+ socket,
+ ref,
+ 'Vehicle.Cabin.HVAC.Station.Row1.Right.Temperature',
+ value.toString());
+ VISS.set(
+ socket,
+ ref,
+ 'Vehicle.Cabin.HVAC.Station.Row2.Right.Temperature',
+ value.toString());
+ },
+ selectedTextStyle: TextStyle(
+ color: Colors.lightBlueAccent,
+ fontWeight: FontWeight.w700,
+ fontSize: SizeConfig.fontsize * 4,
+ ),
+ textStyle: TextStyle(
+ color: Colors.white54,
+ fontWeight: FontWeight.w700,
+ fontSize: SizeConfig.fontsize * 4,
+ ))));
+ }
+}