Version Control finished

merge-requests/253/head
haroon amjad 4 years ago
parent 3c54ed00f9
commit 97b8aeeff5

@ -1128,5 +1128,9 @@ const Map localizedValues = {
"en": "Due date", "en": "Due date",
"ar": "تاريخ الاستحقاق" "ar": "تاريخ الاستحقاق"
}, },
"appUpdate": {
"en": "UPDATE THE APP",
"ar": "تحديث التطبيق"
},
}; };

@ -4,9 +4,11 @@ import 'package:diplomaticquarterapp/config/config.dart';
import 'package:diplomaticquarterapp/config/shared_pref_kay.dart'; import 'package:diplomaticquarterapp/config/shared_pref_kay.dart';
import 'package:diplomaticquarterapp/core/service/medical/vital_sign_service.dart'; import 'package:diplomaticquarterapp/core/service/medical/vital_sign_service.dart';
import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart'; import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
import 'package:diplomaticquarterapp/pages/appUpdatePage/app_update_page.dart';
import 'package:diplomaticquarterapp/uitl/app_shared_preferences.dart'; import 'package:diplomaticquarterapp/uitl/app_shared_preferences.dart';
import 'package:diplomaticquarterapp/uitl/utils.dart'; import 'package:diplomaticquarterapp/uitl/utils.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:http/http.dart' as http; import 'package:http/http.dart' as http;
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
@ -54,9 +56,9 @@ class BaseAppClient {
: languageID == 'ar' : languageID == 'ar'
? 1 ? 1
: 2 : 2
: languageID == 'ar' : languageID == 'en'
? 1 ? 2
: 2; : 1;
body['IPAdress'] = IP_ADDRESS; body['IPAdress'] = IP_ADDRESS;
body['generalid'] = GENERAL_ID; body['generalid'] = GENERAL_ID;
@ -122,6 +124,9 @@ class BaseAppClient {
if (parsed['Response_Message'] != null) { if (parsed['Response_Message'] != null) {
onSuccess(parsed, statusCode); onSuccess(parsed, statusCode);
} else { } else {
if(parsed['ErrorType'] == 4) {
navigateToAppUpdate(AppGlobal.context, parsed['ErrorEndUserMessage']);
}
if (isAllowAny) { if (isAllowAny) {
onSuccess(parsed, statusCode); onSuccess(parsed, statusCode);
} else if (parsed['IsAuthenticated'] == null) { } else if (parsed['IsAuthenticated'] == null) {
@ -163,6 +168,13 @@ class BaseAppClient {
} }
} }
Future navigateToAppUpdate(context, String text) async {
Navigator.pushReplacement(
context,
MaterialPageRoute(
builder: (context) => AppUpdatePage(appUpdateText: text)));
}
get(String endPoint, get(String endPoint,
{Function(dynamic response, int statusCode) onSuccess, {Function(dynamic response, int statusCode) onSuccess,
Function(String error, int statusCode) onFailure, Function(String error, int statusCode) onFailure,

@ -0,0 +1,109 @@
import 'dart:io';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:url_launcher/url_launcher.dart';
class AppUpdatePage extends StatefulWidget {
String appUpdateText;
AppUpdatePage({@required this.appUpdateText});
@override
_AppUpdatePageState createState() => _AppUpdatePageState();
}
class _AppUpdatePageState extends State<AppUpdatePage> {
@override
Widget build(BuildContext context) {
return AppScaffold(
appBarTitle: "App Update",
backgroundColor: Colors.white,
isShowAppBar: false,
isShowDecPage: false,
body: SingleChildScrollView(
child: Container(
child: Column(
children: [
Stack(
children: [
Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: [
SvgPicture.asset(
"assets/images/new-design/update_rocket_image.svg",
fit: BoxFit.fill),
]),
Container(
margin: EdgeInsets.only(top: 40.0),
width: MediaQuery.of(context).size.width,
child: Text(TranslationBase.of(context).appUpdate,
textAlign: TextAlign.center,
style: TextStyle(
color: Color(0xff2d6c90).withOpacity(1.0),
fontSize: 22.0,
fontWeight: FontWeight.bold))),
],
),
Container(
margin: EdgeInsets.only(top: 5.0, bottom: 5.0),
child: SvgPicture.asset("assets/images/new-design/HMG_logo.svg",
fit: BoxFit.fill),
),
Container(
margin: EdgeInsets.only(top: 10.0, left: 10.0, right: 10.0),
width: MediaQuery.of(context).size.width,
child: Text(widget.appUpdateText,
textAlign: TextAlign.center,
style: TextStyle(
color: Colors.grey[600],
fontSize: 16.0,
height: 1.5,
fontWeight: FontWeight.bold))),
Container(
margin: EdgeInsets.only(left: 20.0, right: 20.0, top: 20.0),
child: ButtonTheme(
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(10.0),
),
minWidth: MediaQuery.of(context).size.width,
height: 45.0,
child: RaisedButton(
color: Colors.red[800],
textColor: Colors.white,
disabledTextColor: Colors.white,
disabledColor: new Color(0xFFbcc2c4),
onPressed: () {
openAppUpdateLink();
},
child: Text(TranslationBase.of(context).appUpdate,
style: TextStyle(fontSize: 18.0)),
),
),
),
],
),
),
),
);
}
openAppUpdateLink() {
if (Platform.isAndroid) {
_launchURL("https://play.google.com/store/apps/details?id=com.ejada.hmg");
}
if (Platform.isIOS) {
_launchURL("https://itunes.apple.com/app/id733503978");
}
}
_launchURL(String url) async {
if (await canLaunch(url)) {
await launch(url);
} else {
throw 'Could not launch $url';
}
}
}

@ -134,8 +134,8 @@ class _MedicalProfilePageState extends State<MedicalProfilePage> {
position: position:
BadgePosition.topEnd(), BadgePosition.topEnd(),
shape: BadgeShape.circle, shape: BadgeShape.circle,
badgeColor: Color(0xFF40ACC9) badgeColor: Colors
.withOpacity(1.0), .red[800].withOpacity(1.0),
borderRadius: borderRadius:
BorderRadius.circular(8), BorderRadius.circular(8),
badgeContent: Container( badgeContent: Container(

@ -1,6 +1,7 @@
import 'package:diplomaticquarterapp/pages/DrawerPages/family/add-family-member.dart'; import 'package:diplomaticquarterapp/pages/DrawerPages/family/add-family-member.dart';
import 'package:diplomaticquarterapp/pages/DrawerPages/family/add-family_type.dart'; import 'package:diplomaticquarterapp/pages/DrawerPages/family/add-family_type.dart';
import 'package:diplomaticquarterapp/pages/DrawerPages/family/my-family.dart'; import 'package:diplomaticquarterapp/pages/DrawerPages/family/my-family.dart';
import 'package:diplomaticquarterapp/pages/appUpdatePage/app_update_page.dart';
import 'package:diplomaticquarterapp/pages/landing/landing_page.dart'; import 'package:diplomaticquarterapp/pages/landing/landing_page.dart';
import 'package:diplomaticquarterapp/pages/livecare/livecare_home.dart'; import 'package:diplomaticquarterapp/pages/livecare/livecare_home.dart';
import 'package:diplomaticquarterapp/pages/login/confirm-login.dart'; import 'package:diplomaticquarterapp/pages/login/confirm-login.dart';
@ -35,6 +36,7 @@ const String SYMPTOM_CHECKER = 'symptom-checker';
const String SYMPTOM_CHECKER_INFO = 'symptom-checker-info'; const String SYMPTOM_CHECKER_INFO = 'symptom-checker-info';
const String SELECT_GENDER = 'select-gender'; const String SELECT_GENDER = 'select-gender';
const String SETTINGS = 'settings'; const String SETTINGS = 'settings';
const String APP_UPDATE = 'app_update';
var routes = { var routes = {
SPLASH: (_) => SplashScreen(), SPLASH: (_) => SplashScreen(),
HOME: (_) => LandingPage(), HOME: (_) => LandingPage(),
@ -52,5 +54,6 @@ var routes = {
SYMPTOM_CHECKER: (_) => SymptomChecker(), SYMPTOM_CHECKER: (_) => SymptomChecker(),
SYMPTOM_CHECKER_INFO: (_) => SymptomInfo(), SYMPTOM_CHECKER_INFO: (_) => SymptomInfo(),
SELECT_GENDER: (_) => SelectGender(), SELECT_GENDER: (_) => SelectGender(),
SETTINGS: (_) => Settings() SETTINGS: (_) => Settings(),
APP_UPDATE: (_) => AppUpdatePage()
}; };

@ -889,6 +889,7 @@ String get fileno => localizedValues['fileno'][locale.languageCode];
String get visit => localizedValues['visit'][locale.languageCode]; String get visit => localizedValues['visit'][locale.languageCode];
String get descriptionVaccination => localizedValues['description-vaccination'][locale.languageCode]; String get descriptionVaccination => localizedValues['description-vaccination'][locale.languageCode];
String get dueDate => localizedValues['due-date'][locale.languageCode]; String get dueDate => localizedValues['due-date'][locale.languageCode];
String get appUpdate => localizedValues['appUpdate'][locale.languageCode];
} }

@ -80,7 +80,8 @@ class BottomNavigationItem extends StatelessWidget {
toAnimate: false, toAnimate: false,
position: BadgePosition.topEnd(), position: BadgePosition.topEnd(),
shape: BadgeShape.circle, shape: BadgeShape.circle,
badgeColor: Color(0xFF40ACC9).withOpacity(1.0), badgeColor: Colors
.red[800].withOpacity(1.0),
borderRadius: BorderRadius.circular(8), borderRadius: BorderRadius.circular(8),
badgeContent: Container( badgeContent: Container(
padding: EdgeInsets.all(2.0), padding: EdgeInsets.all(2.0),

Loading…
Cancel
Save