adding radio buttons for theme

main_design2.0
zaid_daoud 1 year ago
parent bb1a516f0a
commit 085674ee18

@ -6,19 +6,12 @@ import 'package:font_awesome_flutter/font_awesome_flutter.dart';
import 'package:package_info/package_info.dart'; import 'package:package_info/package_info.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:share/share.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/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/api/user_provider.dart';
import 'package:test_sa/controllers/providers/settings/setting_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/int_extensions.dart';
import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart';
import 'package:test_sa/models/enums/user_types.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_gas_refill_request_page.dart';
import 'package:test_sa/new_views/pages/new_transfer_request_page.dart'; import 'package:test_sa/new_views/pages/new_transfer_request_page.dart';
import 'package:test_sa/views/app_style/colors.dart'; import 'package:test_sa/views/app_style/colors.dart';
@ -52,13 +45,13 @@ class _LandPageState extends State<LandPage> {
double _width; double _width;
UserProvider _userProvider; UserProvider _userProvider;
SettingProvider _settingProvider; SettingProvider _settingProvider;
DepartmentsProvider _departmentsProvider; // DepartmentsProvider _departmentsProvider;
DevicesProvider _devicesProvider; // DevicesProvider _devicesProvider;
double _buttonHeight; double _buttonHeight;
bool firstTime = true; bool firstTime = true;
ServiceRequestsProvider _serviceRequestsProvider; // ServiceRequestsProvider _serviceRequestsProvider;
PreventiveMaintenanceVisitsProvider _preventiveMaintenanceVisitsProvider; // PreventiveMaintenanceVisitsProvider _preventiveMaintenanceVisitsProvider;
RegularVisitsProvider _regularVisitsProvider; // RegularVisitsProvider _regularVisitsProvider;
final GlobalKey<ScaffoldState> _scaffoldKey = GlobalKey<ScaffoldState>(); final GlobalKey<ScaffoldState> _scaffoldKey = GlobalKey<ScaffoldState>();
@override @override
@ -78,12 +71,12 @@ class _LandPageState extends State<LandPage> {
_width = MediaQuery.of(context).size.width; _width = MediaQuery.of(context).size.width;
_settingProvider = Provider.of<SettingProvider>(context); _settingProvider = Provider.of<SettingProvider>(context);
_userProvider = Provider.of<UserProvider>(context); _userProvider = Provider.of<UserProvider>(context);
_departmentsProvider = Provider.of<DepartmentsProvider>(context); // _departmentsProvider = Provider.of<DepartmentsProvider>(context);
_devicesProvider = Provider.of<DevicesProvider>(context); // _devicesProvider = Provider.of<DevicesProvider>(context);
_serviceRequestsProvider = Provider.of<ServiceRequestsProvider>(context); // _serviceRequestsProvider = Provider.of<ServiceRequestsProvider>(context);
_preventiveMaintenanceVisitsProvider = Provider.of<PreventiveMaintenanceVisitsProvider>(context); // _preventiveMaintenanceVisitsProvider = Provider.of<PreventiveMaintenanceVisitsProvider>(context);
_regularVisitsProvider = Provider.of<RegularVisitsProvider>(context); // _regularVisitsProvider = Provider.of<RegularVisitsProvider>(context);
Subtitle _subtitle = AppLocalization.of(context).subtitle; // Subtitle _subtitle = AppLocalization.of(context).subtitle;
if (firstTime) { if (firstTime) {
if (path != null) { if (path != null) {
Navigator.of(context).pushNamed("/" + path.split("/").first, arguments: path.split("/").last); Navigator.of(context).pushNamed("/" + path.split("/").first, arguments: path.split("/").last);
@ -95,9 +88,11 @@ class _LandPageState extends State<LandPage> {
onWillPop: () async { onWillPop: () async {
bool result = await showDialog( bool result = await showDialog(
context: context, context: context,
builder: (_) => AAlertDialog( builder: (_) => const AAlertDialog(
title: _subtitle.exit, // title: _subtitle.exit,
content: _subtitle.exitAlert, title: "Exit",
// content: _subtitle.exitAlert,
content: "Are you sure you want to exit?",
)); ));
if (result == true) { if (result == true) {
if (Platform.isAndroid) { if (Platform.isAndroid) {
@ -155,7 +150,8 @@ class _LandPageState extends State<LandPage> {
children: [ children: [
if (_userProvider.user != null && _userProvider.user.type == UsersTypes.normal_user) if (_userProvider.user != null && _userProvider.user.type == UsersTypes.normal_user)
LandPageItem( LandPageItem(
text: _subtitle.newServiceRequest, // text: _subtitle.newServiceRequest,
text: "New Service Request",
icon: FontAwesomeIcons.screwdriverWrench, icon: FontAwesomeIcons.screwdriverWrench,
onPressed: () { onPressed: () {
// Navigator.of(context).pushNamed(CreateRequestPage.id); // Navigator.of(context).pushNamed(CreateRequestPage.id);
@ -163,7 +159,8 @@ class _LandPageState extends State<LandPage> {
}, },
), ),
LandPageItem( LandPageItem(
text: _subtitle.trackServiceRequest, // text: _subtitle.trackServiceRequest,
text: "Track Service Request",
icon: FontAwesomeIcons.listCheck, icon: FontAwesomeIcons.listCheck,
onPressed: () { onPressed: () {
Navigator.of(context).pushNamed(ServiceRequestsPage.id); Navigator.of(context).pushNamed(ServiceRequestsPage.id);
@ -171,7 +168,8 @@ class _LandPageState extends State<LandPage> {
), ),
//if (_userProvider.user.type == UsersTypes.engineer) //if (_userProvider.user.type == UsersTypes.engineer)
LandPageItem( LandPageItem(
text: _subtitle.preventiveMaintenance, // text: _subtitle.preventiveMaintenance,
text: "Preventive Maintenance",
icon: FontAwesomeIcons.personWalking, icon: FontAwesomeIcons.personWalking,
onPressed: () { onPressed: () {
Navigator.of(context).pushNamed(RegularVisitsPage.id); Navigator.of(context).pushNamed(RegularVisitsPage.id);
@ -235,16 +233,18 @@ class _LandPageState extends State<LandPage> {
onPressed: () async { onPressed: () async {
bool result = await showDialog( bool result = await showDialog(
context: context, context: context,
builder: (_) => AAlertDialog( builder: (_) => const AAlertDialog(
title: _subtitle.signOut, // title: _subtitle.signOut,
content: _subtitle.signOutAlert, title: "Sign Out",
// content: _subtitle.signOutAlert,
content: "Are you sure you want to exit?",
)); ));
if (result) { if (result) {
_devicesProvider.reset(); // _devicesProvider.reset();
_departmentsProvider.reset(); // _departmentsProvider.reset();
_serviceRequestsProvider.reset(); // _serviceRequestsProvider.reset();
_regularVisitsProvider.reset(); // _regularVisitsProvider.reset();
_preventiveMaintenanceVisitsProvider.reset(); // _preventiveMaintenanceVisitsProvider.reset();
_settingProvider.resetSettings(); _settingProvider.resetSettings();
_userProvider.reset(); _userProvider.reset();
Navigator.of(context).pop(); Navigator.of(context).pop();
@ -345,6 +345,36 @@ class _LandPageState extends State<LandPage> {
), ),
], ],
), ),
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( // DrawerItem(
// icon: Icons.notifications, // icon: Icons.notifications,
// title: _subtitle.notifications, // title: _subtitle.notifications,
@ -354,7 +384,8 @@ class _LandPageState extends State<LandPage> {
// ), // ),
DrawerItem( DrawerItem(
icon: Icons.mail, icon: Icons.mail,
title: _subtitle.email, // title: _subtitle.email,
title: "Email",
onPressed: () { onPressed: () {
launch("mailto:customerservice@Test SA.com"); launch("mailto:customerservice@Test SA.com");
}, },
@ -382,7 +413,8 @@ class _LandPageState extends State<LandPage> {
// ), // ),
DrawerItem( DrawerItem(
icon: Icons.share, icon: Icons.share,
title: _subtitle.shareApp, // title: _subtitle.shareApp,
title: "Share App",
onPressed: () async { onPressed: () async {
PackageInfo packageInfo = await PackageInfo.fromPlatform(); 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/"; String shareLink = "\n https://play.google.com/store/apps/details?id=" + packageInfo.packageName + "\n https://apps.apple.com/us/app/";

@ -1,7 +1,5 @@
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.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 { class AAlertDialog extends StatelessWidget {
final String title; final String title;
@ -11,19 +9,21 @@ class AAlertDialog extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
Subtitle _subtitle = AppLocalization.of(context).subtitle; // Subtitle _subtitle = AppLocalization.of(context).subtitle;
return CupertinoAlertDialog( return CupertinoAlertDialog(
title: title != null ? Text(title) : null, title: title != null ? Text(title) : null,
content: content != null ? Text(content) : null, content: content != null ? Text(content) : null,
actions: <Widget>[ actions: <Widget>[
TextButton( TextButton(
child: Text(_subtitle.confirm), // child: Text(_subtitle.confirm),
child: const Text("Confirm"),
onPressed: () { onPressed: () {
Navigator.of(context).pop(true); Navigator.of(context).pop(true);
}, },
), ),
TextButton( TextButton(
child: Text(_subtitle.cancel), // child: Text(_subtitle.cancel),
child: const Text("Cancel"),
onPressed: () { onPressed: () {
Navigator.of(context).pop(false); Navigator.of(context).pop(false);
}, },

Loading…
Cancel
Save