Commit 6ace5c45 authored by Sai Srinivas's avatar Sai Srinivas
Browse files

18-08-2025 By Sai Srinivas

OTP Verification Order Module
parent 1468332a
<svg width="26" height="14" viewBox="0 0 26 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M25.6783 3.71852C25.3954 2.43426 24.1549 1.20535 22.8747 0.905237C22.0947 0.689417 14.4419 0.387268 13.0002 0.439573C11.5586 0.388792 3.90583 0.689417 3.12583 0.905237C1.84411 1.20535 0.605047 2.43426 0.322196 3.71852C0.102062 4.7985 -0.005829 5.89834 0.000242643 7.00051C-0.00557192 8.10267 0.102317 9.20249 0.322196 10.2825C0.605047 11.5668 1.84563 12.7952 3.12583 13.0958C3.90634 13.3116 11.5586 13.6138 13.0002 13.5614C14.4424 13.6122 22.0947 13.3121 22.8747 13.0958C24.1564 12.7957 25.3954 11.5668 25.6783 10.2825C25.8984 9.20252 26.0063 8.10268 26.0002 7.00051C26.0061 5.89835 25.8982 4.79854 25.6783 3.71852ZM8.37915 7.48293L7.70223 7.70078L8.12321 8.28274C8.20066 8.38517 8.25687 8.50203 8.28857 8.62647C8.32027 8.75091 8.32681 8.88042 8.3078 9.00742C8.2888 9.13442 8.24463 9.25635 8.17789 9.36606C8.11116 9.47577 8.02319 9.57105 7.91916 9.64632C7.81512 9.7216 7.6971 9.77534 7.57202 9.80442C7.44695 9.83349 7.31732 9.8373 7.19075 9.81563C7.06418 9.79396 6.94321 9.74724 6.83493 9.67821C6.72665 9.60918 6.63323 9.51923 6.56016 9.41364L6.14122 8.83473L5.72227 9.41364C5.64798 9.5163 5.5542 9.60333 5.44628 9.66975C5.33836 9.73617 5.21841 9.78068 5.09328 9.80075C4.96816 9.82081 4.84031 9.81603 4.71703 9.78669C4.59375 9.75734 4.47746 9.704 4.37479 9.62971C4.27213 9.55542 4.1851 9.46164 4.11868 9.35371C4.05226 9.24579 4.00775 9.12584 3.98768 9.00072C3.96762 8.8756 3.9724 8.74774 4.00174 8.62446C4.03109 8.50119 4.08443 8.38489 4.15872 8.28223L4.5797 7.70078L3.90075 7.48293C3.65711 7.40455 3.45459 7.23259 3.33774 7.00489C3.22089 6.77719 3.19928 6.51239 3.27766 6.26875C3.35605 6.02512 3.52801 5.8226 3.75571 5.70574C3.98341 5.58889 4.24821 5.56728 4.49184 5.64567L5.17434 5.86555V5.15461C5.17434 4.89872 5.276 4.65331 5.45694 4.47236C5.63788 4.29142 5.8833 4.18977 6.13919 4.18977C6.39508 4.18977 6.64049 4.29142 6.82144 4.47236C7.00238 4.65331 7.10403 4.89872 7.10403 5.15461V5.86555L7.78653 5.64567C7.90717 5.60676 8.03429 5.59199 8.16063 5.6022C8.28698 5.61242 8.41007 5.64742 8.52289 5.70521C8.63571 5.76299 8.73604 5.84244 8.81815 5.939C8.90027 6.03556 8.96256 6.14735 9.00147 6.26799C9.04039 6.38863 9.05515 6.51575 9.04494 6.64209C9.03472 6.76844 8.99972 6.89153 8.94193 7.00435C8.88415 7.11717 8.8047 7.2175 8.70814 7.29961C8.61158 7.38173 8.49979 7.44402 8.37915 7.48293ZM15.2402 7.48293L14.5633 7.70078L14.9848 8.28274C15.0596 8.38537 15.1135 8.50177 15.1432 8.62526C15.173 8.74876 15.1781 8.87691 15.1582 9.00237C15.1383 9.12784 15.0938 9.24814 15.0273 9.35637C14.9608 9.46461 14.8736 9.55864 14.7707 9.63309C14.6678 9.70754 14.5512 9.76093 14.4276 9.79019C14.3039 9.81946 14.1758 9.82403 14.0504 9.80364C13.925 9.78325 13.8049 9.7383 13.6969 9.67138C13.5889 9.60445 13.4953 9.51686 13.4212 9.41364L13.0002 8.83473L12.5813 9.41364C12.5092 9.5215 12.416 9.6137 12.3074 9.68473C12.1988 9.75576 12.077 9.80416 11.9493 9.82703C11.8216 9.8499 11.6906 9.84677 11.5641 9.81783C11.4376 9.7889 11.3182 9.73474 11.2132 9.65861C11.1081 9.58247 11.0194 9.48593 10.9525 9.37475C10.8856 9.26357 10.8419 9.14003 10.8238 9.01154C10.8057 8.88304 10.8138 8.75223 10.8475 8.62691C10.8811 8.5016 10.9397 8.38437 11.0198 8.28223L11.4413 7.70078L10.7643 7.48293C10.5207 7.40462 10.3182 7.23272 10.2013 7.00507C10.0844 6.77741 10.0627 6.51264 10.141 6.26901C10.2193 6.02537 10.3912 5.82282 10.6189 5.70592C10.8465 5.58903 11.1113 5.56735 11.3549 5.64567L12.0354 5.86555V5.15461C12.0354 4.89872 12.1371 4.65331 12.318 4.47236C12.4989 4.29142 12.7444 4.18977 13.0002 4.18977C13.2561 4.18977 13.5015 4.29142 13.6825 4.47236C13.8634 4.65331 13.9651 4.89872 13.9651 5.15461V5.86555L14.6476 5.64567C14.8912 5.56735 15.156 5.58903 15.3836 5.70592C15.6113 5.82282 15.7832 6.02537 15.8615 6.26901C15.9398 6.51264 15.9182 6.77741 15.8013 7.00507C15.6844 7.23272 15.4818 7.40462 15.2382 7.48293H15.2402ZM22.1018 7.48293L21.4243 7.70078L21.8458 8.28274C21.9207 8.38537 21.9745 8.50177 22.0043 8.62526C22.0341 8.74876 22.0391 8.87691 22.0193 9.00237C21.9994 9.12784 21.9549 9.24814 21.8884 9.35637C21.8219 9.46461 21.7347 9.55864 21.6318 9.63309C21.5288 9.70754 21.4122 9.76093 21.2886 9.79019C21.165 9.81946 21.0368 9.82403 20.9114 9.80364C20.7861 9.78325 20.6659 9.7383 20.558 9.67138C20.45 9.60445 20.3563 9.51686 20.2823 9.41364L19.8633 8.83473L19.4444 9.41364C19.3707 9.51789 19.2771 9.6065 19.169 9.67433C19.0609 9.74216 18.9404 9.78785 18.8144 9.80877C18.6885 9.82969 18.5597 9.82542 18.4355 9.7962C18.3112 9.76698 18.194 9.71339 18.0906 9.63855C17.9872 9.5637 17.8997 9.46909 17.8331 9.36018C17.7665 9.25127 17.7222 9.13023 17.7028 9.00408C17.6833 8.87793 17.6891 8.74917 17.7197 8.62526C17.7504 8.50135 17.8053 8.38476 17.8813 8.28223L18.3023 7.70078L17.6213 7.48293C17.5007 7.44415 17.3889 7.38199 17.2923 7.3C17.1957 7.21801 17.1161 7.11779 17.0583 7.00507C16.9414 6.77741 16.9197 6.51264 16.998 6.26901C17.0763 6.02537 17.2482 5.82282 17.4759 5.70592C17.7035 5.58903 17.9683 5.56735 18.2119 5.64567L18.8944 5.86555V5.15461C18.8944 4.89872 18.9961 4.65331 19.177 4.47236C19.358 4.29142 19.6034 4.18977 19.8593 4.18977C20.1152 4.18977 20.3606 4.29142 20.5415 4.47236C20.7225 4.65331 20.8241 4.89872 20.8241 5.15461V5.86555L21.5066 5.64567C21.7502 5.56728 22.015 5.58889 22.2427 5.70574C22.4704 5.8226 22.6424 6.02512 22.7208 6.26875C22.7992 6.51239 22.7776 6.77719 22.6607 7.00489C22.5439 7.23259 22.3413 7.40455 22.0977 7.48293H22.1018Z" fill="url(#paint0_linear_115_4106)"/>
<defs>
<linearGradient id="paint0_linear_115_4106" x1="0.000242643" y1="7.00051" x2="26.0002" y2="7.00051" gradientUnits="userSpaceOnUse">
<stop stop-color="#0080DE"/>
<stop offset="0.6" stop-color="#49BCFF"/>
<stop offset="1" stop-color="#61CAFF"/>
</linearGradient>
</defs>
</svg>
......@@ -414,7 +414,7 @@ String? productsEmptyError ;
_selectedDispatchStates = value;
_selectedDispatchStateID = value?.id;
_selectedDispatchStateName = value!.name!;
selectedDispatchStateError = "";
selectedDispatchStateError = null;
notifyListeners();
}
......@@ -432,7 +432,7 @@ String? productsEmptyError ;
_selectedDispatchDistricts = value;
_selectedDispatchDistrictID = value?.id;
_selectedDispatchDistrictValue = value!.district;
selectedDispatchDistrictError = "";
selectedDispatchDistrictError = null;
// districtError = null;
notifyListeners();
}
......@@ -441,7 +441,7 @@ String? productsEmptyError ;
_selectedDispatchSubLocations = value;
_selectedDispatchSubLocID = value?.id;
_selectedDispatchSubLocValue = value!.subLocality!;
selectedDispatchSubLocError = "";
selectedDispatchSubLocError = null;
// localityError = null;
notifyListeners();
}
......@@ -490,25 +490,25 @@ String? productsEmptyError ;
set selectedUnloadingScope(String? value) {
_selectedUnloadingScope = value;
selectedUnloadingScopeError = "";
selectedUnloadingScopeError = null;
notifyListeners();
}
set selectedFreightScope(String? value) {
_selectedFreightScope = value;
selectedFreightScopeError = "";
selectedFreightScopeError = null;
notifyListeners();
}
set selectedErectionScope(String? value) {
_selectedErectionScope = value;
selectedErectionScopeError = "";
selectedErectionScopeError = null;
notifyListeners();
}
set selectedTpcStatus(String? value) {
_selectedTpcStatus = value;
selectedTPCApplicableError = "";
selectedTPCApplicableError = null;
notifyListeners();
}
......@@ -516,7 +516,7 @@ String? productsEmptyError ;
_selectedTpcAgent = value;
_selectedTpcAgentID = value!.id;
_selectedTpcAgentValue = value!.text;
selectedTPCAgentError = "";
selectedTPCAgentError =null;
notifyListeners();
}
......@@ -930,22 +930,22 @@ String? productsEmptyError ;
_accountDetails = data.accountDetails!;
data.accountDetails!.accManagerId!;
billingNameController.text = data.accountDetails!.name!;
_selectedBillingStates = billingStates!.firstWhere((e) => e.id == data.accountDetails!.state!);
_selectedBillingStateID = data.accountDetails!.state!;
_selectedBillingStateName = billingStates!.firstWhere((e) => e.id == data.accountDetails!.state!).name;
_selectedBillingDistrictID = data.accountDetails!.district!;
_selectedBillingSubLocID = data.accountDetails!.subLocality!;
print("data.accountDetails!.state ${data.accountDetails!.state}");
if(_selectedBillingStateID!=null){
getDistrictAPI(context,_selectedBillingStateID);
getDistrictAPI(context,data.accountDetails!.state);
}
if(_selectedBillingDistrictID!=null){
getSubLocationAPI(context,_selectedBillingDistrictID);
getSubLocationAPI(context,data.accountDetails!.district);
}
_selectedBillingStates = billingStates!.firstWhere((e) => e.id == data.accountDetails!.state!);
_selectedBillingStateID = data.accountDetails!.state!;
_selectedBillingStateName = billingStates!.firstWhere((e) => e.id == data.accountDetails!.state!).name;
_selectedBillingDistrictID = data.accountDetails!.district!;
_selectedBillingSubLocID = data.accountDetails!.subLocality!;
billingPincodeController.text = data.accountDetails!.pincode!;
billingAddressController.text = data.accountDetails!.address!;
......@@ -1150,7 +1150,7 @@ String? productsEmptyError ;
"",
"",
"",
currentLocationLatLng,
latlongs,
tpcAmountController.text,
tpc_agent_id,
_image,
......@@ -1182,6 +1182,7 @@ String? productsEmptyError ;
desiredAccuracy: geo_location.LocationAccuracy.high,
);
currentLocationLatLng = LatLng(position.latitude, position.longitude);
latlongs = "${position.latitude}, ${position.longitude}";
notifyListeners();
} catch (e) {
print("Error getting current location: $e");
......@@ -1244,7 +1245,7 @@ String? productsEmptyError ;
if (locData != null) {
currentLocation = locData;
currentLocationLatLng = LatLng(locData.latitude!, locData.longitude!);
latlongs = "${locData.latitude}, ${locData.longitude}";
markers.clear();
markers.add(
Marker(
......
......@@ -24,6 +24,8 @@ class Pagesdashboardprovider extends ChangeNotifier {
TextEditingController saleOrderNumberController = TextEditingController();
TextEditingController deleteFeedbackController = TextEditingController();
TextEditingController editCompanyController = TextEditingController();
TextEditingController otpController = TextEditingController();
String _enteredOTP = "";
String? feedbackError;
String? deleteFeedbackError;
String? approveRejectFeedbackError;
......@@ -69,6 +71,8 @@ class Pagesdashboardprovider extends ChangeNotifier {
File? _image;
File? _imageName;
String get enteredOtp => _enteredOTP;
bool get submitClicked => _submitClicked;
set submitClicked(bool value){
......@@ -81,6 +85,11 @@ class Pagesdashboardprovider extends ChangeNotifier {
String get deletionSheetHeading => _deletionSheetHeading;
set enteredOtp(String value){
_enteredOTP = value;
notifyListeners();
}
set approvalSheetHeading(String value) {
_approvalSheetHeading = value;
notifyListeners();
......@@ -713,6 +722,68 @@ class Pagesdashboardprovider extends ChangeNotifier {
}
}
Future<void> verifyOrderAPIFunction(context, orderId,otp) async {
try {
if(otp.isEmpty){
toast(context, "Please Enter OTP");
_submitClicked = false;
return;
}
final provider = Provider.of<HomescreenNotifier>(context, listen: false);
final data = await ApiCalling.verifyOrderAPI(
provider.empId,
provider.session,
orderId,
otp
);
if (data != null) {
if (data.error == "0") {
toast(context, "${data.message}");
// otpController.clear();
Navigator.pop(context, true);
notifyListeners();
} else {
toast(context, data.message!);
_submitClicked = false;
notifyListeners();
}
}else{
_submitClicked = false;
notifyListeners();
}
} catch (e, s) {
_submitClicked = false;
notifyListeners();
}
}
Future<void> ResendOtpAPI(context, orderId) async {
try {
var homeProvider = Provider.of<HomescreenNotifier>(
context,
listen: false,
);
final data = await ApiCalling.resendOTPOrderAPI(
homeProvider.empId,
homeProvider.session,
orderId,
);
if (data != null) {
if (data.sessionExists == 1) {
if (data.error == 0) {
toast(context, data.message);
} else {
toast(context, data.message);
}
} else {
}
} else {}
} on Error catch (e) {
debugPrint(e.toString());
}
}
void onChangeFeedback(value) {
feedbackError = "";
notifyListeners();
......@@ -802,6 +873,7 @@ class Pagesdashboardprovider extends ChangeNotifier {
}
void resetForm() {
otpController.clear();
feedbackController.clear();
approveRejectFeedbackController.clear();
editCompanyController.clear();
......
......@@ -152,6 +152,7 @@ class _AddorderScreenState extends State<AddorderScreen> {
Widget _scaffold(BuildContext context) {
return Consumer<Addorderprovider>(
builder: (context, provider, child) {
return WillPopScope(
child: SafeArea(
top: false,
......@@ -302,6 +303,7 @@ class _AddorderScreenState extends State<AddorderScreen> {
context,
value.id,
);
}
},
selectedItem: provider.selectedAccountList,
......@@ -351,234 +353,7 @@ class _AddorderScreenState extends State<AddorderScreen> {
// },
),
// DropdownSearch<AccountList>(
// filterFn: (item, filter) {
// return provider.ordersAddOrderSelectAccountAPIFunction(
// widget.mode,
// provider.selectedAccountID,
// filter,
// );
// },
// popupProps: PopupProps.menu(
// showSearchBox: true,
// searchFieldProps: TextFieldProps(
// controller: provider.dropDownSearchController,
// decoration: InputDecoration(
// isDense: true,
// contentPadding: const EdgeInsets.symmetric(horizontal: 10, vertical: 8),
// hintText: 'Search Account...',
// border: OutlineInputBorder(
// borderRadius: BorderRadius.circular(8),
// ),
// suffixIcon: provider.isLoading ? const CircularProgressIndicator() : null,
// ),
// ),
// emptyBuilder: (context, searchEntry) => const Padding(
// padding: EdgeInsets.all(8.0),
// child: Text('No accounts found, please search'),
// ),
// ),
//
// itemAsString: (AccountList? item) => item?.text ?? '',
// onChanged: (AccountList? value) {
// if (value != null) {
// print('Selected account: ${value.text}');
// provider.selectedAccountList = value;
// provider.selectedAccountID = value!.id!;
// provider.selectedAccountName
// provider.ordersAddOrderAccountDetailsAPIFunction(
// context,
// value.id,
// );
// }
// },
// selectedItem: provider.selectedAccountList,
//
// decoratorProps: DropDownDecoratorProps(
//
// decoration: InputDecoration(
// labelText: 'Select Account',
// border: OutlineInputBorder(
// borderRadius: BorderRadius.circular(8),
// ),
// ),
// ),
//
//
// ),
// InkResponse(
// onTap: () {
// if (focusNode.hasFocus) {
// focusNode.unfocus();
// } else {
// FocusScope.of(
// context,
// ).requestFocus(focusNode);
// }
// },
// child: Container(
// alignment: Alignment.center,
// decoration: BoxDecoration(
// color: AppColors.text_field_color,
// borderRadius: BorderRadius.circular(14),
// ),
// child: ListTile(
// onTap: () {
// if (focusNode.hasFocus) {
// focusNode.unfocus();
// } else {
// FocusScope.of(
// context,
// ).requestFocus(focusNode);
// }
// },
// title: TextFormField(
// focusNode: focusNode,
// onTapUpOutside: (event) {
// focusNode.unfocus();
// },
// controller:
// provider.dropDownSearchController,
// onChanged: (value) async {
// Future.delayed(
// Duration(milliseconds: 100),
// () async {
// await provider
// .ordersAddOrderSelectAccountAPIFunction(
// context,
// widget.mode,
// provider.selectedAccountID,
// value,
// );
// },
// );
// },
// decoration: InputDecoration(
// enabledBorder: InputBorder.none,
// focusedBorder: InputBorder.none,
// isDense: true,
// contentPadding:
// const EdgeInsets.symmetric(
// horizontal: 0,
// vertical: 8,
// ),
//
// hintText: 'Select Account Type',
// hintStyle: const TextStyle(
// fontSize: 14,
// ),
// border: OutlineInputBorder(
// borderRadius: BorderRadius.circular(
// 8,
// ),
// ),
// ),
// ),
//
// trailing: InkResponse(
// onTap: () {
// if (focusNode.hasFocus) {
// focusNode.unfocus();
// } else {
// FocusScope.of(
// context,
// ).requestFocus(focusNode);
// }
// },
// child: SvgPicture.asset(
// "assets/svg/arrow_dropdown.svg",
// height: 25,
// width: 20,
// ),
// ),
// ),
// ),
// ),
// if (provider.accountList.isNotEmpty &&
// focusNode.hasFocus) ...[
// Card(
// margin: EdgeInsets.symmetric(horizontal: 0),
// child: Container(
// padding: EdgeInsets.symmetric(
// horizontal: 10,
// ),
// height:
// provider.accountList.isNotEmpty
// ? 150
// : 50,
// decoration: BoxDecoration(
// borderRadius: BorderRadius.circular(16),
// ),
// child: Scrollbar(
// thickness: 2.5,
// radius: Radius.circular(6),
// thumbVisibility: true,
// child: ListView.builder(
// itemCount: provider.accountList.length,
// shrinkWrap: true,
// physics:
// AlwaysScrollableScrollPhysics(),
// itemBuilder: (context, index) {
// return InkResponse(
// onTap: () async {
// if (provider
// .accountList
// .isNotEmpty) {
// provider.selectedAccountList =
// provider.accountList[index];
//
// print(
// "Selected Complaint Type: ${provider.accountList[index].text}, ID: ${provider.accountList[index].id}",
// );
// provider.selectedAccountID =
// provider
// .accountList[index]
// .id!;
// provider.selectedAccountName =
// provider
// .accountList[index]
// .text!;
// print(
// "hfjkshfg" +
// provider.selectedAccountID
// .toString(),
// );
// provider
// .dropDownSearchController
// .text = provider
// .accountList[index]
// .text!;
// provider
// .ordersAddOrderAccountDetailsAPIFunction(
// context,
// provider
// .selectedAccountID,
// );
// }
// // provider.ordersAddPaymentSelectOrderAPIFunction(context, provider.selectedAccountID);
// provider.accountList = [];
// provider.selectAccountError = "";
// provider.notifyListeners();
// },
// child: SizedBox(
// height: 45,
// child: Align(
// alignment: Alignment.centerLeft,
// child: Text(
// provider
// .accountList[index]
// .text!,
// ),
// ),
// ),
// );
// },
// ),
// ),
// ),
// ),
// ],
if (provider.selectAccountError != null) ...[
errorWidget(
context,
......@@ -2381,6 +2156,7 @@ class _AddorderScreenState extends State<AddorderScreen> {
widget.mode,
provider.selectedEmployeeID,
provider.selectedAccountID,
provider.selectedDispatchStateID,
provider
.selectedDispatchDistrictId,
provider
......@@ -2389,7 +2165,6 @@ class _AddorderScreenState extends State<AddorderScreen> {
provider.selectedFreightScope,
provider.selectedErectionScope,
provider.selectedTpcStatus,
provider.selectedTpcStatus,
provider.selectedBillingStateID,
provider
.selectedBillingDistrictId,
......@@ -2869,6 +2644,7 @@ class _AddorderScreenState extends State<AddorderScreen> {
null,
TextInputAction.done,
),
if(provider.billingNameError!=null)
errorWidget(context, provider.billingNameError),
TextWidget(context, "Billing State"),
//dd
......@@ -2983,6 +2759,7 @@ class _AddorderScreenState extends State<AddorderScreen> {
],
),
),
if(provider.selectedBillingStateError!=null)
errorWidget(context, provider.selectedBillingStateError),
TextWidget(context, "Billing District"),
//dd
......@@ -3098,6 +2875,7 @@ class _AddorderScreenState extends State<AddorderScreen> {
],
),
),
if(provider.selectedBillingDistrictError!=null)
errorWidget(
context,
provider.selectedBillingDistrictError,
......@@ -3204,6 +2982,7 @@ class _AddorderScreenState extends State<AddorderScreen> {
],
),
),
if(provider.selectedBillingSubLocError!=null)
errorWidget(context, provider.selectedBillingSubLocError),
textControllerWidget(
context,
......@@ -3218,6 +2997,7 @@ class _AddorderScreenState extends State<AddorderScreen> {
focusNodes[2],
TextInputAction.next,
),
if(provider.billingAddressError!=null)
errorWidget(context, provider.billingAddressError),
textControllerWidget(
......@@ -3234,6 +3014,7 @@ class _AddorderScreenState extends State<AddorderScreen> {
TextInputAction.done,
6,
),
if(provider.billingPincodeError!=null)
errorWidget(context, provider.billingPincodeError),
TextWidget(context, "Dispatch State"),
......
......@@ -10,6 +10,8 @@ import 'package:generp/Notifiers/ordersProvider/pagesDashboardProvider.dart';
import 'package:generp/Utils/GlobalConstants.dart';
import 'package:generp/Utils/dropdownTheme.dart';
import 'package:generp/screens/screensExports.dart';
import 'package:pin_code_fields/pin_code_fields.dart';
import 'package:pinput/pinput.dart';
import 'package:provider/provider.dart';
import '../../Utils/app_colors.dart';
......@@ -1826,9 +1828,65 @@ class _OrdersdetailsbymodesState extends State<Ordersdetailsbymodes> {
),
),
bottomNavigationBar:
["self", "pending_approval"].contains(widget.mode)
(widget.mode == "pending_approval")
? SizedBox.shrink()
: Container(
: widget.mode=="self" && orderDetails.status == "Customer verification Pending"?
Container(
decoration: BoxDecoration(color: Colors.white),
padding: EdgeInsets.symmetric(horizontal: 10),
alignment: Alignment.bottomCenter,
height: 75,
child: Container(
margin: EdgeInsets.only(bottom: 10),
alignment: Alignment.center,
height: 45,
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
SizedBox(width: 10),
Expanded(
child: InkResponse(
onTap: () {
_showVerifyOTPSheet(context);
},
child: Container(
// decoration: BoxDecoration(
// borderRadius: BorderRadius.circular(8),
// color: Color(0xFFFFEFEF),
// border: Border.all(
// color: Color(0xFFED3424),
// width: 0.5,
// ),
// ),
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
SvgPicture.asset("assets/svg/finance/verify_otp_ic.svg"),
SizedBox(width: 5,),
Center(
child: Text(
"Verify OTP",
style: TextStyle(
color: AppColors.semi_black,
fontSize: 14,
),
),
),
],
),
),
),
),
SizedBox(width: 10),
],
),
),
)
:Container(
decoration: BoxDecoration(color: Colors.white),
padding: EdgeInsets.symmetric(horizontal: 10),
alignment: Alignment.bottomCenter,
......@@ -1952,14 +2010,14 @@ class _OrdersdetailsbymodesState extends State<Ordersdetailsbymodes> {
_showLevelDeletionSheet(context);
},
child: Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(8),
color: Color(0xFFFFEFEF),
border: Border.all(
color: Color(0xFFED3424),
width: 0.5,
),
),
// decoration: BoxDecoration(
// borderRadius: BorderRadius.circular(8),
// color: Color(0xFFFFEFEF),
// border: Border.all(
// color: Color(0xFFED3424),
// width: 0.5,
// ),
// ),
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
......@@ -3474,6 +3532,283 @@ class _OrdersdetailsbymodesState extends State<Ordersdetailsbymodes> {
);
}
Future<void> _showVerifyOTPSheet(BuildContext context) {
return showModalBottomSheet(
useSafeArea: true,
isDismissible: true,
isScrollControlled: true,
showDragHandle: true,
backgroundColor: Colors.white,
enableDrag: true,
context: context,
builder: (context) {
return StatefulBuilder(
builder: (context, setState) {
return SafeArea(
child: Consumer<Pagesdashboardprovider>(
builder: (context, provider, child) {
return Padding(
padding: EdgeInsets.only(
bottom:
MediaQuery.of(
context,
).viewInsets.bottom, // This handles keyboard
),
child: Container(
margin: EdgeInsets.only(
bottom: 15,
left: 15,
right: 15,
top: 10,
),
child: SingleChildScrollView(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisSize: MainAxisSize.min,
children: [
Align(
alignment: Alignment.center,
child: Text(
"Enter OTP",
style: TextStyle(
color: AppColors.app_blue,
fontSize: 16,
),
),
),
SizedBox(height: 15),
Column(
children: [
// Container(
// alignment: Alignment.center,
//
// height: 50,
// margin: EdgeInsets.only(
// left: 5.0,
// right: 5.0,
// ),
// child: Pinput(
// controller: provider.otpController,
// appContext: context,
// pastedTextStyle: TextStyle(
// fontWeight: FontWeight.bold,
// ),
// length: 4,
// blinkWhenObscuring: true,
//
// animationType: AnimationType.fade,
// // validator: (v) {
// // if (v!.length < 3) {
// // return "I'm from validator";
// // } else {
// // return null;
// // }
// // },
// pinTheme: PinTheme(
// shape: PinCodeFieldShape.underline,
// borderRadius: BorderRadius.circular(16),
// fieldHeight: 60,
// fieldWidth: 60,
// activeFillColor:
// AppColors.text_field_color,
// activeColor: AppColors.app_blue,
// selectedColor: AppColors.text_field_color,
// selectedFillColor:
// AppColors.text_field_color,
// inactiveFillColor:
// AppColors.text_field_color,
// inactiveColor: AppColors.text_field_color,
// fieldOuterPadding: EdgeInsets.only(
// left: 5,
// right: 5,
// ),
// inactiveBorderWidth: 0,
// activeBorderWidth: 0.5,
// ),
// enableActiveFill: true,
// keyboardType: TextInputType.number,
// boxShadows: const [
// BoxShadow(
// offset: Offset(0, 1),
// color: Colors.black12,
// blurRadius: 10,
// ),
// ],
// onCompleted: (String enteredCode) {
// provider.enteredOtp = enteredCode;
// // clearText = true;
// provider.verifyOrderAPIFunction(context,widget.orderId);
//
// debugPrint("Completed");
// },
// // onTap: () {
// // print("Pressed");
// // },
// onChanged: (String enteredCode) {
// debugPrint(enteredCode);
//
// provider.enteredOtp = enteredCode;
// },
// onSubmitted: (String enteredCode) {
// provider.enteredOtp = enteredCode;
// // clearText = true;
// // Verify_otp();
// },
// enablePinAutofill: true,
// useExternalAutoFillGroup: true,
// beforeTextPaste: (text) {
// debugPrint("Allowing to paste $text");
// //if you return true then it will show the paste confirmation dialog. Otherwise if false, then nothing will happen.
// //but you can show anything you want here, like your pop up saying wrong paste format or etc
// return true;
// },
// ),
// ),
Container(
margin: EdgeInsets.zero,
width: MediaQuery.of(context).size.width * 0.78,
child: Pinput(
useNativeKeyboard: true,
// pastedTextStyle: TextStyle(
// color: ColorConstant.Fillcolor,
// fontWeight: FontWeight.bold,
// ),
length: 4,
autofocus: true,
showCursor: true,
animationCurve: Curves.bounceInOut,
// controller: provider.otpController,
hapticFeedbackType:
HapticFeedbackType.mediumImpact,
// defaultPinTheme: PinTheme(
// height: 50,
// width: 60,
// decoration: BoxDecoration(
// borderRadius: BorderRadius.circular(15),
// color: Color(0xFFF5F5F5)),
// ),
// focusedPinTheme: PinTheme(
// height: 50,
// width: 60,
// decoration: BoxDecoration(
// border:
// Border.all(color: AppColors.cyan_blue),
// borderRadius: BorderRadius.circular(15),
// color: Color(0xFFF5F5F5)),
// ),
// submittedPinTheme: PinTheme(
// height: 50,
// width: 60,
// textStyle: TextStyle(color: Colors.white),
// decoration: BoxDecoration(
// border:
// Border.all(color: AppColors.cyan_blue),
// borderRadius: BorderRadius.circular(15),
// color: AppColors.cyan_blue),
// ),
keyboardType: TextInputType.numberWithOptions(),
textInputAction: (Platform.isAndroid)
? TextInputAction.none
: TextInputAction.done,
inputFormatters: <TextInputFormatter>[
FilteringTextInputFormatter.digitsOnly,
],
onCompleted: (String enteredCode) {
provider.enteredOtp = enteredCode;
provider.verifyOrderAPIFunction(context, provider.orderDetails.id,provider.enteredOtp);
},
onChanged: (String enteredCode) {
provider.enteredOtp = enteredCode;
},
// onSubmitted: (String enteredCode) {
// setState(() {
// enteredOtp = enteredCode;
// clearText = true;
// //Verify_otp();
// });
// },
),
),
SizedBox(height: 15),
Container(
alignment: Alignment.center,
height: 45,
margin: EdgeInsets.only(
left: 5.0,
right: 5.0,
top: 5.0,
bottom: 5.0,
),
child: InkResponse(
onTap: () {
provider.ResendOtpAPI(context,provider.orderDetails.id);
},
child: Center(
child: Text(
"Resend",
style: TextStyle(
fontWeight: FontWeight.w300,
),
),
),
),
),
InkResponse(
onTap: () async{
await provider.verifyOrderAPIFunction(context,provider.orderDetails.id,provider.enteredOtp);
},
child: Container(
alignment: Alignment.center,
height: 45,
margin: EdgeInsets.only(
left: 5.0,
right: 5.0,
top: 5.0,
bottom: 5.0,
),
decoration: BoxDecoration(
color: AppColors.app_blue, //1487C9
borderRadius: BorderRadius.circular(15.0),
),
child: Center(
child: Text(
"Submit",
textAlign: TextAlign.center,
style: TextStyle(
fontSize: 15,
fontFamily: "JakartaMedium",
color: Colors.white,
),
),
),
),
),
],
),
],
),
),
),
);
},
),
);
},
);
},
);
}
Future<void> _showFeedbackSheet(BuildContext context) {
return showModalBottomSheet(
useSafeArea: true,
......
......@@ -927,7 +927,7 @@ class _PaymentdetailsState extends State<Paymentdetails> {
controllersNames[index],
)
? 10
: 998895646546561356,
: 228,
maxLines: 1,
keyboardType:
......
......@@ -3110,6 +3110,61 @@ class ApiCalling {
}
}
static Future<CommonResponse?> verifyOrderAPI(
empId,
session,
order_id,
otp,
) async {
try {
Map<String, String> data = {
'emp_id': (empId).toString(),
'session_id': (session).toString(),
"order_id": order_id.toString(),
"otp": otp.toString(),
};
final res = await post(data, ordersVerifyOtpUrl, {});
if (res != null) {
print(data);
debugPrint(res.body);
return CommonResponse.fromJson(jsonDecode(res.body));
} else {
debugPrint("Null Response");
return null;
}
} catch (e) {
debugPrint('hello bev=bug $e ');
return null;
}
}
static Future<CommonResponse?> resendOTPOrderAPI(
empId,
session,
order_id,
) async {
try {
Map<String, String> data = {
'emp_id': (empId).toString(),
'session_id': (session).toString(),
"order_id": order_id.toString(),
};
final res = await post(data, ordersResendOtpUrl, {});
if (res != null) {
print(data);
debugPrint(res.body);
return CommonResponse.fromJson(jsonDecode(res.body));
} else {
debugPrint("Null Response");
return null;
}
} catch (e) {
debugPrint('hello bev=bug $e ');
return null;
}
}
static Future<CommonResponse?> paymentOrderDeleteAPI(
empId,
session,
......
......@@ -116,6 +116,8 @@ const ordersAddPaymentSelectOrderUrl ="${baseUrl_test}select_order_for_order_pay
const ordersPaymentListFilterUrl = "${baseUrl_test}crm_payments_list_view";
const ordersPaymentListByModeUrl = "${baseUrl_test}crm_payments_list_filter_submit";
const ordersPaymentListDeleteUrl = "${baseUrl_test}delete_crm_order_payment";
const ordersVerifyOtpUrl = "${baseUrl_test}verify_otp_add_order";
const ordersResendOtpUrl = "${baseUrl_test}resend_otp_add_order";
const ordersPaymentListApproveRejectUrl = "${baseUrl_test}crm_approve_reject_payment";
const ordersPaymentDetailsUrl = "${baseUrl_test}crm_payment_details";
const ordersPaymentDetailsAddOrderUrl = "${baseUrl_test}crm_payment_add_adjusted_orders";
......
# Generated by pub
# See https://dart.dev/tools/pub/glossary#lockfile
packages:
_fe_analyzer_shared:
dependency: transitive
description:
name: _fe_analyzer_shared
sha256: f0bb5d1648339c8308cc0b9838d8456b3cfe5c91f9dc1a735b4d003269e5da9a
url: "https://pub.dev"
source: hosted
version: "88.0.0"
_flutterfire_internals:
dependency: transitive
description:
......@@ -9,6 +17,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "1.3.54"
analyzer:
dependency: transitive
description:
name: analyzer
sha256: "0b7b9c329d2879f8f05d6c05b32ee9ec025f39b077864bdb5ac9a7b63418a98f"
url: "https://pub.dev"
source: hosted
version: "8.1.1"
android_id:
dependency: "direct main"
description:
......@@ -45,10 +61,10 @@ packages:
dependency: transitive
description:
name: async
sha256: "758e6d74e971c3e5aceb4110bfd6698efc7f501675bcfe0c775459a8140750eb"
sha256: d2872f9c19731c2e5f10444b14686eb7cc85c76274bd6c16e1816bff9a3bab63
url: "https://pub.dev"
source: hosted
version: "2.13.0"
version: "2.12.0"
auto_size_text:
dependency: "direct main"
description:
......@@ -65,6 +81,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "2.2.9"
bazel_worker:
dependency: transitive
description:
name: bazel_worker
sha256: "373a6ef07caa6c674c1cf144a5fe1e0f712c040552031ce669f298e35f7e110a"
url: "https://pub.dev"
source: hosted
version: "1.1.3"
bidi:
dependency: transitive
description:
......@@ -81,6 +105,86 @@ packages:
url: "https://pub.dev"
source: hosted
version: "2.1.2"
build:
dependency: transitive
description:
name: build
sha256: "6439a9c71a4e6eca8d9490c1b380a25b02675aa688137dfbe66d2062884a23ac"
url: "https://pub.dev"
source: hosted
version: "3.0.2"
build_config:
dependency: transitive
description:
name: build_config
sha256: "4f64382b97504dc2fcdf487d5aae33418e08b4703fc21249e4db6d804a4d0187"
url: "https://pub.dev"
source: hosted
version: "1.2.0"
build_daemon:
dependency: transitive
description:
name: build_daemon
sha256: "8e928697a82be082206edb0b9c99c5a4ad6bc31c9e9b8b2f291ae65cd4a25daa"
url: "https://pub.dev"
source: hosted
version: "4.0.4"
build_modules:
dependency: transitive
description:
name: build_modules
sha256: "78f00844db79736785b1f00aa416bf8187936a4033246104f299e60c8ba73531"
url: "https://pub.dev"
source: hosted
version: "5.0.16"
build_resolvers:
dependency: transitive
description:
name: build_resolvers
sha256: "2b21a125d66a86b9511cc3fb6c668c42e9a1185083922bf60e46d483a81a9712"
url: "https://pub.dev"
source: hosted
version: "3.0.2"
build_runner:
dependency: "direct main"
description:
name: build_runner
sha256: fd3c09f4bbff7fa6e8d8ef688a0b2e8a6384e6483a25af0dac75fef362bcfe6f
url: "https://pub.dev"
source: hosted
version: "2.7.0"
build_runner_core:
dependency: transitive
description:
name: build_runner_core
sha256: ab27e46c8aa233e610cf6084ee6d8a22c6f873a0a9929241d8855b7a72978ae7
url: "https://pub.dev"
source: hosted
version: "9.3.0"
build_web_compilers:
dependency: "direct main"
description:
name: build_web_compilers
sha256: "7a6bb81907c3cdcc538af003db497cb9af37c94991bc960f9f25affd7a15df15"
url: "https://pub.dev"
source: hosted
version: "4.2.2"
built_collection:
dependency: transitive
description:
name: built_collection
sha256: "376e3dd27b51ea877c28d525560790aee2e6fbb5f20e2f85d5081027d94e2100"
url: "https://pub.dev"
source: hosted
version: "5.1.1"
built_value:
dependency: transitive
description:
name: built_value
sha256: ba95c961bafcd8686d1cf63be864eb59447e795e124d98d6a27d91fcd13602fb
url: "https://pub.dev"
source: hosted
version: "8.11.1"
cached_network_image:
dependency: "direct main"
description:
......@@ -153,6 +257,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "1.4.0"
checked_yaml:
dependency: transitive
description:
name: checked_yaml
sha256: feb6bed21949061731a7a75fc5d2aa727cf160b91af9a3e464c5e3a32e28b5ff
url: "https://pub.dev"
source: hosted
version: "2.0.3"
clock:
dependency: transitive
description:
......@@ -161,6 +273,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "1.1.2"
code_builder:
dependency: transitive
description:
name: code_builder
sha256: "0ec10bf4a89e4c613960bf1e8b42c64127021740fb21640c29c909826a5eea3e"
url: "https://pub.dev"
source: hosted
version: "4.10.1"
collection:
dependency: "direct main"
description:
......@@ -233,6 +353,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "1.0.8"
dart_style:
dependency: transitive
description:
name: dart_style
sha256: c87dfe3d56f183ffe9106a18aebc6db431fc7c98c31a54b952a77f3d54a85697
url: "https://pub.dev"
source: hosted
version: "3.1.2"
dbus:
dependency: transitive
description:
......@@ -317,10 +445,10 @@ packages:
dependency: transitive
description:
name: fake_async
sha256: "5368f224a74523e8d2e7399ea1638b37aecfca824a3cc4dfdf77bf1fa905ac44"
sha256: "6a95e56b2449df2273fd8c45a662d6947ce1ebb7aafe80e550a3f68297f3cacc"
url: "https://pub.dev"
source: hosted
version: "1.3.3"
version: "1.3.2"
ffi:
dependency: transitive
description:
......@@ -720,6 +848,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "8.2.12"
frontend_server_client:
dependency: transitive
description:
name: frontend_server_client
sha256: f64a0333a82f30b0cca061bc3d143813a486dc086b574bfb233b7c1372427694
url: "https://pub.dev"
source: hosted
version: "4.0.0"
geocoding:
dependency: "direct main"
description:
......@@ -808,6 +944,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "4.7.2"
glob:
dependency: transitive
description:
name: glob
sha256: c3f1ee72c96f8f78935e18aa8cecced9ab132419e8625dc187e1c2408efc20de
url: "https://pub.dev"
source: hosted
version: "2.1.3"
google_maps:
dependency: transitive
description:
......@@ -856,6 +1000,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "0.5.12"
graphs:
dependency: transitive
description:
name: graphs
sha256: "741bbf84165310a68ff28fe9e727332eef1407342fca52759cb21ad8177bb8d0"
url: "https://pub.dev"
source: hosted
version: "2.3.2"
html:
dependency: transitive
description:
......@@ -872,6 +1024,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "1.3.0"
http_multi_server:
dependency: transitive
description:
name: http_multi_server
sha256: aa6199f908078bb1c5efb8d8638d4ae191aac11b311132c3ef48ce352fb52ef8
url: "https://pub.dev"
source: hosted
version: "3.2.2"
http_parser:
dependency: transitive
description:
......@@ -968,6 +1128,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "0.20.2"
io:
dependency: transitive
description:
name: io
sha256: dfd5a80599cf0165756e3181807ed3e77daf6dd4137caaad72d0b7931597650b
url: "https://pub.dev"
source: hosted
version: "1.0.5"
js:
dependency: transitive
description:
......@@ -976,30 +1144,38 @@ packages:
url: "https://pub.dev"
source: hosted
version: "0.6.7"
json_annotation:
dependency: transitive
description:
name: json_annotation
sha256: "1ce844379ca14835a50d2f019a3099f419082cfdd231cd86a142af94dd5c6bb1"
url: "https://pub.dev"
source: hosted
version: "4.9.0"
leak_tracker:
dependency: transitive
description:
name: leak_tracker
sha256: "8dcda04c3fc16c14f48a7bb586d4be1f0d1572731b6d81d51772ef47c02081e0"
sha256: c35baad643ba394b40aac41080300150a4f08fd0fd6a10378f8f7c6bc161acec
url: "https://pub.dev"
source: hosted
version: "11.0.1"
version: "10.0.8"
leak_tracker_flutter_testing:
dependency: transitive
description:
name: leak_tracker_flutter_testing
sha256: "1dbc140bb5a23c75ea9c4811222756104fbcd1a27173f0c34ca01e16bea473c1"
sha256: f8b613e7e6a13ec79cfdc0e97638fddb3ab848452eff057653abd3edba760573
url: "https://pub.dev"
source: hosted
version: "3.0.10"
version: "3.0.9"
leak_tracker_testing:
dependency: transitive
description:
name: leak_tracker_testing
sha256: "8d5a2d49f4a66b49744b23b018848400d23e54caf9463f4eb20df3eb8acb2eb1"
sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3"
url: "https://pub.dev"
source: hosted
version: "3.0.2"
version: "3.0.1"
lints:
dependency: transitive
description:
......@@ -1032,6 +1208,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "6.0.0"
logging:
dependency: transitive
description:
name: logging
sha256: c8245ada5f1717ed44271ed1c26b8ce85ca3228fd2ffdb75468ab01979309d61
url: "https://pub.dev"
source: hosted
version: "1.3.0"
matcher:
dependency: transitive
description:
......@@ -1088,6 +1272,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "2.1.0"
package_config:
dependency: transitive
description:
name: package_config
sha256: f096c55ebb7deb7e384101542bfba8c52696c1b56fca2eb62827989ef2353bbc
url: "https://pub.dev"
source: hosted
version: "2.2.0"
package_info_plus:
dependency: "direct main"
description:
......@@ -1248,6 +1440,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "8.0.1"
pinput:
dependency: "direct main"
description:
name: pinput
sha256: "8a73be426a91fefec90a7f130763ca39772d547e92f19a827cf4aa02e323d35a"
url: "https://pub.dev"
source: hosted
version: "5.0.1"
platform:
dependency: transitive
description:
......@@ -1264,6 +1464,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "2.1.8"
pool:
dependency: transitive
description:
name: pool
sha256: "20fe868b6314b322ea036ba325e6fc0711a22948856475e2c2b6306e8ab39c2a"
url: "https://pub.dev"
source: hosted
version: "1.5.1"
printing:
dependency: "direct main"
description:
......@@ -1272,6 +1480,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "5.14.2"
protobuf:
dependency: transitive
description:
name: protobuf
sha256: de9c9eb2c33f8e933a42932fe1dc504800ca45ebc3d673e6ed7f39754ee4053e
url: "https://pub.dev"
source: hosted
version: "4.2.0"
provider:
dependency: "direct main"
description:
......@@ -1280,6 +1496,22 @@ packages:
url: "https://pub.dev"
source: hosted
version: "6.1.5"
pub_semver:
dependency: transitive
description:
name: pub_semver
sha256: "5bfcf68ca79ef689f8990d1160781b4bad40a3bd5e5218ad4076ddb7f4081585"
url: "https://pub.dev"
source: hosted
version: "2.2.0"
pubspec_parse:
dependency: transitive
description:
name: pubspec_parse
sha256: "0560ba233314abbed0a48a2956f7f022cce7c3e1e73df540277da7544cad4082"
url: "https://pub.dev"
source: hosted
version: "1.5.0"
qr:
dependency: transitive
description:
......@@ -1312,6 +1544,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "2.1.0"
scratch_space:
dependency: transitive
description:
name: scratch_space
sha256: "816989dd0a1f92cd5f0db012ed330035571034956dc3593fba66aaa6ee6a7e43"
url: "https://pub.dev"
source: hosted
version: "1.1.0"
share_plus:
dependency: "direct main"
description:
......@@ -1384,11 +1624,35 @@ packages:
url: "https://pub.dev"
source: hosted
version: "2.4.1"
shelf:
dependency: transitive
description:
name: shelf
sha256: e7dd780a7ffb623c57850b33f43309312fc863fb6aa3d276a754bb299839ef12
url: "https://pub.dev"
source: hosted
version: "1.4.2"
shelf_web_socket:
dependency: transitive
description:
name: shelf_web_socket
sha256: "3632775c8e90d6c9712f883e633716432a27758216dfb61bd86a8321c0580925"
url: "https://pub.dev"
source: hosted
version: "3.0.0"
sky_engine:
dependency: transitive
description: flutter
source: sdk
version: "0.0.0"
source_maps:
dependency: transitive
description:
name: source_maps
sha256: "190222579a448b03896e0ca6eca5998fa810fda630c1d65e2f78b3f638f54812"
url: "https://pub.dev"
source: hosted
version: "0.10.13"
source_span:
dependency: transitive
description:
......@@ -1581,6 +1845,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "0.10.1"
timing:
dependency: transitive
description:
name: timing
sha256: "62ee18aca144e4a9f29d212f5a4c6a053be252b895ab14b5821996cff4ed90fe"
url: "https://pub.dev"
source: hosted
version: "1.0.2"
tuple:
dependency: "direct main"
description:
......@@ -1597,6 +1869,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "1.4.0"
universal_platform:
dependency: transitive
description:
name: universal_platform
sha256: "64e16458a0ea9b99260ceb5467a214c1f298d647c659af1bff6d3bf82536b1ec"
url: "https://pub.dev"
source: hosted
version: "1.1.0"
url_launcher:
dependency: "direct main"
description:
......@@ -1705,10 +1985,18 @@ packages:
dependency: transitive
description:
name: vm_service
sha256: ddfa8d30d89985b96407efce8acbdd124701f96741f2d981ca860662f1c0dc02
sha256: "0968250880a6c5fe7edc067ed0a13d4bae1577fe2771dcf3010d52c4a9d3ca14"
url: "https://pub.dev"
source: hosted
version: "14.3.1"
watcher:
dependency: transitive
description:
name: watcher
sha256: "0b7fd4a0bbc4b92641dbf20adfd7e3fd1398fe17102d94b674234563e110088a"
url: "https://pub.dev"
source: hosted
version: "15.0.0"
version: "1.1.2"
web:
dependency: transitive
description:
......@@ -1781,6 +2069,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "6.5.0"
yaml:
dependency: transitive
description:
name: yaml
sha256: b9da305ac7c39faa3f030eccd175340f968459dae4af175130b3fc47e40d76ce
url: "https://pub.dev"
source: hosted
version: "3.1.3"
sdks:
dart: ">=3.7.2 <4.0.0"
dart: ">=3.7.2 <3.10.0-z"
flutter: ">=3.27.0"
......@@ -86,6 +86,9 @@ dependencies:
dotted_line: ^3.2.3
flutter_slidable: ^4.0.0
dropdown_search: ^6.0.2
pinput: ^5.0.1
build_runner: ^2.4.0
build_web_compilers: ^4.0.4
dev_dependencies:
flutter_test:
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment