Update to stores 16.5:

1. Indoor navigation
2. Walkin Appointment
3. Derma Package
4. NPHIES Eligibility
merge-update-with-lab-changes
haroon amjad 2 years ago
parent cee903dd6b
commit 073cb9f7e8

@ -23,15 +23,15 @@ var PACKAGES_TAMARA_OPT = '/api/orders/paymentoptions/tamara';
// var BASE_URL = 'http://10.50.100.198:2018/'; // var BASE_URL = 'http://10.50.100.198:2018/';
// var BASE_URL = 'http://10.50.100.198:4422/'; // var BASE_URL = 'http://10.50.100.198:4422/';
// var BASE_URL = 'https://uat.hmgwebservices.com/'; // var BASE_URL = 'https://uat.hmgwebservices.com/';
// var BASE_URL = 'https://hmgwebservices.com/'; var BASE_URL = 'https://hmgwebservices.com/';
// var BASE_URL = 'http://10.20.200.111:1010/'; // var BASE_URL = 'http://10.20.200.111:1010/';
// var BASE_URL = 'https://orash.cloudsolutions.com.sa/'; // var BASE_URL = 'https://orash.cloudsolutions.com.sa/';
// var BASE_URL = 'https://vidauat.cloudsolutions.com.sa/'; // var BASE_URL = 'https://vidauat.cloudsolutions.com.sa/';
// var BASE_URL = 'https://vidamergeuat.cloudsolutions.com.sa/'; // var BASE_URL = 'https://vidamergeuat.cloudsolutions.com.sa/';
var BASE_URL = 'https://webservices.hmg.com/'; // var BASE_URL = 'https://webservices.hmg.com/';
// var BASE_URL = 'http://10.50.100.198:4422/'; // var BASE_URL = 'http://10.200.204.42/';
// Pharmacy UAT URLs // Pharmacy UAT URLs
// var BASE_PHARMACY_URL = 'https://uat.hmgwebservices.com/epharmacy/api/'; // var BASE_PHARMACY_URL = 'https://uat.hmgwebservices.com/epharmacy/api/';
@ -354,7 +354,7 @@ var CAN_PAY_FOR_FOR_WALKIN_APPOINTMENT = 'Services/Doctors.svc/REST/CanPayForWal
var CHANNEL = 3; var CHANNEL = 3;
var GENERAL_ID = 'Cs2020@2016\$2958'; var GENERAL_ID = 'Cs2020@2016\$2958';
var IP_ADDRESS = '10.20.10.20'; var IP_ADDRESS = '10.20.10.20';
var VERSION_ID = 16.4; var VERSION_ID = 16.5;
var SETUP_ID = '91877'; var SETUP_ID = '91877';
var LANGUAGE = 2; var LANGUAGE = 2;
// var PATIENT_OUT_SA = 0; // var PATIENT_OUT_SA = 0;
@ -611,9 +611,9 @@ var GET_DENTAL_APPOINTMENT_INVOICE = "Services/Patients.svc/REST/HIS_eInvoiceFor
var SEND_DENTAL_APPOINTMENT_INVOICE_EMAIL = "Services/Notifications.svc/REST/SendInvoiceForDental"; var SEND_DENTAL_APPOINTMENT_INVOICE_EMAIL = "Services/Notifications.svc/REST/SendInvoiceForDental";
var GET_TAMARA_PLAN = 'https://mdlaboratories.com/tamara/Home/GetInstallments'; var GET_TAMARA_PLAN = 'https://mdlaboratories.com/tamaralive/Home/GetInstallments';
var GET_TAMARA_PAYMENT_STATUS = 'https://mdlaboratories.com/tamara/api/OnlineTamara/order_status?orderid='; var GET_TAMARA_PAYMENT_STATUS = 'https://mdlaboratories.com/tamaralive/api/OnlineTamara/order_status?orderid=';
var UPDATE_TAMARA_STATUS = 'Services/PayFort_Serv.svc/REST/Tamara_UpdateRequestStatus'; var UPDATE_TAMARA_STATUS = 'Services/PayFort_Serv.svc/REST/Tamara_UpdateRequestStatus';

@ -1994,5 +1994,7 @@ const Map localizedValues = {
"addToWaitingList": {"en": "Add to waiting list", "ar": "اضافه الى قائمة الانتظار"}, "addToWaitingList": {"en": "Add to waiting list", "ar": "اضافه الى قائمة الانتظار"},
"searchClinic": {"en": "Search Clinic", "ar": "بحث العيادة"}, "searchClinic": {"en": "Search Clinic", "ar": "بحث العيادة"},
"selectBranch":{"en":"Select Branch", "ar":"اختر الفرع"}, "selectBranch":{"en":"Select Branch", "ar":"اختر الفرع"},
"searchByBranch":{"en":"Search By Branch Name", "ar":"البحث عن طريق اسم الفرع"} "searchByBranch":{"en":"Search By Branch Name", "ar":"البحث عن طريق اسم الفرع"},
"hospitalNavigationTitle": {"en": "Hospital", "ar": "الملاحة"},
"hospitalNavigationSubtitle": {"en": "Navigation", "ar": "المستشفى"},
}; };

@ -72,11 +72,15 @@ class MedicalService extends BaseService {
dynamic localRes; dynamic localRes;
await baseAppClient.post(GET_DOCTOR_FREE_SLOTS, onSuccess: (response, statusCode) async { await baseAppClient.post(GET_DOCTOR_FREE_SLOTS, onSuccess: (response, statusCode) async {
localRes = response; localRes = response;
freeSlots.clear();
localRes['FreeTimeSlots'].forEach((item) => freeSlots.add(item));
}, onFailure: (String error, int statusCode) { }, onFailure: (String error, int statusCode) {
throw error; hasError = true;
super.error = error;
// throw error;
}, body: request); }, body: request);
freeSlots.clear(); // freeSlots.clear();
localRes['FreeTimeSlots'].forEach((item) => freeSlots.add(item)); // localRes['FreeTimeSlots'].forEach((item) => freeSlots.add(item));
// localRes['List_DoctorWorkingHoursTable'].forEach((item) => // localRes['List_DoctorWorkingHoursTable'].forEach((item) =>
// {doctorScheduleResponse.add(DoctorScheduleResponse.fromJson(item))}); // {doctorScheduleResponse.add(DoctorScheduleResponse.fromJson(item))});
} }

