diff options
Diffstat (limited to 'lib/widgets')
-rw-r--r-- | lib/widgets/child_lock.dart | 26 | ||||
-rw-r--r-- | lib/widgets/fuel_and_speed.dart | 44 | ||||
-rw-r--r-- | lib/widgets/weather.dart | 29 |
3 files changed, 50 insertions, 49 deletions
diff --git a/lib/widgets/child_lock.dart b/lib/widgets/child_lock.dart index c2efb0d..0de2350 100644 --- a/lib/widgets/child_lock.dart +++ b/lib/widgets/child_lock.dart @@ -1,21 +1,21 @@ // SPDX-License-Identifier: Apache-2.0 -import 'package:dashboard_app/size.dart'; -import 'package:flutter/src/foundation/key.dart'; -import 'package:flutter/src/widgets/framework.dart'; import 'package:flutter/material.dart'; +import 'package:flutter_riverpod/flutter_riverpod.dart'; +import 'package:dashboard_app/size.dart'; +import '../vehicle-signals/vss_providers.dart'; -class ChildLockStatus extends StatelessWidget { - bool isChildLockActiveLeft; - bool isChildLockActiveRight; - ChildLockStatus( - {Key? key, - required this.isChildLockActiveLeft, - required this.isChildLockActiveRight}) - : super(key: key); +class ChildLockStatus extends ConsumerWidget { + ChildLockStatus({Key? key}) : super(key: key); @override - Widget build(BuildContext context) { - return isChildLockActiveLeft && isChildLockActiveRight + Widget build(BuildContext context, WidgetRef ref) { + final vehicleLeftChildLockActive = + ref.watch(vehicleSignalLeftChildLockActiveProvider); + final vehicleRightChildLockActive = + ref.watch(vehicleSignalRightChildLockActiveProvider); + + return vehicleLeftChildLockActive.engaged && + vehicleRightChildLockActive.engaged ? Column( children: [ Text( diff --git a/lib/widgets/fuel_and_speed.dart b/lib/widgets/fuel_and_speed.dart index d5dd902..4e898e4 100644 --- a/lib/widgets/fuel_and_speed.dart +++ b/lib/widgets/fuel_and_speed.dart @@ -1,19 +1,18 @@ // SPDX-License-Identifier: Apache-2.0 -import 'package:dashboard_app/size.dart'; -import 'package:flutter/src/foundation/key.dart'; -import 'package:flutter/src/widgets/framework.dart'; import 'package:flutter/material.dart'; import 'package:percent_indicator/circular_percent_indicator.dart'; import 'package:percent_indicator/linear_percent_indicator.dart'; +import 'package:flutter_riverpod/flutter_riverpod.dart'; +import 'package:dashboard_app/size.dart'; +import '../vehicle-signals/vss_providers.dart'; -class SpeedAndFuel extends StatelessWidget { - double fuel; - double speed; - SpeedAndFuel({Key? key, required this.fuel, required this.speed}) - : super(key: key); +class SpeedAndFuel extends ConsumerWidget { + SpeedAndFuel({Key? key}) : super(key: key); @override - Widget build(BuildContext context) { + Widget build(BuildContext context, WidgetRef ref) { + final vehicleSpeed = ref.watch(vehicleSignalSpeedProvider); + final vehicleFuelLevel = ref.watch(vehicleSignalFuelLevelProvider); double width = MediaQuery.of(context).size.width; return SizedBox( width: width * 0.4, @@ -22,7 +21,7 @@ class SpeedAndFuel extends StatelessWidget { children: [ CircularPercentIndicator( radius: SizeConfig.fontsize * 1.6, - percent: speed / 300, + percent: vehicleSpeed.speed / 300, lineWidth: SizeConfig.fontsize / 2, backgroundColor: Color.fromARGB(255, 176, 213, 195), progressColor: Colors.lightBlueAccent, @@ -30,7 +29,7 @@ class SpeedAndFuel extends StatelessWidget { circularStrokeCap: CircularStrokeCap.round, animateFromLastPercent: true, center: Text( - speed.toInt().toString(), + vehicleSpeed.speed.toInt().toString(), style: SizeConfig.smallnormalfont, ), footer: Text( @@ -40,19 +39,19 @@ class SpeedAndFuel extends StatelessWidget { ), CircularPercentIndicator( radius: SizeConfig.fontsize * 1.6, - percent: fuel / 100, + percent: vehicleFuelLevel.level / 100, lineWidth: SizeConfig.fontsize / 2, backgroundColor: Colors.lightBlue.shade100, - progressColor: fuel < 25 + progressColor: vehicleFuelLevel.level < 25 ? Colors.redAccent - : fuel < 50 + : vehicleFuelLevel.level < 50 ? Colors.orange : Colors.green, animation: true, circularStrokeCap: CircularStrokeCap.round, animateFromLastPercent: true, center: Text( - fuel.toInt().toString() + ' %', + vehicleFuelLevel.level.toInt().toString() + ' %', style: SizeConfig.smallnormalfont, ), footer: Text( @@ -66,12 +65,13 @@ class SpeedAndFuel extends StatelessWidget { } } -class Rpm extends StatelessWidget { - double rpm; - Rpm({Key? key, required this.rpm}) : super(key: key); +class Rpm extends ConsumerWidget { + Rpm({Key? key}) : super(key: key); @override - Widget build(BuildContext context) { + Widget build(BuildContext context, WidgetRef ref) { + final vehicleEngineSpeed = ref.watch(vehicleSignalEngineSpeedProvider); + return SizedBox( height: SizeConfig.safeBlockVertical * 9, width: SizeConfig.safeBlockHorizontal * 35, @@ -90,14 +90,16 @@ class Rpm extends StatelessWidget { animateFromLastPercent: true, animation: true, animationDuration: 500, - percent: rpm > 9000 ? 9000 : rpm / 9000, + percent: vehicleEngineSpeed.speed > 9000 + ? 9000 + : vehicleEngineSpeed.speed / 9000, barRadius: Radius.circular(15), leading: Text( 'RPM', style: SizeConfig.smallnormalfont, ), trailing: Text( - rpm.toInt().toString(), + vehicleEngineSpeed.speed.toInt().toString(), style: SizeConfig.smallnormalfont2, ), ), diff --git a/lib/widgets/weather.dart b/lib/widgets/weather.dart index 0a593cc..73b7014 100644 --- a/lib/widgets/weather.dart +++ b/lib/widgets/weather.dart @@ -1,21 +1,17 @@ // SPDX-License-Identifier: Apache-2.0 -import 'package:dashboard_app/size.dart'; -import 'package:flutter/src/foundation/key.dart'; -import 'package:flutter/src/widgets/framework.dart'; - import 'package:flutter/material.dart'; +import 'package:flutter_riverpod/flutter_riverpod.dart'; +import 'package:dashboard_app/size.dart'; +import '../vehicle-signals/vss_providers.dart'; -class weather extends StatelessWidget { - int insideTemperatue; - int outsideTempearure; - weather( - {Key? key, - required this.insideTemperatue, - required this.outsideTempearure}) - : super(key: key); +class Weather extends ConsumerWidget { + Weather({Key? key}) : super(key: key); @override - Widget build(BuildContext context) { + Widget build(BuildContext context, WidgetRef ref) { + final vehicleInsideTemp = ref.watch(vehicleSignalInsideTempProvider); + final vehicleOutsideTemp = ref.watch(vehicleSignalOutsideTempProvider); + return Container( decoration: BoxDecoration( borderRadius: BorderRadius.circular(SizeConfig.safeBlockVertical * 2), @@ -60,7 +56,9 @@ class weather extends StatelessWidget { crossAxisAlignment: CrossAxisAlignment.start, children: [ Text('Inside', style: SizeConfig.smallnormalfont2), - Text(insideTemperatue.toString() + ' \u00B0', + Text( + vehicleInsideTemp.temp.toInt().toString() + + ' \u00B0', style: SizeConfig.normalfont), ], ), @@ -75,7 +73,8 @@ class weather extends StatelessWidget { style: SizeConfig.smallnormalfont2, ), Text( - outsideTempearure.toString() + ' \u00B0', + vehicleOutsideTemp.temp.toInt().toString() + + ' \u00B0', style: SizeConfig.normalfont, ), ], |