Added Settings Modules
parent
cbc1612bc6
commit
1c22486ed3
@ -1,10 +1,10 @@
|
||||
import 'dart:async';
|
||||
import 'package:car_provider_app/config/provider_routes.dart';
|
||||
import 'package:car_provider_app/views/settings/branch/dealer/widget/assign_dealer_user_sheet.dart';
|
||||
import 'package:car_provider_app/views/branch_management/branch/dealer/widget/assign_dealer_user_sheet.dart';
|
||||
import 'package:mc_common_app/generated/locale_keys.g.dart';
|
||||
import 'package:mc_common_app/utils/utils.dart';
|
||||
import 'package:mc_common_app/view_models/service_view_model.dart';
|
||||
import 'package:car_provider_app/views/settings/services/services_list_page.dart';
|
||||
import 'package:car_provider_app/views/branch_management/services/services_list_page.dart';
|
||||
import 'package:easy_localization/easy_localization.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_svg/svg.dart';
|
||||
@ -1,7 +1,7 @@
|
||||
import 'package:mc_common_app/generated/locale_keys.g.dart';
|
||||
import 'package:mc_common_app/models/general_models/generic_resp_model.dart';
|
||||
import 'package:mc_common_app/view_models/service_view_model.dart';
|
||||
import 'package:car_provider_app/views/settings/branch/dealer/widget/assign_dealer_user_sheet.dart';
|
||||
import 'package:car_provider_app/views/branch_management/branch/dealer/widget/assign_dealer_user_sheet.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:mc_common_app/classes/app_state.dart';
|
||||
import 'package:mc_common_app/extensions/int_extensions.dart';
|
||||
@ -1,5 +1,5 @@
|
||||
import 'package:car_provider_app/view_models/schedule_view_model.dart';
|
||||
import 'package:car_provider_app/views/settings/schedule/widgets/chips_picker_item.dart';
|
||||
import 'package:car_provider_app/views/branch_management/schedule/widgets/chips_picker_item.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:mc_common_app/extensions/int_extensions.dart';
|
||||
import 'package:mc_common_app/extensions/string_extensions.dart';
|
||||
@ -1,10 +1,9 @@
|
||||
import 'dart:async';
|
||||
import 'dart:developer';
|
||||
import 'package:mc_common_app/generated/locale_keys.g.dart';
|
||||
import 'package:mc_common_app/models/general_models/generic_resp_model.dart';
|
||||
import 'package:mc_common_app/utils/navigator.dart';
|
||||
import 'package:mc_common_app/view_models/service_view_model.dart';
|
||||
import 'package:car_provider_app/views/settings/services/services_list_page.dart';
|
||||
import 'package:car_provider_app/views/branch_management/services/services_list_page.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:mc_common_app/extensions/int_extensions.dart';
|
||||
import 'package:mc_common_app/extensions/string_extensions.dart';
|
||||
@ -1,7 +1,7 @@
|
||||
import 'package:mc_common_app/generated/locale_keys.g.dart';
|
||||
import 'package:mc_common_app/view_models/service_view_model.dart';
|
||||
import 'package:car_provider_app/views/settings/services/duplication/sheet/approved_branches_list_sheet.dart';
|
||||
import 'package:car_provider_app/views/settings/services/duplication/sheet/items_selection_sheet.dart';
|
||||
import 'package:car_provider_app/views/branch_management/services/duplication/sheet/approved_branches_list_sheet.dart';
|
||||
import 'package:car_provider_app/views/branch_management/services/duplication/sheet/items_selection_sheet.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:mc_common_app/classes/consts.dart';
|
||||
import 'package:mc_common_app/extensions/int_extensions.dart';
|
||||
@ -1,7 +1,7 @@
|
||||
import 'dart:developer';
|
||||
|
||||
import 'package:car_provider_app/config/provider_routes.dart';
|
||||
import 'package:car_provider_app/views/settings/services/duplication/sheet/approved_branches_list_sheet.dart';
|
||||
import 'package:car_provider_app/views/branch_management/services/duplication/sheet/approved_branches_list_sheet.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_svg/svg.dart';
|
||||
import 'package:mc_common_app/classes/consts.dart';
|
||||
@ -1,194 +1,194 @@
|
||||
import 'package:car_provider_app/config/provider_routes.dart';
|
||||
import 'package:easy_localization/easy_localization.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_svg/flutter_svg.dart';
|
||||
import 'package:image_picker/image_picker.dart';
|
||||
|
||||
import 'package:car_provider_app/view_models/dashboard_view_model.dart';
|
||||
import 'package:mc_common_app/classes/app_state.dart';
|
||||
import 'package:mc_common_app/classes/consts.dart';
|
||||
import 'package:mc_common_app/config/routes.dart';
|
||||
import 'package:mc_common_app/extensions/int_extensions.dart';
|
||||
import 'package:mc_common_app/extensions/string_extensions.dart';
|
||||
import 'package:mc_common_app/generated/locale_keys.g.dart';
|
||||
import 'package:mc_common_app/models/user_models/image_response.dart';
|
||||
import 'package:mc_common_app/theme/colors.dart';
|
||||
import 'package:mc_common_app/utils/navigator.dart';
|
||||
import 'package:mc_common_app/utils/utils.dart';
|
||||
import 'package:mc_common_app/widgets/button/show_fill_button.dart';
|
||||
import 'package:mc_common_app/widgets/extensions/extensions_widget.dart';
|
||||
|
||||
class CustomDrawer extends StatefulWidget {
|
||||
final DashboardVM dashboardVM;
|
||||
|
||||
const CustomDrawer({Key? key, required this.dashboardVM}) : super(key: key);
|
||||
|
||||
@override
|
||||
State<CustomDrawer> createState() => _CustomDrawerState();
|
||||
}
|
||||
|
||||
class _CustomDrawerState extends State<CustomDrawer> {
|
||||
void _openImagePicker() {
|
||||
showDialog<ImageSource>(
|
||||
context: context,
|
||||
builder: (context) => AlertDialog(
|
||||
content: const Text("Choose image source"),
|
||||
actions: [
|
||||
TextButton(child: const Text("Camera"), onPressed: () => widget.dashboardVM.pickImageFromPhone(context, 0)),
|
||||
TextButton(child: const Text("Gallery"), onPressed: () => widget.dashboardVM.pickImageFromPhone(context, 1)),
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Drawer(
|
||||
child: Column(
|
||||
children: [
|
||||
Stack(
|
||||
children: [
|
||||
Container(
|
||||
width: double.infinity,
|
||||
height: 200,
|
||||
color: MyColors.darkPrimaryColor.withOpacity(0.01),
|
||||
child: Image.network(
|
||||
// ApiConsts.baseUrlServices +
|
||||
AppState().getUser.data!.userInfo!.userImageUrl.toString(),
|
||||
),
|
||||
),
|
||||
Positioned(
|
||||
top: 10,
|
||||
right: 10,
|
||||
child: Row(
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
crossAxisAlignment: CrossAxisAlignment.center,
|
||||
children: [
|
||||
Column(
|
||||
children: [
|
||||
Container(
|
||||
width: 40,
|
||||
height: 40,
|
||||
decoration: BoxDecoration(
|
||||
color: Colors.grey[200],
|
||||
borderRadius: BorderRadius.circular(30),
|
||||
),
|
||||
child: const Icon(
|
||||
Icons.edit,
|
||||
color: MyColors.darkPrimaryColor,
|
||||
).onPress(() {
|
||||
_openImagePicker();
|
||||
// _handleURLButtonPress(context, ImageSourceType.camera);
|
||||
}),
|
||||
),
|
||||
12.height,
|
||||
Container(
|
||||
width: 40,
|
||||
height: 40,
|
||||
decoration: BoxDecoration(
|
||||
color: Colors.grey[200],
|
||||
borderRadius: BorderRadius.circular(30),
|
||||
),
|
||||
child: const Icon(
|
||||
Icons.delete,
|
||||
color: Colors.red,
|
||||
).onPress(() async {
|
||||
Utils.showLoading(context);
|
||||
ImageResponse response = await widget.dashboardVM.updateUserImage("");
|
||||
if (response.messageStatus == 1) {
|
||||
Utils.showToast("Image is Deleted");
|
||||
setState(() {
|
||||
AppState().getUser.data!.userInfo!.userImageUrl = response.data;
|
||||
});
|
||||
}
|
||||
Utils.hideLoading(context);
|
||||
}),
|
||||
),
|
||||
],
|
||||
),
|
||||
],
|
||||
),
|
||||
)
|
||||
],
|
||||
),
|
||||
Container(
|
||||
width: double.infinity,
|
||||
color: MyColors.darkPrimaryColor.withOpacity(0.1),
|
||||
padding: const EdgeInsets.all(20),
|
||||
child: Row(
|
||||
children: [
|
||||
Expanded(
|
||||
child: Column(
|
||||
mainAxisAlignment: MainAxisAlignment.start,
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
AppState().getUser.data!.userInfo!.firstName!.toText(
|
||||
isBold: true,
|
||||
fontSize: 20,
|
||||
letterSpacing: -1.44,
|
||||
),
|
||||
AppState().getUser.data!.userInfo!.roleName! == "ServiceProvider_Dealership" || AppState().getUser.data!.userInfo!.roleName! == "ServiceProvider_Individual"
|
||||
? (AppState().getUser.data!.userInfo!.roleName!.split("_").first.toString() + " " + AppState().getUser.data!.userInfo!.roleName!.split("_").last.toString()).toText()
|
||||
: AppState().getUser.data!.userInfo!.roleName!.toText(fontSize: 10),
|
||||
],
|
||||
),
|
||||
),
|
||||
ShowFillButton(
|
||||
title: LocaleKeys.edit.tr(),
|
||||
fontSize: 12,
|
||||
maxHeight: 35,
|
||||
maxWidth: 70,
|
||||
onPressed: () {
|
||||
navigateWithName(context, AppRoutes.editAccountPage);
|
||||
},
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
ListTile(
|
||||
leading: SvgPicture.asset(MyAssets.nextIcon, color: MyColors.darkPrimaryColor),
|
||||
title: LocaleKeys.defineLicences.tr().toText(fontSize: 12),
|
||||
onTap: () {
|
||||
// AppPermissions.checkStoragePermissions(context);
|
||||
navigateWithName(context, ProviderAppRoutes.defineLicense);
|
||||
},
|
||||
),
|
||||
ListTile(
|
||||
leading: SvgPicture.asset(MyAssets.nextIcon, color: MyColors.darkPrimaryColor),
|
||||
title: "Subscriptions".toText(fontSize: 12),
|
||||
onTap: () {
|
||||
navigateWithName(context, ProviderAppRoutes.mySubscriptionsPage);
|
||||
},
|
||||
),
|
||||
ListTile(
|
||||
leading: Image.asset(
|
||||
MyAssets.icWorldPng,
|
||||
width: 20,
|
||||
height: 20,
|
||||
color: MyColors.darkPrimaryColor,
|
||||
),
|
||||
title: LocaleKeys.english.tr().toText(fontSize: 12),
|
||||
onTap: () {
|
||||
if (EasyLocalization.of(context)?.currentLocale?.countryCode == "SA") {
|
||||
context.setLocale(const Locale("en", "US"));
|
||||
} else {
|
||||
context.setLocale(const Locale('ar', 'SA'));
|
||||
}
|
||||
},
|
||||
),
|
||||
ListTile(
|
||||
leading: const Icon(
|
||||
Icons.logout,
|
||||
color: MyColors.darkPrimaryColor,
|
||||
),
|
||||
title: LocaleKeys.signOut.tr().toText(fontSize: 12),
|
||||
onTap: () {
|
||||
pop(context);
|
||||
navigateReplaceWithName(context, AppRoutes.registerSelection);
|
||||
},
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
// import 'package:car_provider_app/config/provider_routes.dart';
|
||||
// import 'package:easy_localization/easy_localization.dart';
|
||||
// import 'package:flutter/material.dart';
|
||||
// import 'package:flutter_svg/flutter_svg.dart';
|
||||
// import 'package:image_picker/image_picker.dart';
|
||||
//
|
||||
// import 'package:car_provider_app/view_models/dashboard_view_model.dart';
|
||||
// import 'package:mc_common_app/classes/app_state.dart';
|
||||
// import 'package:mc_common_app/classes/consts.dart';
|
||||
// import 'package:mc_common_app/config/routes.dart';
|
||||
// import 'package:mc_common_app/extensions/int_extensions.dart';
|
||||
// import 'package:mc_common_app/extensions/string_extensions.dart';
|
||||
// import 'package:mc_common_app/generated/locale_keys.g.dart';
|
||||
// import 'package:mc_common_app/models/user_models/image_response.dart';
|
||||
// import 'package:mc_common_app/theme/colors.dart';
|
||||
// import 'package:mc_common_app/utils/navigator.dart';
|
||||
// import 'package:mc_common_app/utils/utils.dart';
|
||||
// import 'package:mc_common_app/widgets/button/show_fill_button.dart';
|
||||
// import 'package:mc_common_app/widgets/extensions/extensions_widget.dart';
|
||||
//
|
||||
// class CustomDrawer extends StatefulWidget {
|
||||
// final DashboardVM dashboardVM;
|
||||
//
|
||||
// const CustomDrawer({Key? key, required this.dashboardVM}) : super(key: key);
|
||||
//
|
||||
// @override
|
||||
// State<CustomDrawer> createState() => _CustomDrawerState();
|
||||
// }
|
||||
//
|
||||
// class _CustomDrawerState extends State<CustomDrawer> {
|
||||
// void _openImagePicker() {
|
||||
// showDialog<ImageSource>(
|
||||
// context: context,
|
||||
// builder: (context) => AlertDialog(
|
||||
// content: const Text("Choose image source"),
|
||||
// actions: [
|
||||
// TextButton(child: const Text("Camera"), onPressed: () => widget.dashboardVM.pickImageFromPhone(context, 0)),
|
||||
// TextButton(child: const Text("Gallery"), onPressed: () => widget.dashboardVM.pickImageFromPhone(context, 1)),
|
||||
// ],
|
||||
// ),
|
||||
// );
|
||||
// }
|
||||
//
|
||||
// @override
|
||||
// Widget build(BuildContext context) {
|
||||
// return Drawer(
|
||||
// child: Column(
|
||||
// children: [
|
||||
// Stack(
|
||||
// children: [
|
||||
// Container(
|
||||
// width: double.infinity,
|
||||
// height: 200,
|
||||
// color: MyColors.darkPrimaryColor.withOpacity(0.01),
|
||||
// child: Image.network(
|
||||
// // ApiConsts.baseUrlServices +
|
||||
// AppState().getUser.data!.userInfo!.userImageUrl.toString(),
|
||||
// ),
|
||||
// ),
|
||||
// Positioned(
|
||||
// top: 10,
|
||||
// right: 10,
|
||||
// child: Row(
|
||||
// mainAxisAlignment: MainAxisAlignment.center,
|
||||
// crossAxisAlignment: CrossAxisAlignment.center,
|
||||
// children: [
|
||||
// Column(
|
||||
// children: [
|
||||
// Container(
|
||||
// width: 40,
|
||||
// height: 40,
|
||||
// decoration: BoxDecoration(
|
||||
// color: Colors.grey[200],
|
||||
// borderRadius: BorderRadius.circular(30),
|
||||
// ),
|
||||
// child: const Icon(
|
||||
// Icons.edit,
|
||||
// color: MyColors.darkPrimaryColor,
|
||||
// ).onPress(() {
|
||||
// _openImagePicker();
|
||||
// // _handleURLButtonPress(context, ImageSourceType.camera);
|
||||
// }),
|
||||
// ),
|
||||
// 12.height,
|
||||
// Container(
|
||||
// width: 40,
|
||||
// height: 40,
|
||||
// decoration: BoxDecoration(
|
||||
// color: Colors.grey[200],
|
||||
// borderRadius: BorderRadius.circular(30),
|
||||
// ),
|
||||
// child: const Icon(
|
||||
// Icons.delete,
|
||||
// color: Colors.red,
|
||||
// ).onPress(() async {
|
||||
// Utils.showLoading(context);
|
||||
// ImageResponse response = await widget.dashboardVM.updateUserImage("");
|
||||
// if (response.messageStatus == 1) {
|
||||
// Utils.showToast("Image is Deleted");
|
||||
// setState(() {
|
||||
// AppState().getUser.data!.userInfo!.userImageUrl = response.data;
|
||||
// });
|
||||
// }
|
||||
// Utils.hideLoading(context);
|
||||
// }),
|
||||
// ),
|
||||
// ],
|
||||
// ),
|
||||
// ],
|
||||
// ),
|
||||
// )
|
||||
// ],
|
||||
// ),
|
||||
// Container(
|
||||
// width: double.infinity,
|
||||
// color: MyColors.darkPrimaryColor.withOpacity(0.1),
|
||||
// padding: const EdgeInsets.all(20),
|
||||
// child: Row(
|
||||
// children: [
|
||||
// Expanded(
|
||||
// child: Column(
|
||||
// mainAxisAlignment: MainAxisAlignment.start,
|
||||
// crossAxisAlignment: CrossAxisAlignment.start,
|
||||
// children: [
|
||||
// AppState().getUser.data!.userInfo!.firstName!.toText(
|
||||
// isBold: true,
|
||||
// fontSize: 20,
|
||||
// letterSpacing: -1.44,
|
||||
// ),
|
||||
// AppState().getUser.data!.userInfo!.roleName! == "ServiceProvider_Dealership" || AppState().getUser.data!.userInfo!.roleName! == "ServiceProvider_Individual"
|
||||
// ? ("${AppState().getUser.data!.userInfo!.roleName!.split("_").first} ${AppState().getUser.data!.userInfo!.roleName!.split("_").last}").toText()
|
||||
// : AppState().getUser.data!.userInfo!.roleName!.toText(fontSize: 10),
|
||||
// ],
|
||||
// ),
|
||||
// ),
|
||||
// ShowFillButton(
|
||||
// title: LocaleKeys.edit.tr(),
|
||||
// fontSize: 12,
|
||||
// maxHeight: 35,
|
||||
// maxWidth: 70,
|
||||
// onPressed: () {
|
||||
// navigateWithName(context, AppRoutes.editAccountPage);
|
||||
// },
|
||||
// ),
|
||||
// ],
|
||||
// ),
|
||||
// ),
|
||||
// ListTile(
|
||||
// leading: SvgPicture.asset(MyAssets.nextIcon, color: MyColors.darkPrimaryColor),
|
||||
// title: LocaleKeys.defineLicences.tr().toText(fontSize: 12),
|
||||
// onTap: () {
|
||||
// // AppPermissions.checkStoragePermissions(context);
|
||||
// navigateWithName(context, ProviderAppRoutes.defineLicense);
|
||||
// },
|
||||
// ),
|
||||
// ListTile(
|
||||
// leading: SvgPicture.asset(MyAssets.nextIcon, color: MyColors.darkPrimaryColor),
|
||||
// title: "Subscriptions".toText(fontSize: 12),
|
||||
// onTap: () {
|
||||
// navigateWithName(context, ProviderAppRoutes.mySubscriptionsPage);
|
||||
// },
|
||||
// ),
|
||||
// ListTile(
|
||||
// leading: Image.asset(
|
||||
// MyAssets.icWorldPng,
|
||||
// width: 20,
|
||||
// height: 20,
|
||||
// color: MyColors.darkPrimaryColor,
|
||||
// ),
|
||||
// title: LocaleKeys.english.tr().toText(fontSize: 12),
|
||||
// onTap: () {
|
||||
// if (EasyLocalization.of(context)?.currentLocale?.countryCode == "SA") {
|
||||
// context.setLocale(const Locale("en", "US"));
|
||||
// } else {
|
||||
// context.setLocale(const Locale('ar', 'SA'));
|
||||
// }
|
||||
// },
|
||||
// ),
|
||||
// ListTile(
|
||||
// leading: const Icon(
|
||||
// Icons.logout,
|
||||
// color: MyColors.darkPrimaryColor,
|
||||
// ),
|
||||
// title: LocaleKeys.signOut.tr().toText(fontSize: 12),
|
||||
// onTap: () {
|
||||
// pop(context);
|
||||
// navigateReplaceWithName(context, AppRoutes.registerSelection);
|
||||
// },
|
||||
// ),
|
||||
// ],
|
||||
// ),
|
||||
// );
|
||||
// }
|
||||
// }
|
||||
|
||||
Loading…
Reference in New Issue