Merge branch 'development' into 'master'

Development

See merge request Cloud_Solution/driver-app!47
setting_page
Mohammad Aljammal 6 years ago
commit acacfb419d

@ -28,42 +28,39 @@ const Map<String, Map<String, String>> localizedValues = {
}, },
'forgotPassword': {'en': 'Forgot Password?', 'ar': 'هل نسيت كلمة المرور ؟'}, 'forgotPassword': {'en': 'Forgot Password?', 'ar': 'هل نسيت كلمة المرور ؟'},
'login': {'en': 'Login', 'ar': 'تسجيل الدخول'}, 'login': {'en': 'Login', 'ar': 'تسجيل الدخول'},
'haveGreatDay': {'en': 'have a great day ,', 'ar': 'أتمنى لك يوما جميلا '}, 'haveGreatDay': {'en': 'have a great day,', 'ar': 'أتمنى لك يوما جميلا '},
'youHave': {'en': 'You Have', 'ar': 'يوجد لديك'}, 'youHave': {'en': 'You Have', 'ar': 'يوجد لديك'},
'deliveredPackages': {'en': 'Delivered Packages', 'ar': 'الطرود المسلمة'}, 'deliveredPackages': {'en': 'Delivered \nPackages', 'ar': 'الطرود\n المسلمة'},
'seeAll': {'en': 'See All', 'ar': 'اظهار الكل'}, 'seeAll': {'en': 'See All', 'ar': 'اظهار الكل'},
'nearestDropOffs': {'en': 'nearest drop-offs', 'ar': 'أقرب نقطة إنزال'}, 'nearestDropOffs': {'en': 'Nearest Drop-Offs', 'ar': 'أقرب نقطة إنزال'},
'undeliveredPackages': { 'undeliveredPackages': {
'en': 'Undelivered Packages', 'en': 'Undelivered\nPackages',
'ar': 'الطرود التي لم يتم تسليمها' 'ar': 'الطرود التي\n لم يتم تسليمها'
},
'deliveryInfo': {
'en': 'Delivery information',
'ar': 'معلومات الشحنة'
}, },
'deliveryInfo': {'en': 'Delivery information', 'ar': 'معلومات الشحنة'},
'confirmationSent': { 'confirmationSent': {
'en': 'Confirmation email and SMS has been sent', 'en': 'Confirmation email and SMS has been sent',
'ar': 'تم إرسال التأكيد للبرييد الإلكتروني والرسائل النصية القصيرة' 'ar': 'تم إرسال التأكيد للبرييد الإلكتروني والرسائل النصية القصيرة'
}, },
'location': { 'location': {'en': 'Location', 'ar': 'الموقع'},
'en': 'Location', 'call': {'en': 'Call', 'ar': 'اتصال'},
'ar': 'الموقع' 'sms': {'en': 'SMS', 'ar': 'رسالة نصية'},
}, 'packageContent': {'en': 'Package Content', 'ar': 'محتوى الحزمة'},
'call': {
'en': 'Call',
'ar': 'اتصال'
},
'sms': {
'en': 'SMS',
'ar': 'رسالة نصية'
},
'packageContent': {
'en': 'Package Content', 'ar': 'محتوى الحزمة'},
'payment': {'en': 'Payment', 'ar': 'دفع'}, 'payment': {'en': 'Payment', 'ar': 'دفع'},
'delivryTime': {'en': 'Delivery Time', 'ar': 'وقت التوصيل'}, 'delivryTime': {'en': 'Delivery Time', 'ar': 'وقت التوصيل'},
'clientReached': {'en': 'Client Reached', 'ar': 'الوصول الى العميل'}, 'clientReached': {'en': 'Client Reached', 'ar': 'الوصول الى العميل'},
'addNoteBtn': {'en': 'Add Note', 'ar': 'اضافة ملاحظة'}, 'addNoteBtn': {'en': 'Add Note', 'ar': 'اضافة ملاحظة'},
'nextDelivery': {'en': 'Next Delivery', 'ar': 'الشحنة التالية'}, 'nextDelivery': {'en': 'Next Delivery', 'ar': 'الشحنة التالية'},
'scan': {'en': 'SCAN', 'ar': 'مسح'},
'away': {'en': 'away', 'ar': 'مسح'},
'yourDeliveryQue': {
'en': 'Your Delivery Que',
'ar': 'قائمة التسليم الخاصة بك'
},
'toAddPackageToQue': {
'en': 'To add package to que',
'ar': 'لإضافة حزمة إلى قائمة الانتظار'
},
'delivered': {'en': 'Delivered', 'ar': 'وصل'}, 'delivered': {'en': 'Delivered', 'ar': 'وصل'},
'deliveredAccepted': {'en': 'Delivered/Accepted', 'ar': 'تم التوصيل/مقبول'}, 'deliveredAccepted': {'en': 'Delivered/Accepted', 'ar': 'تم التوصيل/مقبول'},
'deliveredRejected': {'en': 'Delivered/Rejected', 'ar': 'تم التوصيل/مرفوض'}, 'deliveredRejected': {'en': 'Delivered/Rejected', 'ar': 'تم التوصيل/مرفوض'},

@ -13,7 +13,7 @@ class BaseViewModel extends ChangeNotifier {
String error = ""; String error = "";
AppSharedPreferences sharedPref = AppSharedPreferences(); AppSharedPreferences sharedPref = AppSharedPreferences();
BaseViewModel(){ BaseViewModel() {
getUser(); getUser();
} }

@ -13,7 +13,11 @@ import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:hexcolor/hexcolor.dart'; import 'package:hexcolor/hexcolor.dart';
import 'package:driverapp/widgets/data_display/circle-container.dart';
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
import '../base/base_view.dart'; import '../base/base_view.dart';
import 'package:driverapp/config/shared_pref_kay.dart';
import 'package:driverapp/uitl/translations_delegate_base.dart';
class DashboardScreen extends StatefulWidget { class DashboardScreen extends StatefulWidget {
@override @override
@ -45,7 +49,7 @@ class _DashboardScreenState extends State<DashboardScreen> {
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[ children: <Widget>[
Text( Text(
'Have a great day,', TranslationBase.of(context).haveGreatDay,
style: TextStyle( style: TextStyle(
fontSize: 14.5, fontSize: 14.5,
color: Color(0xff636363), color: Color(0xff636363),
@ -54,7 +58,8 @@ class _DashboardScreenState extends State<DashboardScreen> {
Padding( Padding(
padding: EdgeInsets.only(top: 4.5), padding: EdgeInsets.only(top: 4.5),
child: Text( child: Text(
'Driver Name', 'Drive Name',
//model.user.userName,
style: TextStyle( style: TextStyle(
fontWeight: FontWeight.w400, fontWeight: FontWeight.w400,
fontSize: 25.0), fontSize: 25.0),
@ -115,7 +120,7 @@ class _DashboardScreenState extends State<DashboardScreen> {
MainAxisAlignment.spaceEvenly, MainAxisAlignment.spaceEvenly,
children: <Widget>[ children: <Widget>[
Text( Text(
'You Have', TranslationBase.of(context).youHave,
style: TextStyle( style: TextStyle(
color: Colors.white, color: Colors.white,
fontSize: 10.0), fontSize: 10.0),
@ -127,7 +132,8 @@ class _DashboardScreenState extends State<DashboardScreen> {
fontSize: 25.0), fontSize: 25.0),
), ),
Text( Text(
'Undeliverd\nPackages', TranslationBase.of(context)
.undeliveredPackages,
style: TextStyle( style: TextStyle(
color: Colors.white, fontSize: 9.5), color: Colors.white, fontSize: 9.5),
) )
@ -192,7 +198,7 @@ class _DashboardScreenState extends State<DashboardScreen> {
MainAxisAlignment.spaceEvenly, MainAxisAlignment.spaceEvenly,
children: <Widget>[ children: <Widget>[
Text( Text(
'You Have', TranslationBase.of(context).youHave,
style: TextStyle( style: TextStyle(
color: Colors.white, color: Colors.white,
fontSize: 10.0), fontSize: 10.0),
@ -204,7 +210,8 @@ class _DashboardScreenState extends State<DashboardScreen> {
fontSize: 25.0), fontSize: 25.0),
), ),
Text( Text(
'Succesful\nDeliveries', TranslationBase.of(context)
.deliveredPackages,
style: TextStyle( style: TextStyle(
color: Colors.white, color: Colors.white,
fontSize: 10.0), fontSize: 10.0),
@ -255,7 +262,10 @@ class _DashboardScreenState extends State<DashboardScreen> {
Expanded( Expanded(
child: InkWell( child: InkWell(
child: Container( child: Container(
height: MediaQuery.of(context).size.height * 0.18, height: MediaQuery.of(context).orientation ==
Orientation.portrait
? MediaQuery.of(context).size.height * 0.18
: MediaQuery.of(context).size.height * 0.28,
width: MediaQuery.of(context).size.width * 0.50, width: MediaQuery.of(context).size.width * 0.50,
decoration: BoxDecoration( decoration: BoxDecoration(
borderRadius: BorderRadius.circular(15.0), borderRadius: BorderRadius.circular(15.0),
@ -290,18 +300,20 @@ class _DashboardScreenState extends State<DashboardScreen> {
child: Padding( child: Padding(
padding: EdgeInsets.only(top: 8.0), padding: EdgeInsets.only(top: 8.0),
child: Text( child: Text(
'SCAN', TranslationBase.of(context).scan,
style: TextStyle( style: TextStyle(
fontSize: 35.0, fontSize: 35.0,
color: Colors.white, color: Colors.white,
fontWeight: FontWeight.w400), fontWeight: FontWeight.w400,
),
), ),
), ),
), ),
Padding( Padding(
padding: EdgeInsets.only(top: 0.0), padding: EdgeInsets.only(top: 0.0),
child: Text( child: Text(
'To add package to que ', TranslationBase.of(context)
.toAddPackageToQue,
style: TextStyle( style: TextStyle(
fontSize: 15.0, fontSize: 15.0,
color: Colors.white, color: Colors.white,
@ -320,30 +332,32 @@ class _DashboardScreenState extends State<DashboardScreen> {
], ],
), ),
), ),
Padding( NetworkBaseView(
padding: EdgeInsets.symmetric(horizontal: 20.0, vertical: 1.0), baseViewModel: model,
child: Row( child: Padding(
mainAxisAlignment: MainAxisAlignment.spaceBetween, padding: EdgeInsets.symmetric(horizontal: 20.0, vertical: 1.0),
children: <Widget>[ child: Row(
Column( mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: <Widget>[ children: <Widget>[
Text( Column(
'Nearest Drop-Offs', children: <Widget>[
style: TextStyle( Text(
fontSize: 21.0, TranslationBase.of(context).nearestDropOffs,
fontWeight: FontWeight.w400, style: TextStyle(
fontSize: 21.0,
fontWeight: FontWeight.w400,
),
), ),
), ],
], ),
), Column(
Column( mainAxisAlignment: MainAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.center, children: <Widget>[
children: <Widget>[ InkWell(
InkWell(
child: Row( child: Row(
children: <Widget>[ children: <Widget>[
Text( Text(
'See All', TranslationBase.of(context).seeAll,
style: TextStyle( style: TextStyle(
fontSize: 14.5, color: Color(0xff42B6AD)), fontSize: 14.5, color: Color(0xff42B6AD)),
), ),
@ -355,13 +369,15 @@ class _DashboardScreenState extends State<DashboardScreen> {
], ],
), ),
onTap: () => Navigator.push( onTap: () => Navigator.push(
context, context,
MaterialPageRoute( MaterialPageRoute(
builder: (context) => OrdersListScreen()), builder: (context) => OrdersListScreen()),
)), ),
], ),
), ],
], ),
],
),
), ),
), ),
NetworkBaseView( NetworkBaseView(
@ -378,7 +394,10 @@ class _DashboardScreenState extends State<DashboardScreen> {
child: InkWell( child: InkWell(
child: RoundedContainer( child: RoundedContainer(
raduis: 25.0, raduis: 25.0,
height: MediaQuery.of(context).size.height * 0.109, height: MediaQuery.of(context).orientation ==
Orientation.portrait
? MediaQuery.of(context).size.height * 0.109
: MediaQuery.of(context).size.height * 0.209,
child: Row( child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween, mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: <Widget>[ children: <Widget>[
@ -386,18 +405,35 @@ class _DashboardScreenState extends State<DashboardScreen> {
flex: 1, flex: 1,
child: Column( child: Column(
mainAxisAlignment: MainAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[ children: <Widget>[
Padding( Padding(
padding: EdgeInsets.only( padding: EdgeInsets.only(
left: 10.0, bottom: 5.0, top: 10.0), left: 15.0, top: 14.0),
child: Image.asset( child: Image.asset(
'assets/images/location.png', 'assets/images/location.png',
height: height: MediaQuery.of(context)
MediaQuery.of(context).size.height * .orientation ==
0.06, Orientation.portrait
width: ? MediaQuery.of(context)
MediaQuery.of(context).size.width * .size
0.05, .height *
0.06
: MediaQuery.of(context)
.size
.height *
0.11,
width: MediaQuery.of(context)
.orientation ==
Orientation.portrait
? MediaQuery.of(context)
.size
.width *
0.05
: MediaQuery.of(context)
.size
.width *
0.09,
), ),
) )
], ],
@ -405,13 +441,13 @@ class _DashboardScreenState extends State<DashboardScreen> {
), ),
if (model.orders.length != 0) if (model.orders.length != 0)
Expanded( Expanded(
flex: 3, flex: 5,
child: Column( child: Column(
crossAxisAlignment: crossAxisAlignment:
CrossAxisAlignment.start, CrossAxisAlignment.start,
children: <Widget>[ children: <Widget>[
Padding( Padding(
padding: EdgeInsets.only(top: 10.0), padding: EdgeInsets.only(top: 20.0),
child: Text( child: Text(
model.orders[index].firstName + model.orders[index].firstName +
' ' + ' ' +
@ -438,31 +474,17 @@ class _DashboardScreenState extends State<DashboardScreen> {
), ),
), ),
Padding( Padding(
padding: EdgeInsets.all(10.0), padding: EdgeInsets.all(8.0),
child: Column( child: CircleContainer(
mainAxisAlignment: MainAxisAlignment.center, child: Text(
children: <Widget>[ model.orders[index].distanceInKilometers
Expanded( .toString() +
child: CircleAvatar( ' K.m\naway',
backgroundColor: Color(0xff707070), style: TextStyle(
radius: 28.0, color: Color(0xff42B6AD),
child: CircleAvatar( fontWeight: FontWeight.w800,
backgroundColor: Colors.white, fontStyle: FontStyle.normal),
maxRadius: 25.0, ),
child: Padding(
padding: const EdgeInsets.all(8.0),
child: Text(
'3 K.m \n away',
style: TextStyle(
color: Color(0xff30B7B9),
fontSize: 10.5,
fontWeight: FontWeight.w400),
),
),
),
),
)
],
), ),
), ),
], ],

File diff suppressed because one or more lines are too long

@ -1,10 +1,11 @@
import 'package:driverapp/core/viewModels/orders_view_model.dart'; import 'package:driverapp/core/viewModels/orders_view_model.dart';
import 'package:driverapp/pages/delivery/information_page.dart'; import 'package:driverapp/pages/delivery/information_page.dart';
import 'package:driverapp/widgets/data_display/circle-container.dart';
import 'package:driverapp/widgets/others/app_scaffold_widget.dart'; import 'package:driverapp/widgets/others/app_scaffold_widget.dart';
import 'package:driverapp/widgets/others/rounded_container.dart'; import 'package:driverapp/widgets/others/rounded_container.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:driverapp/uitl/translations_delegate_base.dart';
import '../base/base_view.dart'; import '../base/base_view.dart';
class OrdersListScreen extends StatefulWidget { class OrdersListScreen extends StatefulWidget {
@ -20,7 +21,7 @@ class _OrdersListScreenState extends State<OrdersListScreen> {
builder: (BuildContext context, OrdersViewModel model, Widget child) => builder: (BuildContext context, OrdersViewModel model, Widget child) =>
AppScaffold( AppScaffold(
isShowAppBar: true, isShowAppBar: true,
appBarTitle: 'Your Delivery Que', appBarTitle: TranslationBase.of(context).yourDeliveryQue,
titleColor: Colors.black, titleColor: Colors.black,
body: Column( body: Column(
children: <Widget>[ children: <Widget>[
@ -35,7 +36,10 @@ class _OrdersListScreenState extends State<OrdersListScreen> {
child: InkWell( child: InkWell(
child: RoundedContainer( child: RoundedContainer(
raduis: 25.0, raduis: 25.0,
height: MediaQuery.of(context).size.height * 0.109, height: MediaQuery.of(context).orientation ==
Orientation.portrait
? MediaQuery.of(context).size.height * 0.109
: MediaQuery.of(context).size.height * 0.209,
child: Row( child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween, mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: <Widget>[ children: <Widget>[
@ -43,17 +47,27 @@ class _OrdersListScreenState extends State<OrdersListScreen> {
flex: 1, flex: 1,
child: Column( child: Column(
mainAxisAlignment: MainAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[ children: <Widget>[
Padding( Padding(
padding: EdgeInsets.only( padding:
left: 10.0, bottom: 5.0, top: 10.0), EdgeInsets.only(left: 15.0, top: 14.0),
child: Image.asset( child: Image.asset(
'assets/images/location.png', 'assets/images/location.png',
height: height: MediaQuery.of(context)
MediaQuery.of(context).size.height * .orientation ==
0.06, Orientation.portrait
width: MediaQuery.of(context).size.width * ? MediaQuery.of(context).size.height *
0.05, 0.06
: MediaQuery.of(context).size.height *
0.11,
width: MediaQuery.of(context)
.orientation ==
Orientation.portrait
? MediaQuery.of(context).size.width *
0.05
: MediaQuery.of(context).size.width *
0.09,
), ),
) )
], ],
@ -61,12 +75,12 @@ class _OrdersListScreenState extends State<OrdersListScreen> {
), ),
if (model.orders.length != 0) if (model.orders.length != 0)
Expanded( Expanded(
flex: 3, flex: 5,
child: Column( child: Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[ children: <Widget>[
Padding( Padding(
padding: EdgeInsets.only(top: 10.0), padding: EdgeInsets.only(top: 20.0),
child: Text( child: Text(
model.orders[index].firstName + model.orders[index].firstName +
' ' + ' ' +
@ -84,7 +98,7 @@ class _OrdersListScreenState extends State<OrdersListScreen> {
), ),
Expanded( Expanded(
child: Text( child: Text(
'Olaya ST, Behind kfc next to king , ', 'Olaya ST, Behind kfc next to king',
style: style:
TextStyle(color: Color(0xff636363)), TextStyle(color: Color(0xff636363)),
), ),
@ -93,31 +107,17 @@ class _OrdersListScreenState extends State<OrdersListScreen> {
), ),
), ),
Padding( Padding(
padding: EdgeInsets.all(10.0), padding: EdgeInsets.all(8.0),
child: Column( child: CircleContainer(
mainAxisAlignment: MainAxisAlignment.center, child: Text(
children: <Widget>[ model.orders[index].distanceInKilometers
Expanded( .toString() +
child: CircleAvatar( ' K.m\naway',
backgroundColor: Colors.black45, style: TextStyle(
radius: 28.0, color: Color(0xff42B6AD),
child: CircleAvatar( fontWeight: FontWeight.w800,
backgroundColor: Colors.white, fontStyle: FontStyle.normal),
maxRadius: 25.0, ),
child: Padding(
padding: const EdgeInsets.all(8.0),
child: Text(
'3 K.m \n away',
style: TextStyle(
color: Color(0xff30B7B9),
fontSize: 10.5,
fontWeight: FontWeight.w400),
),
),
),
),
)
],
), ),
), ),
], ],

@ -103,6 +103,10 @@ class TranslationBase {
String get confirmationSent => String get confirmationSent =>
localizedValues['confirmationSent'][locale.languageCode]; localizedValues['confirmationSent'][locale.languageCode];
String get yourDeliveryQue =>
localizedValues['yourDeliveryQue'][locale.languageCode];
String get toAddPackageToQue =>
localizedValues['toAddPackageToQue'][locale.languageCode];
String get delivered => localizedValues['delivered'][locale.languageCode]; String get delivered => localizedValues['delivered'][locale.languageCode];

Loading…
Cancel
Save