summaryrefslogtreecommitdiffstats
path: root/lib/presentation/screens/settings/settings_screens
diff options
context:
space:
mode:
Diffstat (limited to 'lib/presentation/screens/settings/settings_screens')
-rw-r--r--lib/presentation/screens/settings/settings_screens/units/distance/distance_unit_screen.dart11
-rw-r--r--lib/presentation/screens/settings/settings_screens/units/pressure/pressure_unit_screen.dart121
-rw-r--r--lib/presentation/screens/settings/settings_screens/units/units_screen.dart16
3 files changed, 141 insertions, 7 deletions
diff --git a/lib/presentation/screens/settings/settings_screens/units/distance/distance_unit_screen.dart b/lib/presentation/screens/settings/settings_screens/units/distance/distance_unit_screen.dart
index 3e9c135..3d84604 100644
--- a/lib/presentation/screens/settings/settings_screens/units/distance/distance_unit_screen.dart
+++ b/lib/presentation/screens/settings/settings_screens/units/distance/distance_unit_screen.dart
@@ -11,7 +11,6 @@ class DistanceUnitPage extends ConsumerWidget {
ref.watch(unitStateProvider.select((unit) => unit.distanceUnit));
return Scaffold(
-
body: Column(
children: [
CommonTitle(
@@ -48,13 +47,14 @@ class DistanceUnitPage extends ConsumerWidget {
contentPadding: const EdgeInsets.symmetric(
horizontal: 16.0, vertical: 40.0),
leading: Text(
- 'Kilometers',
+ 'kilometers',
style: Theme.of(context).textTheme.titleMedium,
),
//title: Text(widget.title),
//enabled: isSwitchOn,
trailing: unit == DistanceUnit.kilometers
- ? const Icon(Icons.done,
+ ? const Icon(
+ Icons.done,
color: AGLDemoColors.periwinkleColor,
size: 48,
)
@@ -90,13 +90,14 @@ class DistanceUnitPage extends ConsumerWidget {
contentPadding: const EdgeInsets.symmetric(
horizontal: 16.0, vertical: 40.0),
leading: Text(
- 'Miles',
+ 'miles',
style: Theme.of(context).textTheme.titleMedium,
),
//title: Text(widget.title),
//enabled: isSwitchOn,
trailing: unit == DistanceUnit.miles
- ? const Icon(Icons.done,
+ ? const Icon(
+ Icons.done,
color: AGLDemoColors.periwinkleColor,
size: 48,
)
diff --git a/lib/presentation/screens/settings/settings_screens/units/pressure/pressure_unit_screen.dart b/lib/presentation/screens/settings/settings_screens/units/pressure/pressure_unit_screen.dart
new file mode 100644
index 0000000..5be8a05
--- /dev/null
+++ b/lib/presentation/screens/settings/settings_screens/units/pressure/pressure_unit_screen.dart
@@ -0,0 +1,121 @@
+import 'package:flutter_ics_homescreen/export.dart';
+
+class PressureUnitPage extends ConsumerWidget {
+ const PressureUnitPage({super.key});
+
+ static Page<void> page() =>
+ const MaterialPage<void>(child: PressureUnitPage());
+ @override
+ Widget build(BuildContext context, WidgetRef ref) {
+ final unit =
+ ref.watch(unitStateProvider.select((unit) => unit.pressureUnit));
+
+ return Scaffold(
+ body: Column(
+ children: [
+ CommonTitle(
+ title: 'Pressure',
+ hasBackButton: true,
+ onPressed: () {
+ context.flow<AppState>().update((state) => AppState.units);
+ },
+ ),
+ Expanded(
+ child: Padding(
+ padding: const EdgeInsets.symmetric(vertical: 0, horizontal: 144),
+ child: ListView(
+ children: [
+ Container(
+ height: 130,
+ decoration: BoxDecoration(
+ gradient: LinearGradient(
+ begin: Alignment.centerLeft,
+ end: Alignment.centerRight,
+ stops: unit == PressureUnit.kilopascals
+ ? [0, 0.01, 0.8]
+ : [0.1, 1],
+ colors: unit == PressureUnit.kilopascals
+ ? <Color>[
+ Colors.white,
+ Colors.blue,
+ const Color.fromARGB(16, 41, 98, 255)
+ ]
+ : <Color>[Colors.black, Colors.black12]),
+ ),
+ child: ListTile(
+ minVerticalPadding: 0.0,
+ contentPadding: const EdgeInsets.symmetric(
+ horizontal: 16.0, vertical: 40.0),
+ leading: Text(
+ 'kilopascals',
+ style: Theme.of(context).textTheme.titleMedium,
+ ),
+ //title: Text(widget.title),
+ //enabled: isSwitchOn,
+ trailing: unit == PressureUnit.kilopascals
+ ? const Icon(
+ Icons.done,
+ color: AGLDemoColors.periwinkleColor,
+ size: 48,
+ )
+ : null,
+ onTap: () {
+ ref
+ .read(unitStateProvider.notifier)
+ .setPressureUnit(PressureUnit.kilopascals);
+ }),
+ ),
+ const SizedBox(
+ height: 5,
+ ),
+ Container(
+ height: 130,
+ decoration: BoxDecoration(
+ gradient: LinearGradient(
+ begin: Alignment.centerLeft,
+ end: Alignment.centerRight,
+ stops: unit == PressureUnit.psi
+ ? [0, 0.01, 0.8]
+ : [0.1, 1],
+ colors: unit == PressureUnit.psi
+ ? <Color>[
+ Colors.white,
+ Colors.blue,
+ const Color.fromARGB(16, 41, 98, 255)
+ ]
+ : <Color>[Colors.black, Colors.black12]),
+ ),
+ child: ListTile(
+ minVerticalPadding: 0.0,
+ contentPadding: const EdgeInsets.symmetric(
+ horizontal: 16.0, vertical: 40.0),
+ leading: Text(
+ 'PSI',
+ style: Theme.of(context).textTheme.titleMedium,
+ ),
+ //title: Text(widget.title),
+ //enabled: isSwitchOn,
+ trailing: unit == PressureUnit.psi
+ ? const Icon(
+ Icons.done,
+ color: AGLDemoColors.periwinkleColor,
+ size: 38,
+ )
+ : null,
+
+ onTap: () {
+ ref
+ .read(unitStateProvider.notifier)
+ .setPressureUnit(PressureUnit.psi);
+ },
+ ),
+ ),
+ ],
+ ),
+ ),
+ ),
+ ],
+ ),
+ );
+ }
+}
diff --git a/lib/presentation/screens/settings/settings_screens/units/units_screen.dart b/lib/presentation/screens/settings/settings_screens/units/units_screen.dart
index 1c6e37c..fde7505 100644
--- a/lib/presentation/screens/settings/settings_screens/units/units_screen.dart
+++ b/lib/presentation/screens/settings/settings_screens/units/units_screen.dart
@@ -30,8 +30,8 @@ class UnitsPage extends ConsumerWidget {
icon: Icons.calendar_month_outlined,
title: 'Distance',
unitName: unit.distanceUnit == DistanceUnit.kilometers
- ? 'Kilometers'
- : 'Miles',
+ ? 'kilometers'
+ : 'miles',
hasSwich: false,
voidCallback: () async {
context
@@ -50,6 +50,18 @@ class UnitsPage extends ConsumerWidget {
.flow<AppState>()
.update((next) => AppState.tempUnit);
}),
+ UnitsTile(
+ icon: Icons.straighten,
+ title: 'Pressure',
+ unitName: unit.pressureUnit == PressureUnit.kilopascals
+ ? 'kilopascals'
+ : 'PSI',
+ hasSwich: true,
+ voidCallback: () {
+ context
+ .flow<AppState>()
+ .update((next) => AppState.pressureUnit);
+ }),
],
),
),