From 085674ee18f26a717ec817715abe0245ff37bbf1 Mon Sep 17 00:00:00 2001 From: zaid_daoud Date: Mon, 16 Oct 2023 09:13:59 +0300 Subject: [PATCH] adding radio buttons for theme --- lib/views/pages/user/land_page.dart | 100 +++++++++++++++++--------- lib/views/widgets/dialogs/dialog.dart | 10 +-- 2 files changed, 71 insertions(+), 39 deletions(-) diff --git a/lib/views/pages/user/land_page.dart b/lib/views/pages/user/land_page.dart index 01130c3..48bb599 100644 --- a/lib/views/pages/user/land_page.dart +++ b/lib/views/pages/user/land_page.dart @@ -6,19 +6,12 @@ import 'package:font_awesome_flutter/font_awesome_flutter.dart'; import 'package:package_info/package_info.dart'; import 'package:provider/provider.dart'; import 'package:share/share.dart'; -import 'package:test_sa/controllers/localization/localization.dart'; import 'package:test_sa/controllers/notification/firebase_notification_manger.dart'; -import 'package:test_sa/controllers/providers/api/departments_provider.dart'; -import 'package:test_sa/controllers/providers/api/devices_provider.dart'; -import 'package:test_sa/controllers/providers/api/preventive_maintenance_visits_provider.dart'; -import 'package:test_sa/controllers/providers/api/regular_visits_provider.dart'; -import 'package:test_sa/controllers/providers/api/service_requests_provider.dart'; import 'package:test_sa/controllers/providers/api/user_provider.dart'; import 'package:test_sa/controllers/providers/settings/setting_provider.dart'; import 'package:test_sa/extensions/int_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/models/enums/user_types.dart'; -import 'package:test_sa/models/subtitle.dart'; import 'package:test_sa/new_views/pages/new_gas_refill_request_page.dart'; import 'package:test_sa/new_views/pages/new_transfer_request_page.dart'; import 'package:test_sa/views/app_style/colors.dart'; @@ -52,13 +45,13 @@ class _LandPageState extends State { double _width; UserProvider _userProvider; SettingProvider _settingProvider; - DepartmentsProvider _departmentsProvider; - DevicesProvider _devicesProvider; + // DepartmentsProvider _departmentsProvider; + // DevicesProvider _devicesProvider; double _buttonHeight; bool firstTime = true; - ServiceRequestsProvider _serviceRequestsProvider; - PreventiveMaintenanceVisitsProvider _preventiveMaintenanceVisitsProvider; - RegularVisitsProvider _regularVisitsProvider; + // ServiceRequestsProvider _serviceRequestsProvider; + // PreventiveMaintenanceVisitsProvider _preventiveMaintenanceVisitsProvider; + // RegularVisitsProvider _regularVisitsProvider; final GlobalKey _scaffoldKey = GlobalKey(); @override @@ -78,12 +71,12 @@ class _LandPageState extends State { _width = MediaQuery.of(context).size.width; _settingProvider = Provider.of(context); _userProvider = Provider.of(context); - _departmentsProvider = Provider.of(context); - _devicesProvider = Provider.of(context); - _serviceRequestsProvider = Provider.of(context); - _preventiveMaintenanceVisitsProvider = Provider.of(context); - _regularVisitsProvider = Provider.of(context); - Subtitle _subtitle = AppLocalization.of(context).subtitle; + // _departmentsProvider = Provider.of(context); + // _devicesProvider = Provider.of(context); + // _serviceRequestsProvider = Provider.of(context); + // _preventiveMaintenanceVisitsProvider = Provider.of(context); + // _regularVisitsProvider = Provider.of(context); + // Subtitle _subtitle = AppLocalization.of(context).subtitle; if (firstTime) { if (path != null) { Navigator.of(context).pushNamed("/" + path.split("/").first, arguments: path.split("/").last); @@ -95,9 +88,11 @@ class _LandPageState extends State { onWillPop: () async { bool result = await showDialog( context: context, - builder: (_) => AAlertDialog( - title: _subtitle.exit, - content: _subtitle.exitAlert, + builder: (_) => const AAlertDialog( + // title: _subtitle.exit, + title: "Exit", + // content: _subtitle.exitAlert, + content: "Are you sure you want to exit?", )); if (result == true) { if (Platform.isAndroid) { @@ -155,7 +150,8 @@ class _LandPageState extends State { children: [ if (_userProvider.user != null && _userProvider.user.type == UsersTypes.normal_user) LandPageItem( - text: _subtitle.newServiceRequest, + // text: _subtitle.newServiceRequest, + text: "New Service Request", icon: FontAwesomeIcons.screwdriverWrench, onPressed: () { // Navigator.of(context).pushNamed(CreateRequestPage.id); @@ -163,7 +159,8 @@ class _LandPageState extends State { }, ), LandPageItem( - text: _subtitle.trackServiceRequest, + // text: _subtitle.trackServiceRequest, + text: "Track Service Request", icon: FontAwesomeIcons.listCheck, onPressed: () { Navigator.of(context).pushNamed(ServiceRequestsPage.id); @@ -171,7 +168,8 @@ class _LandPageState extends State { ), //if (_userProvider.user.type == UsersTypes.engineer) LandPageItem( - text: _subtitle.preventiveMaintenance, + // text: _subtitle.preventiveMaintenance, + text: "Preventive Maintenance", icon: FontAwesomeIcons.personWalking, onPressed: () { Navigator.of(context).pushNamed(RegularVisitsPage.id); @@ -235,16 +233,18 @@ class _LandPageState extends State { onPressed: () async { bool result = await showDialog( context: context, - builder: (_) => AAlertDialog( - title: _subtitle.signOut, - content: _subtitle.signOutAlert, + builder: (_) => const AAlertDialog( + // title: _subtitle.signOut, + title: "Sign Out", + // content: _subtitle.signOutAlert, + content: "Are you sure you want to exit?", )); if (result) { - _devicesProvider.reset(); - _departmentsProvider.reset(); - _serviceRequestsProvider.reset(); - _regularVisitsProvider.reset(); - _preventiveMaintenanceVisitsProvider.reset(); + // _devicesProvider.reset(); + // _departmentsProvider.reset(); + // _serviceRequestsProvider.reset(); + // _regularVisitsProvider.reset(); + // _preventiveMaintenanceVisitsProvider.reset(); _settingProvider.resetSettings(); _userProvider.reset(); Navigator.of(context).pop(); @@ -345,6 +345,36 @@ class _LandPageState extends State { ), ], ), + Row( + children: [ + Radio( + value: true, + activeColor: AColors.grey3A, + focusColor: AColors.grey3A, + groupValue: _settingProvider.language, + onChanged: (value) { + _settingProvider.setDarkTheme(value); + }), + Text( + "Dark", + style: Theme.of(context).textTheme.bodyText1.copyWith(color: AColors.grey3A), + textScaleFactor: AppStyle.getScaleFactor(context), + ), + Radio( + value: false, + activeColor: AColors.grey3A, + focusColor: AColors.grey3A, + groupValue: _settingProvider.language, + onChanged: (value) { + _settingProvider.setDarkTheme(value); + }), + Text( + "Light", + style: Theme.of(context).textTheme.bodyText1.copyWith(color: AColors.grey3A), + textScaleFactor: AppStyle.getScaleFactor(context), + ), + ], + ), // DrawerItem( // icon: Icons.notifications, // title: _subtitle.notifications, @@ -354,7 +384,8 @@ class _LandPageState extends State { // ), DrawerItem( icon: Icons.mail, - title: _subtitle.email, + // title: _subtitle.email, + title: "Email", onPressed: () { launch("mailto:customerservice@Test SA.com"); }, @@ -382,7 +413,8 @@ class _LandPageState extends State { // ), DrawerItem( icon: Icons.share, - title: _subtitle.shareApp, + // title: _subtitle.shareApp, + title: "Share App", onPressed: () async { PackageInfo packageInfo = await PackageInfo.fromPlatform(); String shareLink = "\n https://play.google.com/store/apps/details?id=" + packageInfo.packageName + "\n https://apps.apple.com/us/app/"; diff --git a/lib/views/widgets/dialogs/dialog.dart b/lib/views/widgets/dialogs/dialog.dart index bf9db49..38c8e4c 100644 --- a/lib/views/widgets/dialogs/dialog.dart +++ b/lib/views/widgets/dialogs/dialog.dart @@ -1,7 +1,5 @@ import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; -import 'package:test_sa/controllers/localization/localization.dart'; -import 'package:test_sa/models/subtitle.dart'; class AAlertDialog extends StatelessWidget { final String title; @@ -11,19 +9,21 @@ class AAlertDialog extends StatelessWidget { @override Widget build(BuildContext context) { - Subtitle _subtitle = AppLocalization.of(context).subtitle; + // Subtitle _subtitle = AppLocalization.of(context).subtitle; return CupertinoAlertDialog( title: title != null ? Text(title) : null, content: content != null ? Text(content) : null, actions: [ TextButton( - child: Text(_subtitle.confirm), + // child: Text(_subtitle.confirm), + child: const Text("Confirm"), onPressed: () { Navigator.of(context).pop(true); }, ), TextButton( - child: Text(_subtitle.cancel), + // child: Text(_subtitle.cancel), + child: const Text("Cancel"), onPressed: () { Navigator.of(context).pop(false); },