Merge branch 'dev_v3.13.6' into dev_v_3.13.6_CR_6804

# Conflicts:
#	lib/config/config.dart
#	lib/config/localized_values.dart
#	lib/uitl/app_shared_preferences.dart
merge-update-with-lab-changes
haroon amjad 2 years ago
commit 9f629afb9c

@ -549,7 +549,7 @@
"$(inherited)", "$(inherited)",
"$(PROJECT_DIR)/Flutter", "$(PROJECT_DIR)/Flutter",
); );
MARKETING_VERSION = 4.5.93; MARKETING_VERSION = 4.5.95;
PRODUCT_BUNDLE_IDENTIFIER = "com.HMG.HMG-Smartphone"; PRODUCT_BUNDLE_IDENTIFIER = "com.HMG.HMG-Smartphone";
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = ""; PROVISIONING_PROFILE_SPECIFIER = "";
@ -696,7 +696,7 @@
"$(inherited)", "$(inherited)",
"$(PROJECT_DIR)/Flutter", "$(PROJECT_DIR)/Flutter",
); );
MARKETING_VERSION = 4.5.93; MARKETING_VERSION = 4.5.95;
PRODUCT_BUNDLE_IDENTIFIER = "com.HMG.HMG-Smartphone"; PRODUCT_BUNDLE_IDENTIFIER = "com.HMG.HMG-Smartphone";
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = ""; PROVISIONING_PROFILE_SPECIFIER = "";
@ -734,7 +734,7 @@
"$(inherited)", "$(inherited)",
"$(PROJECT_DIR)/Flutter", "$(PROJECT_DIR)/Flutter",
); );
MARKETING_VERSION = 4.5.93; MARKETING_VERSION = 4.5.95;
PRODUCT_BUNDLE_IDENTIFIER = "com.HMG.HMG-Smartphone"; PRODUCT_BUNDLE_IDENTIFIER = "com.HMG.HMG-Smartphone";
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = ""; PROVISIONING_PROFILE_SPECIFIER = "";

@ -1981,4 +1981,5 @@ const Map localizedValues = {
"newAppointment":{"en":"New Appointment","ar":"موعد جديد"}, "newAppointment":{"en":"New Appointment","ar":"موعد جديد"},
"proceedPackage":{"en":"Proceed with package","ar":"المضي قدما في الحزمة"}, "proceedPackage":{"en":"Proceed with package","ar":"المضي قدما في الحزمة"},
"searchClinic": {"en": "Search Clinic", "ar": "بحث العيادة"},
}; };