@ -48,7 +48,7 @@ class ProjectViewModel extends BaseViewModel {
GetAdmissionInfoResponseModel getAdmissionInfoResponseModel = GetAdmissionInfoResponseModel(); GetAdmissionInfoResponseModel getAdmissionInfoResponseModel = GetAdmissionInfoResponseModel();
GetAdmissionRequestInfoResponseModel getAdmissionRequestInfoResponseModel = GetAdmissionRequestInfoResponseModel(); GetAdmissionRequestInfoResponseModel getAdmissionRequestInfoResponseModel = GetAdmissionRequestInfoResponseModel();
bool isIndoorNavigationEnabled = false; bool isIndoorNavigationEnabled = true;
int waitingAppointmentProjectID = 0; int waitingAppointmentProjectID = 0;
DoctorList? waitingAppointmentDoctor; DoctorList? waitingAppointmentDoctor;

@ -191,8 +191,8 @@ class _AppointmentActionsState extends State<AppointmentActions> {
initPenguinSDK() async { initPenguinSDK() async {
NavigationClinicDetails data = NavigationClinicDetails(); NavigationClinicDetails data = NavigationClinicDetails();
// data.clinicId = widget.appo.clinicID.toString(); data.clinicId = widget.appo.clinicID.toString();
data.clinicId = "49"; // data.clinicId = "49";
data.patientId = widget.appo.patientID.toString(); data.patientId = widget.appo.patientID.toString();
data.projectId = widget.appo.projectID.toString(); data.projectId = widget.appo.projectID.toString();
final bool permited = await AppPermission.askPenguinPermissions(); final bool permited = await AppPermission.askPenguinPermissions();

@ -378,12 +378,12 @@ class _ToDoState extends State<ToDo> with SingleTickerProviderStateMixin {
), ),
), ),
), ),
if (projectViewModel.isIndoorNavigationEnabled) if (projectViewModel.isIndoorNavigationEnabled && projectViewModel.havePrivilege(107) && appoList[index].projectID == 130)
InkWell( InkWell(
onTap: () { onTap: () {
NavigationClinicDetails data = NavigationClinicDetails(); NavigationClinicDetails data = NavigationClinicDetails();
// data.clinicId = appoList[index].clinicID.toString(); data.clinicId = appoList[index].clinicID.toString();
data.clinicId = "46"; // data.clinicId = "46";
data.patientId = appoList[index].patientID.toString(); data.patientId = appoList[index].patientID.toString();
data.projectId = appoList[index].projectID.toString(); data.projectId = appoList[index].projectID.toString();
initPenguinSDK(data); initPenguinSDK(data);

@ -54,7 +54,7 @@ class _HomePageFragment2State extends State<HomePageFragment2> {
hmgServices.add(HmgServices(1, TranslationBase.of(context).liveCare, TranslationBase.of(context).onlineConsulting, "assets/images/new/Live_Care.svg", isLogin)); hmgServices.add(HmgServices(1, TranslationBase.of(context).liveCare, TranslationBase.of(context).onlineConsulting, "assets/images/new/Live_Care.svg", isLogin));
projectViewModel.isIndoorNavigationEnabled projectViewModel.isIndoorNavigationEnabled
? hmgServices.add(HmgServices(2, "Hospital", "Navigation", "assets/images/new/indoor_nav_home.svg", isLogin)) ? hmgServices.add(HmgServices(2, TranslationBase.of(context).hospitalNavigationTitle, TranslationBase.of(context).hospitalNavigationSubtitle, "assets/images/new/indoor_nav_home.svg", isLogin))
: hmgServices.add(HmgServices(2, TranslationBase.of(context).emergencyTitle, TranslationBase.of(context).emergencySubtitle, "assets/images/new/emergency.svg", isLogin)); : hmgServices.add(HmgServices(2, TranslationBase.of(context).emergencyTitle, TranslationBase.of(context).emergencySubtitle, "assets/images/new/emergency.svg", isLogin));
hmgServices.add(HmgServices(3, TranslationBase.of(context).hhcHome, TranslationBase.of(context).healthCare, "assets/images/new/HHC.svg", isLogin)); hmgServices.add(HmgServices(3, TranslationBase.of(context).hhcHome, TranslationBase.of(context).healthCare, "assets/images/new/HHC.svg", isLogin));
@ -346,7 +346,7 @@ class _HomePageFragment2State extends State<HomePageFragment2> {
itemCount: hmgServices.length, itemCount: hmgServices.length,
padding: EdgeInsets.zero, padding: EdgeInsets.zero,
itemBuilder: (BuildContext context, int index) { itemBuilder: (BuildContext context, int index) {
return ServicesView(hmgServices[index], index, true, projectViewModel, isLocked: hmgServices[index].action == 2 ? !projectViewModel.havePrivilege(107) : false); return ServicesView(hmgServices[index], index, true, projectViewModel, isLocked: (hmgServices[index].action == 2 && projectViewModel.isIndoorNavigationEnabled) ? !projectViewModel.havePrivilege(107) : false);
}, },
), ),
), ),

@ -195,6 +195,7 @@ class ServicesView extends StatelessWidget {
showDialog( showDialog(
context: context, context: context,
builder: (cxt) => LocationSelectionDialog( builder: (cxt) => LocationSelectionDialog(
isArabic: projectViewModel.isArabic,
data: projectsListLocal, data: projectsListLocal,
selectedIndex: _selectedHospitalIndex, selectedIndex: _selectedHospitalIndex,
onValueSelected: (index) { onValueSelected: (index) {
@ -215,7 +216,7 @@ class ServicesView extends StatelessWidget {
Permission.bluetoothScan, Permission.bluetoothScan,
Permission.activityRecognition, Permission.activityRecognition,
].request().whenComplete(() { ].request().whenComplete(() {
PenguinMethodChannel.launch("penguin", projectViewModel.isArabic ? "ar" : "en", "1231755"); PenguinMethodChannel.launch("penguin", projectViewModel.isArabic ? "ar" : "en", projectViewModel.authenticatedUserObject.user.patientID.toString());
}); });
} // } //
} }

@ -17,7 +17,8 @@ class PenguinMethodChannel {
"dataServiceName": "api", "dataServiceName": "api",
"positionServiceName": "pe", "positionServiceName": "pe",
"clientID": "HMG", "clientID": "HMG",
"username": "test", // "username": "test",
"username": username,
"isSimulationModeEnabled": false, "isSimulationModeEnabled": false,
"isShowUserName": false, "isShowUserName": false,
"isUpdateUserLocationSmoothly": true, "isUpdateUserLocationSmoothly": true,

@ -2983,6 +2983,9 @@ class TranslationBase {
String get continueOrbookNew => localizedValues["continueOrbookNew"][locale.languageCode]; String get continueOrbookNew => localizedValues["continueOrbookNew"][locale.languageCode];
String get newAppointment => localizedValues["newAppointment"][locale.languageCode]; String get newAppointment => localizedValues["newAppointment"][locale.languageCode];
String get proceedPackage => localizedValues["proceedPackage"][locale.languageCode]; String get proceedPackage => localizedValues["proceedPackage"][locale.languageCode];
String get hospitalNavigationTitle => localizedValues["hospitalNavigationTitle"][locale.languageCode];
String get hospitalNavigationSubtitle => localizedValues["hospitalNavigationSubtitle"][locale.languageCode];
} }
class TranslationBaseDelegate extends LocalizationsDelegate<TranslationBase> { class TranslationBaseDelegate extends LocalizationsDelegate<TranslationBase> {

@ -68,12 +68,12 @@ class Utils {
static var navigationProjectsList = [ static var navigationProjectsList = [
{ {
"Desciption": "Sahafa Hospital", "Desciption": "Sahafa Hospital",
"DesciptionN": null, "DesciptionN": "مستشفى الصحافة",
"ID": 130, "ID": 130,
"LegalName": "Sahafa Hospital", "LegalName": "Sahafa Hospital",
"LegalNameN": "مستشفى الصحافة", "LegalNameN": "مستشفى الصحافة",
"Name": "Sahafa Hospital", "Name": "Sahafa Hospital",
"NameN": null, "NameN": "مستشفى الصحافة",
"PhoneNumber": "+966115222222", "PhoneNumber": "+966115222222",
"SetupID": "013311", "SetupID": "013311",
"DistanceInKilometers": 0, "DistanceInKilometers": 0,

@ -10,12 +10,9 @@ class LocationSelectionDialog extends StatelessWidget {
final List<HospitalsModel> data; final List<HospitalsModel> data;
final Function(int)? onValueSelected; final Function(int)? onValueSelected;
final int? selectedIndex; final int? selectedIndex;
final bool isArabic;
const LocationSelectionDialog( const LocationSelectionDialog({super.key, required this.data, this.onValueSelected, this.selectedIndex, required this.isArabic});
{super.key,
required this.data,
this.onValueSelected,
this.selectedIndex});
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
@ -25,6 +22,7 @@ class LocationSelectionDialog extends StatelessWidget {
borderRadius: BorderRadius.circular(8), borderRadius: BorderRadius.circular(8),
), ),
child: LocationDialogBody( child: LocationDialogBody(
isArabic: isArabic,
data: data, data: data,
onValueSelected: onValueSelected, onValueSelected: onValueSelected,
selectedIndex: selectedIndex, selectedIndex: selectedIndex,
@ -36,12 +34,9 @@ class LocationDialogBody extends StatefulWidget {
final List<HospitalsModel> data; final List<HospitalsModel> data;
final Function(int)? onValueSelected; final Function(int)? onValueSelected;
final int? selectedIndex; final int? selectedIndex;
final bool isArabic;
const LocationDialogBody( const LocationDialogBody({super.key, required this.data, this.onValueSelected, this.selectedIndex, required this.isArabic});
{super.key,
required this.data,
this.onValueSelected,
this.selectedIndex});
@override @override
State<LocationDialogBody> createState() => _LocationDialogBodyState(); State<LocationDialogBody> createState() => _LocationDialogBodyState();
@ -55,6 +50,7 @@ class _LocationDialogBodyState extends State<LocationDialogBody> {
Widget build(BuildContext context) { Widget build(BuildContext context) {
return isListVisible return isListVisible
? LocationListExpandedBody( ? LocationListExpandedBody(
isArabic: widget.isArabic,
data: widget.data, data: widget.data,
onItemClick: (data) { onItemClick: (data) {
if (data.isEmpty) return; if (data.isEmpty) return;
@ -78,22 +74,19 @@ class _LocationDialogBodyState extends State<LocationDialogBody> {
isListVisible = true; isListVisible = true;
}); });
}, },
selectedText: currentlySelected == -1 selectedText: currentlySelected == -1 ? "" : widget.data[currentlySelected].name ?? "");
? ""
: widget.data[currentlySelected].name ?? "");
} }
} }
class LocationListExpandedBody extends StatefulWidget { class LocationListExpandedBody extends StatefulWidget {
final List<HospitalsModel> data; final List<HospitalsModel> data;
final Function(String) onItemClick; final Function(String) onItemClick;
final bool isArabic;
const LocationListExpandedBody( const LocationListExpandedBody({super.key, required this.data, required this.onItemClick, required this.isArabic});
{super.key, required this.data, required this.onItemClick});
@override @override
State<LocationListExpandedBody> createState() => State<LocationListExpandedBody> createState() => _LocationListExpandedBodyState();
_LocationListExpandedBodyState();
} }
class _LocationListExpandedBodyState extends State<LocationListExpandedBody> { class _LocationListExpandedBodyState extends State<LocationListExpandedBody> {
@ -117,17 +110,16 @@ class _LocationListExpandedBodyState extends State<LocationListExpandedBody> {
mainAxisSize: MainAxisSize.min, mainAxisSize: MainAxisSize.min,
children: [ children: [
SelectBranchHeader(), SelectBranchHeader(),
SizedBox(height: 8,), SizedBox(
height: 8,
),
TextField( TextField(
controller: controller, controller: controller,
onChanged: (v) { onChanged: (v) {
tempListData.clear(); tempListData.clear();
if (v.length > 0) { if (v.length > 0) {
for (int i = 0; i < widget.data.length; i++) { for (int i = 0; i < widget.data.length; i++) {
if (widget.data[i].name if (widget.data[i].name?.toLowerCase().contains(v.toLowerCase()) == true) {
?.toLowerCase()
.contains(v.toLowerCase()) ==
true) {
tempListData.add(widget.data[i]); tempListData.add(widget.data[i]);
} }
} }
@ -140,7 +132,7 @@ class _LocationListExpandedBodyState extends State<LocationListExpandedBody> {
hintStyle: TextStyle(fontSize: 12), hintStyle: TextStyle(fontSize: 12),
hintText: TranslationBase.of(context).searchByBranch, hintText: TranslationBase.of(context).searchByBranch,
suffixIcon: Icon(Icons.search), suffixIcon: Icon(Icons.search),
contentPadding: EdgeInsets.symmetric(vertical: 9,horizontal: 14), contentPadding: EdgeInsets.symmetric(vertical: 9, horizontal: 14),
border: OutlineInputBorder( border: OutlineInputBorder(
borderRadius: BorderRadius.circular(8.0), borderRadius: BorderRadius.circular(8.0),
borderSide: BorderSide( borderSide: BorderSide(
@ -163,16 +155,11 @@ class _LocationListExpandedBodyState extends State<LocationListExpandedBody> {
height: 24, height: 24,
child: InkWell( child: InkWell(
onTap: () { onTap: () {
widget widget.onItemClick(tempListData[index].name ?? "");
.onItemClick(tempListData[index].name ?? "");
}, },
child: Text( child: Text(
"${tempListData[index].name ?? ""} ( ${tempListData[index].distanceInKilometers} km )", "${widget.isArabic ? tempListData[index].nameN : tempListData[index].name ?? ""}",
style: TextStyle( style: TextStyle(fontSize: 14, fontWeight: FontWeight.w600, color: Colors.black, letterSpacing: -0.96),
fontSize: 14,
fontWeight: FontWeight.w600,
color: Colors.black,
letterSpacing: -0.96),
), ),
), ),
), ),
@ -190,11 +177,7 @@ class LocationListWrapBody extends StatelessWidget {
final VoidCallback? onTextBoxClicked; final VoidCallback? onTextBoxClicked;
final String selectedText; final String selectedText;
const LocationListWrapBody( const LocationListWrapBody({super.key, this.onConfirmClicked, this.onTextBoxClicked, required this.selectedText});
{super.key,
this.onConfirmClicked,
this.onTextBoxClicked,
required this.selectedText});
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
@ -203,7 +186,7 @@ class LocationListWrapBody extends StatelessWidget {
child: Column( child: Column(
mainAxisSize: MainAxisSize.min, mainAxisSize: MainAxisSize.min,
children: [ children: [
SelectBranchHeader(), SelectBranchHeader(),
SizedBox( SizedBox(
height: 24, height: 24,
), ),
@ -213,21 +196,13 @@ class LocationListWrapBody extends StatelessWidget {
}, },
title: Text( title: Text(
TranslationBase.of(context).selectBranch, TranslationBase.of(context).selectBranch,
style: TextStyle( style: TextStyle(fontSize: 14, fontWeight: FontWeight.w600, color: Colors.black, letterSpacing: -0.96),
fontSize: 14,
fontWeight: FontWeight.w600,
color: Colors.black,
letterSpacing: -0.96),
), ),
subtitle: selectedText.isEmpty subtitle: selectedText.isEmpty
? null ? null
: Text( : Text(
selectedText, selectedText,
style: TextStyle( style: TextStyle(fontSize: 16, fontWeight: FontWeight.w400, color: Colors.black, letterSpacing: -0.96),
fontSize: 16,
fontWeight: FontWeight.w400,
color: Colors.black,
letterSpacing: -0.96),
), ),
trailing: Icon( trailing: Icon(
Icons.arrow_drop_down_outlined, Icons.arrow_drop_down_outlined,
@ -262,19 +237,15 @@ class LocationListWrapBody extends StatelessWidget {
} }
} }
class SelectBranchHeader extends StatelessWidget{ class SelectBranchHeader extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Row( return Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween, mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [ children: [
Text( Text(
TranslationBase.of(context).selectBranch, TranslationBase.of(context).selectBranch,
style: TextStyle( style: TextStyle(fontSize: 24, fontWeight: FontWeight.w600, color: Colors.black, letterSpacing: -0.96),
fontSize: 24,
fontWeight: FontWeight.w600,
color: Colors.black,
letterSpacing: -0.96),
), ),
InkWell( InkWell(
onTap: () { onTap: () {

@ -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.065+4050065 version: 4.5.067+4050067
environment: environment:
sdk: ">=3.0.0 <3.13.0" sdk: ">=3.0.0 <3.13.0"
@ -107,7 +107,7 @@ dependencies:
flutter_svg: ^2.0.8 flutter_svg: ^2.0.8
#Calendar Events #Calendar Events
manage_calendar_events: ^2.0.3 manage_calendar_events: 2.0.3
#InAppBrowser #InAppBrowser
flutter_inappwebview: ^6.1.5 flutter_inappwebview: ^6.1.5

Loading…
Cancel
Save