|
|
|
@ -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<LandPage> {
|
|
|
|
|
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<ScaffoldState> _scaffoldKey = GlobalKey<ScaffoldState>();
|
|
|
|
|
|
|
|
|
|
@override
|
|
|
|
@ -78,12 +71,12 @@ class _LandPageState extends State<LandPage> {
|
|
|
|
|
_width = MediaQuery.of(context).size.width;
|
|
|
|
|
_settingProvider = Provider.of<SettingProvider>(context);
|
|
|
|
|
_userProvider = Provider.of<UserProvider>(context);
|
|
|
|
|
_departmentsProvider = Provider.of<DepartmentsProvider>(context);
|
|
|
|
|
_devicesProvider = Provider.of<DevicesProvider>(context);
|
|
|
|
|
_serviceRequestsProvider = Provider.of<ServiceRequestsProvider>(context);
|
|
|
|
|
_preventiveMaintenanceVisitsProvider = Provider.of<PreventiveMaintenanceVisitsProvider>(context);
|
|
|
|
|
_regularVisitsProvider = Provider.of<RegularVisitsProvider>(context);
|
|
|
|
|
Subtitle _subtitle = AppLocalization.of(context).subtitle;
|
|
|
|
|
// _departmentsProvider = Provider.of<DepartmentsProvider>(context);
|
|
|
|
|
// _devicesProvider = Provider.of<DevicesProvider>(context);
|
|
|
|
|
// _serviceRequestsProvider = Provider.of<ServiceRequestsProvider>(context);
|
|
|
|
|
// _preventiveMaintenanceVisitsProvider = Provider.of<PreventiveMaintenanceVisitsProvider>(context);
|
|
|
|
|
// _regularVisitsProvider = Provider.of<RegularVisitsProvider>(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<LandPage> {
|
|
|
|
|
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<LandPage> {
|
|
|
|
|
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<LandPage> {
|
|
|
|
|
},
|
|
|
|
|
),
|
|
|
|
|
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<LandPage> {
|
|
|
|
|
),
|
|
|
|
|
//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<LandPage> {
|
|
|
|
|
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<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(
|
|
|
|
|
// icon: Icons.notifications,
|
|
|
|
|
// title: _subtitle.notifications,
|
|
|
|
@ -354,7 +384,8 @@ class _LandPageState extends State<LandPage> {
|
|
|
|
|
// ),
|
|
|
|
|
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<LandPage> {
|
|
|
|
|
// ),
|
|
|
|
|
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/";
|
|
|
|
|