@ -203,9 +203,9 @@ class BaseAppClient {
body.removeWhere((key, value) => key == null || value == null); body.removeWhere((key, value) => key == null || value == null);
// if (AppGlobal.isNetworkDebugEnabled) { // if (AppGlobal.isNetworkDebugEnabled) {
print("URL : $url"); // print("URL : $url");
final jsonBody = json.encode(body); // final jsonBody = json.encode(body);
print(jsonBody); // print(jsonBody);
// } // }
if (await Utils.checkConnection( if (await Utils.checkConnection(

@ -290,7 +290,6 @@ class ConfirmPaymentPage extends StatelessWidget {
GifLoaderDialogUtils.showMyDialog(AppGlobal.context); GifLoaderDialogUtils.showMyDialog(AppGlobal.context);
service.addAdvancedNumberRequest(advanceNumber, paymentReference, appointmentID, AppGlobal.context).then((res) { service.addAdvancedNumberRequest(advanceNumber, paymentReference, appointmentID, AppGlobal.context).then((res) {
GifLoaderDialogUtils.hideDialog(AppGlobal.context); GifLoaderDialogUtils.hideDialog(AppGlobal.context);
print(res);
navigateToHome(AppGlobal.context); navigateToHome(AppGlobal.context);
}).catchError((err) { }).catchError((err) {
GifLoaderDialogUtils.hideDialog(AppGlobal.context); GifLoaderDialogUtils.hideDialog(AppGlobal.context);

@ -1,6 +1,8 @@
import "dart:collection"; import "dart:collection";
import 'package:auto_size_text/auto_size_text.dart';
import 'package:diplomaticquarterapp/config/shared_pref_kay.dart'; import 'package:diplomaticquarterapp/config/shared_pref_kay.dart';
import 'package:diplomaticquarterapp/config/size_config.dart';
import 'package:diplomaticquarterapp/core/model/hospitals/hospitals_model.dart'; import 'package:diplomaticquarterapp/core/model/hospitals/hospitals_model.dart';
import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart'; import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
import 'package:diplomaticquarterapp/models/Appointments/DoctorListResponse.dart'; import 'package:diplomaticquarterapp/models/Appointments/DoctorListResponse.dart';
@ -73,7 +75,7 @@ class _SearchByClinicState extends State<SearchByClinic> {
super.initState(); super.initState();
} }
void checkPVM(){ void checkPVM() {
if (context.read<ProjectViewModel>().isLogin) { if (context.read<ProjectViewModel>().isLogin) {
if (radioValue == null) { if (radioValue == null) {
if (context.read<ProjectViewModel>().user.gender == 1) { if (context.read<ProjectViewModel>().user.gender == 1) {
@ -89,7 +91,6 @@ class _SearchByClinicState extends State<SearchByClinic> {
ageController.text = context.read<ProjectViewModel>().isLogin ? context.read<ProjectViewModel>().user!.age.toString() : ""; ageController.text = context.read<ProjectViewModel>().isLogin ? context.read<ProjectViewModel>().user!.age.toString() : "";
ageController.selection = TextSelection.fromPosition(TextPosition(offset: ageController.text.length)); ageController.selection = TextSelection.fromPosition(TextPosition(offset: ageController.text.length));
} }
} }
@override @override
@ -209,7 +210,18 @@ class _SearchByClinicState extends State<SearchByClinic> {
}); });
}, },
), ),
Text(TranslationBase.of(context).nearestAppo, style: TextStyle(fontSize: 14.0, letterSpacing: -0.56)), AutoSizeText(
TranslationBase.of(context).nearestAppo.trim(),
maxLines: 1,
minFontSize: 10,
style: TextStyle(
fontSize: SizeConfig.textMultiplier! * 1.4,
fontWeight: FontWeight.w600,
letterSpacing: -0.39,
height: 0.8,
),
),
// Text(TranslationBase.of(context).nearestAppo, style: TextStyle(fontSize: 14.0, letterSpacing: -0.56)),
], ],
), ),
), ),
@ -327,7 +339,18 @@ class _SearchByClinicState extends State<SearchByClinic> {
items: projectsList.map((HospitalsModel item) { items: projectsList.map((HospitalsModel item) {
return DropdownMenuItem<HospitalsModel>( return DropdownMenuItem<HospitalsModel>(
value: item, value: item,
child: Text('${item.name!}'), child: AutoSizeText(
item.name!,
maxLines: 1,
minFontSize: 10,
style: TextStyle(
fontSize: SizeConfig.textMultiplier! * 1.6,
fontWeight: FontWeight.w600,
letterSpacing: -0.39,
height: 0.8,
),
),
// Text('${item.name!}'),
); );
}).toList(), }).toList(),
onChanged: (HospitalsModel? newValue) async { onChanged: (HospitalsModel? newValue) async {
@ -650,7 +673,7 @@ class _SearchByClinicState extends State<SearchByClinic> {
}).catchError((err) { }).catchError((err) {
GifLoaderDialogUtils.hideDialog(context); GifLoaderDialogUtils.hideDialog(context);
print(err); print(err);
AppToast.showErrorToast(message: err); AppToast.showErrorToast(message: err, localContext: context);
}); });
} }

@ -1,4 +1,7 @@
import 'package:auto_size_text/auto_size_text.dart';
import 'package:diplomaticquarterapp/config/size_config.dart';
import 'package:diplomaticquarterapp/models/Clinics/ClinicListResponse.dart'; import 'package:diplomaticquarterapp/models/Clinics/ClinicListResponse.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/uitl/utils_new.dart'; import 'package:diplomaticquarterapp/uitl/utils_new.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/rendering.dart'; import 'package:flutter/rendering.dart';
@ -79,7 +82,7 @@ class _ClickListDialogState extends State<ClickListDialog> {
}, },
decoration: InputDecoration( decoration: InputDecoration(
hintStyle: TextStyle(fontSize: 17), hintStyle: TextStyle(fontSize: 17),
hintText: 'Search Clinic', hintText: TranslationBase.of(context).searchClinic,
suffixIcon: Icon(Icons.search), suffixIcon: Icon(Icons.search),
border: InputBorder.none, border: InputBorder.none,
contentPadding: EdgeInsets.all(12), contentPadding: EdgeInsets.all(12),
@ -99,7 +102,19 @@ class _ClickListDialogState extends State<ClickListDialog> {
child: Row( child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween, mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [ children: [
Expanded(child: Text(tempClinicsList[index].clinicDescription!.trim())), Expanded(
child: AutoSizeText(
tempClinicsList[index].clinicDescription!.trim(),
maxLines: 1,
minFontSize: 10,
style: TextStyle(
fontSize: SizeConfig.textMultiplier! * 1.4,
fontWeight: FontWeight.w600,
letterSpacing: -0.39,
height: 0.8,
),
),
),
tempClinicsList[index].isLiveCareClinicAndOnline! tempClinicsList[index].isLiveCareClinicAndOnline!
? SvgPicture.asset( ? SvgPicture.asset(
'assets/images/new-design/video_icon_green_right.svg', 'assets/images/new-design/video_icon_green_right.svg',

@ -420,7 +420,6 @@ class _CovidPaymentSummaryState extends State<CovidPaymentSummary> {
addAdvancedNumberRequest(String advanceNumber, String paymentReference, String appointmentID) { addAdvancedNumberRequest(String advanceNumber, String paymentReference, String appointmentID) {
DoctorsListService service = new DoctorsListService(); DoctorsListService service = new DoctorsListService();
service.addAdvancedNumberRequest(advanceNumber, paymentReference, appointmentID, context).then((res) { service.addAdvancedNumberRequest(advanceNumber, paymentReference, appointmentID, context).then((res) {
print(res);
getAppoQR(context); getAppoQR(context);
}).catchError((err) { }).catchError((err) {
GifLoaderDialogUtils.hideDialog(context); GifLoaderDialogUtils.hideDialog(context);

@ -405,6 +405,7 @@ class _MyAppointmentsState extends State<MyAppointments> with SingleTickerProvid
Widget _appointmentExpandableList(List<PatientAppointmentList> _patientAppointmentList) { Widget _appointmentExpandableList(List<PatientAppointmentList> _patientAppointmentList) {
return ListView.separated( return ListView.separated(
addAutomaticKeepAlives: true,
physics: BouncingScrollPhysics(), physics: BouncingScrollPhysics(),
padding: EdgeInsets.only(top: 12), padding: EdgeInsets.only(top: 12),
separatorBuilder: (context, index) { separatorBuilder: (context, index) {

@ -322,7 +322,7 @@ class _LandingPageState extends State<LandingPage> with WidgetsBindingObserver {
// HMGNetworkConnectivity(context).start(); // HMGNetworkConnectivity(context).start();
_firebaseMessaging.getToken().then((String? token) { _firebaseMessaging.getToken().then((String? token) {
print("Firebase Token: " + token!); // print("Firebase Token: " + token!);
sharedPref.setString(PUSH_TOKEN, token!); sharedPref.setString(PUSH_TOKEN, token!);
if (Platform.isIOS) { if (Platform.isIOS) {
FirebaseMessaging.instance.getAPNSToken().then((value) { FirebaseMessaging.instance.getAPNSToken().then((value) {

@ -40,6 +40,7 @@ class AskDoctorPage extends StatelessWidget {
Widget _appointmentExpandableList(List<PatientDoctorAppointmentList> _patientDoctorAppointmentList, model) { Widget _appointmentExpandableList(List<PatientDoctorAppointmentList> _patientDoctorAppointmentList, model) {
return ListView.separated( return ListView.separated(
addAutomaticKeepAlives: true,
physics: BouncingScrollPhysics(), physics: BouncingScrollPhysics(),
padding: EdgeInsets.only(top: 12), padding: EdgeInsets.only(top: 12),
separatorBuilder: (context, index) { separatorBuilder: (context, index) {

@ -529,7 +529,6 @@ class _ConfirmPaymentPageState extends State<ConfirmPaymentPage> {
addAdvancedNumberRequest(String advanceNumber, String paymentReference, dynamic appointmentID, AppoitmentAllHistoryResultList appo) { addAdvancedNumberRequest(String advanceNumber, String paymentReference, dynamic appointmentID, AppoitmentAllHistoryResultList appo) {
DoctorsListService service = new DoctorsListService(); DoctorsListService service = new DoctorsListService();
service.addAdvancedNumberRequest(advanceNumber, paymentReference, appointmentID, AppGlobal.context).then((res) { service.addAdvancedNumberRequest(advanceNumber, paymentReference, appointmentID, AppGlobal.context).then((res) {
print(res);
GifLoaderDialogUtils.hideDialog(AppGlobal.context); GifLoaderDialogUtils.hideDialog(AppGlobal.context);
navigateToHome(AppGlobal.context); navigateToHome(AppGlobal.context);
}).catchError((err) { }).catchError((err) {

@ -53,6 +53,7 @@ class _LaboratoryResultPageState extends State<LaboratoryResultPage> {
child: Column( child: Column(
children: [ children: [
ListView.builder( ListView.builder(
addAutomaticKeepAlives: true,
physics: BouncingScrollPhysics(), physics: BouncingScrollPhysics(),
shrinkWrap: true, shrinkWrap: true,
padding: EdgeInsets.only(bottom: 12), padding: EdgeInsets.only(bottom: 12),

@ -17,7 +17,7 @@ import 'package:provider/provider.dart';
import 'laboratory_result_page.dart'; import 'laboratory_result_page.dart';
class LabsHomePage extends StatelessWidget { class LabsHomePage extends StatelessWidget {
List<ImagesInfo> imagesInfo =[]; List<ImagesInfo> imagesInfo = [];
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
@ -50,6 +50,7 @@ class LabsHomePage extends StatelessWidget {
child: FractionallySizedBox( child: FractionallySizedBox(
widthFactor: 1.0, widthFactor: 1.0,
child: ListView.separated( child: ListView.separated(
addAutomaticKeepAlives: true,
physics: BouncingScrollPhysics(), physics: BouncingScrollPhysics(),
padding: EdgeInsets.only(top: 12), padding: EdgeInsets.only(top: 12),
separatorBuilder: (context, index) { separatorBuilder: (context, index) {

@ -26,6 +26,7 @@ class PrescriptionsPage extends StatelessWidget {
return AppScaffold( return AppScaffold(
baseViewModel: prescriptionsViewModel, baseViewModel: prescriptionsViewModel,
body: ListView.separated( body: ListView.separated(
addAutomaticKeepAlives: true,
physics: BouncingScrollPhysics(), physics: BouncingScrollPhysics(),
padding: EdgeInsets.only(top: 12), padding: EdgeInsets.only(top: 12),
separatorBuilder: (context, index) { separatorBuilder: (context, index) {

@ -54,6 +54,7 @@ class RadiologyHomePage extends StatelessWidget {
child: FractionallySizedBox( child: FractionallySizedBox(
widthFactor: 1.0, widthFactor: 1.0,
child: ListView.separated( child: ListView.separated(
addAutomaticKeepAlives: true,
physics: BouncingScrollPhysics(), physics: BouncingScrollPhysics(),
padding: EdgeInsets.only(top: 12), padding: EdgeInsets.only(top: 12),
separatorBuilder: (context, index) { separatorBuilder: (context, index) {

@ -76,7 +76,8 @@ class AppSharedPreferences {
final SharedPreferences prefs = await _prefs; final SharedPreferences prefs = await _prefs;
await prefs.reload(); await prefs.reload();
String value = prefs.getString(key).toString(); String value = prefs.getString(key).toString();
return (value == null ) || (value =="null") ? defaultVal : value; return (value == null) || (value == "null") ? defaultVal : value;
// return value == null ? defaultVal : value;
} }
/// Get List of String [key] the key was saved /// Get List of String [key] the key was saved

@ -407,7 +407,7 @@ class PushNotificationHandler {
} }
onToken(String token) async { onToken(String token) async {
print("Push Notification Token: " + token); // print("Push Notification Token: " + token);
await AppSharedPreferences().setString(PUSH_TOKEN, token); await AppSharedPreferences().setString(PUSH_TOKEN, token);
DEVICE_TOKEN = token; DEVICE_TOKEN = token;
} }

@ -2963,6 +2963,7 @@ class TranslationBase {
String get selectHospitalBloodDonation => localizedValues["selectHospitalBloodDonation"][locale.languageCode]; String get selectHospitalBloodDonation => localizedValues["selectHospitalBloodDonation"][locale.languageCode];
String get wecare => localizedValues["wecare"][locale.languageCode]; String get wecare => localizedValues["wecare"][locale.languageCode];
String get myinstructions => localizedValues["myinstructions"][locale.languageCode]; String get myinstructions => localizedValues["myinstructions"][locale.languageCode];
String get searchClinic => localizedValues["searchClinic"][locale.languageCode];
String get existingPackage => localizedValues["existingPackage"][locale.languageCode]; String get existingPackage => localizedValues["existingPackage"][locale.languageCode];
String get continueOrbookNew => localizedValues["continueOrbookNew"][locale.languageCode]; String get continueOrbookNew => localizedValues["continueOrbookNew"][locale.languageCode];

@ -1,4 +1,5 @@
import 'dart:io' show Platform; import 'dart:io' show Platform;
import 'package:auto_size_text/auto_size_text.dart';
import 'package:barcode_scan2/barcode_scan2.dart'; import 'package:barcode_scan2/barcode_scan2.dart';
import 'package:diplomaticquarterapp/analytics/google-analytics.dart'; import 'package:diplomaticquarterapp/analytics/google-analytics.dart';
import 'package:diplomaticquarterapp/config/config.dart'; import 'package:diplomaticquarterapp/config/config.dart';
@ -144,17 +145,30 @@ class _AppDrawerState extends State<AppDrawer> {
(user != null && projectProvider!.isLogin) ? user!.firstName! + ' ' + user!.lastName! : TranslationBase.of(context).cantSeeProfile, (user != null && projectProvider!.isLogin) ? user!.firstName! + ' ' + user!.lastName! : TranslationBase.of(context).cantSeeProfile,
style: TextStyle(color: Color(0xff2E303A), fontWeight: FontWeight.bold, fontSize: 20, letterSpacing: -1.2, height: 35 / 20), style: TextStyle(color: Color(0xff2E303A), fontWeight: FontWeight.bold, fontSize: 20, letterSpacing: -1.2, height: 35 / 20),
), ),
Text( AutoSizeText(
(user != null && projectProvider!.isLogin) (user != null && projectProvider!.isLogin)
? TranslationBase.of(context).fileNumber + ": " + user!.patientID.toString() ? TranslationBase.of(context).fileNumber + ": " + user!.patientID.toString()
: TranslationBase.of(context).loginRegisterNow, : TranslationBase.of(context).loginRegisterNow,
maxLines: 1,
minFontSize: 10,
style: TextStyle( style: TextStyle(
color: Color(0xff2E303A), fontSize: SizeConfig.textMultiplier! * 1.6,
fontSize: 16, fontWeight: FontWeight.w600,
letterSpacing: -0.96, letterSpacing: -0.39,
height: 1, height: 0.8,
), ),
), ),
// Text(
// (user != null && projectProvider!.isLogin)
// ? TranslationBase.of(context).fileNumber + ": " + user!.patientID.toString()
// : TranslationBase.of(context).loginRegisterNow,
// style: TextStyle(
// color: Color(0xff2E303A),
// fontSize: 16,
// letterSpacing: -0.96,
// height: 1,
// ),
// ),
mHeight(20.0), mHeight(20.0),
(user != null && projectProvider!.isLogin) (user != null && projectProvider!.isLogin)
? Image.network("https://api.qrserver.com/v1/create-qr-code/?size=250x250&data=${user!.patientID.toString()}", fit: BoxFit.fill, height: 73.5, width: 73.5) ? Image.network("https://api.qrserver.com/v1/create-qr-code/?size=250x250&data=${user!.patientID.toString()}", fit: BoxFit.fill, height: 73.5, width: 73.5)

@ -1,5 +1,6 @@
import 'dart:ui'; import 'dart:ui';
import 'package:auto_size_text/auto_size_text.dart';
import 'package:diplomaticquarterapp/config/size_config.dart'; import 'package:diplomaticquarterapp/config/size_config.dart';
import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart'; import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
import 'package:diplomaticquarterapp/widgets/text/app_texts_widget.dart'; import 'package:diplomaticquarterapp/widgets/text/app_texts_widget.dart';
@ -60,13 +61,24 @@ class _DrawerItemState extends State<DrawerItem> {
child: Column(crossAxisAlignment: CrossAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.center, children: <Widget>[ child: Column(crossAxisAlignment: CrossAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.center, children: <Widget>[
Row( Row(
children: [ children: [
AppText( AutoSizeText(
widget.title!, widget.title!,
fontWeight: FontWeight.w600, maxLines: 1,
fontSize: widget.fontSize, minFontSize: 10,
height: widget.fontHeight, style: TextStyle(
letterSpacing: widget.letterSpacing, fontSize: SizeConfig.textMultiplier! * 1.6,
fontWeight: FontWeight.w600,
letterSpacing: -0.39,
height: 0.8,
),
), ),
// AppText(
// widget.title!,
// fontWeight: FontWeight.w600,
// fontSize: widget.fontSize,
// height: widget.fontHeight,
// letterSpacing: widget.letterSpacing,
// ),
widget.count ?? SizedBox(), widget.count ?? SizedBox(),
], ],
), ),

@ -38,9 +38,9 @@ class MyInAppBrowser extends InAppBrowser {
static String APPLE_PAY_PAYFORT_URL = 'https://hmgwebservices.com/PayFortWebLive/PayFortApi/MakeApplePayRequest'; // Payfort Payment Gateway URL LIVE static String APPLE_PAY_PAYFORT_URL = 'https://hmgwebservices.com/PayFortWebLive/PayFortApi/MakeApplePayRequest'; // Payfort Payment Gateway URL LIVE
// static String APPLE_PAY_PAYFORT_URL = 'https://hmgwebservices.com/PayFortWebLive/PayFortApi/MakeApplePayRequest'; // Payfort Payment Gateway URL UAT // static String APPLE_PAY_PAYFORT_URL = 'https://hmgwebservices.com/PayFortWebLive/PayFortApi/MakeApplePayRequest'; // Payfort Payment Gateway URL UAT
static String SERVICE_URL = 'https://hmgwebservices.com/PayFortWeb/pages/SendPayFortRequest.aspx'; // Payfort Payment Gateway URL UAT // static String SERVICE_URL = 'https://hmgwebservices.com/PayFortWeb/pages/SendPayFortRequest.aspx'; // Payfort Payment Gateway URL UAT
// static String SERVICE_URL = 'https://hmgwebservices.com/PayFortWebLive/pages/SendPayFortRequest.aspx'; //Payfort Payment Gateway URL LIVE static String SERVICE_URL = 'https://hmgwebservices.com/PayFortWebLive/pages/SendPayFortRequest.aspx'; //Payfort Payment Gateway URL LIVE
// static String SERVICE_URL = 'https://uat.hmgwebservices.com/payfortforvidaplus/pages/SendPayFortRequest.aspx'; //Payfort Payment Gateway URL UAT VIDA PLUS // static String SERVICE_URL = 'https://uat.hmgwebservices.com/payfortforvidaplus/pages/SendPayFortRequest.aspx'; //Payfort Payment Gateway URL UAT VIDA PLUS

@ -1,7 +1,7 @@
name: diplomaticquarterapp name: diplomaticquarterapp
description: A new Flutter application. description: A new Flutter application.
version: 4.5.061+4050061 version: 4.5.063+4050063
environment: environment:
sdk: ">=3.0.0 <3.13.0" sdk: ">=3.0.0 <3.13.0"

Loading…
Cancel
Save