diff --git a/lib/config/localized_values.dart b/lib/config/localized_values.dart index 2d54262..81a01c6 100644 --- a/lib/config/localized_values.dart +++ b/lib/config/localized_values.dart @@ -37,8 +37,50 @@ const Map> localizedValues = { 'en': 'Undelivered Packages', 'ar': 'الطرود التي لم يتم تسليمها' }, - 'away': {'en': 'away', 'ar': 'بعيدا'}, - 'scan': {'en': 'Scan', 'ar': 'مسح'}, - 'scan2': {'en': 'away', 'ar': 'بعيدا'}, - 'scanDb': {'en': 'away', 'ar': 'بعيدا'}, + 'deliveryInfo': { + 'en': 'Delivery information', + 'ar': 'معلومات الشحنة' + }, + 'confirmationSent': { + 'en': 'Confirmation email and SMS has been sent', + 'ar': 'تم إرسال التأكيد للبرييد الإلكتروني والرسائل النصية القصيرة' + }, + 'location': { + 'en': 'Location', + 'ar': 'الموقع' + }, + 'call': { + 'en': 'Call', + 'ar': 'اتصال' + }, + 'sms': { + 'en': 'SMS', + 'ar': 'رسالة نصية' + }, + 'packageContent': { + 'en': 'Package Content', + 'ar': 'محتوى الحزمة' + }, + 'payment': { + 'en': 'Payment', + 'ar': 'دفع' + }, + 'delivryTime': { + 'en': 'Delivery Time', + 'ar': 'وقت التوصيل' + }, + 'clientReached': { + 'en': 'Client Reached', + 'ar': 'الوصول الى العميل' + }, + 'addNoteBtn': { + 'en': 'Add Note', + 'ar': 'اضافة ملاحظة' + }, + 'nextDelivery': { + 'en': 'Next Delivery', + 'ar': 'الشحنة التالية' + } + + }; diff --git a/lib/core/model/scan_qr/scan_qr_request_model.dart b/lib/core/model/scan_qr/scan_qr_request_model.dart index 53c0284..5f4662c 100644 --- a/lib/core/model/scan_qr/scan_qr_request_model.dart +++ b/lib/core/model/scan_qr/scan_qr_request_model.dart @@ -10,13 +10,13 @@ class ScanQrRequestModel { ScanQrRequestModel( {this.deliveryOrderID, - this.driverID, - this.createdBy, - this.channel, - this.groupID, - this.tokenID, - this.userID, - this.mobileNo}); + this.driverID, + this.createdBy, + this.channel, + this.groupID, + this.tokenID, + this.userID, + this.mobileNo}); ScanQrRequestModel.fromJson(Map json) { deliveryOrderID = json['DeliveryOrderID']; diff --git a/lib/core/service/client/base_app_client.dart b/lib/core/service/client/base_app_client.dart index d7c6e5e..9b5834a 100644 --- a/lib/core/service/client/base_app_client.dart +++ b/lib/core/service/client/base_app_client.dart @@ -24,9 +24,8 @@ class BaseAppClient { }) async { String url = BASE_URL + endPoint; try { - Map profile = await sharedPref.getObject(USER_PROFILE); - String token = await sharedPref.getString(TOKEN); + String token = await sharedPref.getString(TOKEN); if (profile != null) { AuthenticatedUser doctorProfile = AuthenticatedUser.fromJson(profile); body['DriverID'] = doctorProfile?.userID; @@ -38,7 +37,6 @@ class BaseAppClient { } - print("URL : $url"); print("Body : ${json.encode(body)}"); diff --git a/lib/core/service/orders_service.dart b/lib/core/service/orders_service.dart index 90bb8a7..5a8f9b3 100644 --- a/lib/core/service/orders_service.dart +++ b/lib/core/service/orders_service.dart @@ -5,6 +5,7 @@ import 'package:driverapp/core/service/base_service.dart'; class OrdersService extends BaseService { List _orders = List(); + List get orders => _orders; bool isOrderInserted; @@ -22,15 +23,15 @@ class OrdersService extends BaseService { hasError = false; try { await baseAppClient.post(GET_ALL_ORDERS, - onSuccess: (dynamic response, int statusCode) { - _orders.clear(); - response['PatientER_Delivery_GetAllOrderList'].forEach((order) { - _orders.add(PendingOrders.fromJson(order)); - }); - }, onFailure: (String error, int statusCode) { - hasError = true; - super.error = error; - }, body: _requestGetPendingOrders.toJson()); + onSuccess: (dynamic response, int statusCode) { + _orders.clear(); + response['PatientER_Delivery_GetAllOrderList'].forEach((order) { + _orders.add(PendingOrders.fromJson(order)); + }); + }, onFailure: (String error, int statusCode) { + hasError = true; + super.error = error; + }, body: _requestGetPendingOrders.toJson()); } catch (e) { hasError = true; super.error = error; @@ -38,25 +39,22 @@ class OrdersService extends BaseService { } } - Future insertOrder() async { - ScanQrRequestModel _scanQrRequestModel = ScanQrRequestModel(deliveryOrderID: 1200, groupID: 0); + ScanQrRequestModel _scanQrRequestModel = + ScanQrRequestModel(deliveryOrderID: 1200, groupID: 0); hasError = false; try { await baseAppClient.post(SCAN_QR, - onSuccess: (dynamic response, int statusCode) { - isOrderInserted = response["PatientER_Delivery_IsOrderInserted"]; - }, onFailure: (String error, int statusCode) { - hasError = true; - super.error = error; - }, body: _scanQrRequestModel.toJson()); + onSuccess: (dynamic response, int statusCode) { + isOrderInserted = response["PatientER_Delivery_IsOrderInserted"]; + }, onFailure: (String error, int statusCode) { + hasError = true; + super.error = error; + }, body: _scanQrRequestModel.toJson()); } catch (e) { - hasError = true; super.error = error; throw e; } } - - } diff --git a/lib/core/viewModels/orders_view_model.dart b/lib/core/viewModels/orders_view_model.dart index 8ce412b..6c2c0fb 100644 --- a/lib/core/viewModels/orders_view_model.dart +++ b/lib/core/viewModels/orders_view_model.dart @@ -1,6 +1,7 @@ import 'package:driverapp/core/enum/viewstate.dart'; -import 'package:driverapp/core/service/orders_service.dart'; import 'package:driverapp/core/model/pending_orders/pending_orders_model.dart'; +import 'package:driverapp/core/service/orders_service.dart'; + import '../../locator.dart'; import 'base_view_model.dart'; diff --git a/lib/locator.dart b/lib/locator.dart index a10e30e..66afadd 100644 --- a/lib/locator.dart +++ b/lib/locator.dart @@ -4,8 +4,8 @@ import 'core/service/authentication_service.dart'; import 'core/service/hospital_service.dart'; import 'core/service/orders_service.dart'; import 'core/viewModels/authentication_view_model.dart'; -import 'core/viewModels/orders_view_model.dart'; import 'core/viewModels/hospital_view_model.dart'; +import 'core/viewModels/orders_view_model.dart'; GetIt locator = GetIt.instance; diff --git a/lib/pages/authentication/login_page.dart b/lib/pages/authentication/login_page.dart index b43dfbb..9be0280 100644 --- a/lib/pages/authentication/login_page.dart +++ b/lib/pages/authentication/login_page.dart @@ -5,7 +5,6 @@ import 'package:driverapp/core/viewModels/authentication_view_model.dart'; import 'package:driverapp/core/viewModels/project_view_model.dart'; import 'package:driverapp/pages/base/base_view.dart'; import 'package:driverapp/pages/dashboard/dashboard_screen.dart'; -import 'package:driverapp/pages/landing/landing_page.dart'; import 'package:driverapp/uitl/translations_delegate_base.dart'; import 'package:driverapp/uitl/utils.dart'; import 'package:driverapp/widgets/buttons/secondary_button.dart'; @@ -29,8 +28,9 @@ class LoginPage extends StatelessWidget { return AnimatedSwitcher( duration: Duration(microseconds: 350), child: BaseView( - builder: (_, model, widget) => AppScaffold( - isShowAppBar: false, + builder: (_, model, widget) => + AppScaffold( + isShowAppBar: false, body: SingleChildScrollView( child: Center( child: Column( diff --git a/lib/pages/dashboard/dashboard_screen.dart b/lib/pages/dashboard/dashboard_screen.dart index 360618f..a026628 100644 --- a/lib/pages/dashboard/dashboard_screen.dart +++ b/lib/pages/dashboard/dashboard_screen.dart @@ -25,7 +25,7 @@ class _DashboardScreenState extends State { onModelReady: (model) => model.getPendingOrders(), builder: (BuildContext context, OrdersViewModel model, Widget child) => - AppScaffold( + AppScaffold( body: Column( // mainAxisAlignment: MainAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center, @@ -92,8 +92,14 @@ class _DashboardScreenState extends State { Padding( padding: EdgeInsets.symmetric(horizontal: 10.0), child: Container( - height: MediaQuery.of(context).size.height * 0.15, - width: MediaQuery.of(context).size.width * 0.44, + height: MediaQuery + .of(context) + .size + .height * 0.15, + width: MediaQuery + .of(context) + .size + .width * 0.44, decoration: BoxDecoration( borderRadius: BorderRadius.circular(15.0), gradient: LinearGradient( @@ -106,7 +112,7 @@ class _DashboardScreenState extends State { padding: EdgeInsets.all(10.0), child: Column( mainAxisAlignment: - MainAxisAlignment.spaceBetween, + MainAxisAlignment.spaceBetween, children: [ Text( 'You Have', @@ -139,13 +145,15 @@ class _DashboardScreenState extends State { padding: EdgeInsets.only(right: 9.5), child: Image.asset( 'assets/images/closed_box.png', - height: MediaQuery.of(context) - .size - .height * + height: MediaQuery + .of(context) + .size + .height * 0.09, - width: MediaQuery.of(context) - .size - .width * + width: MediaQuery + .of(context) + .size + .width * 0.20, //fit: BoxFit.cover, )), @@ -166,7 +174,10 @@ class _DashboardScreenState extends State { padding: EdgeInsets.symmetric(horizontal: 10.0), child: Container( height: MediaQuery.of(context).size.height * 0.15, - width: MediaQuery.of(context).size.width * 0.44, + width: MediaQuery + .of(context) + .size + .width * 0.44, decoration: BoxDecoration( borderRadius: BorderRadius.circular(15.0), gradient: LinearGradient( @@ -180,7 +191,7 @@ class _DashboardScreenState extends State { padding: EdgeInsets.all(12.0), child: Column( mainAxisAlignment: - MainAxisAlignment.spaceEvenly, + MainAxisAlignment.spaceEvenly, children: [ Text( 'You Have', @@ -236,8 +247,14 @@ class _DashboardScreenState extends State { Expanded( child: InkWell( child: Container( - height: MediaQuery.of(context).size.height * 0.16, - width: MediaQuery.of(context).size.width * 0.50, + height: MediaQuery + .of(context) + .size + .height * 0.16, + width: MediaQuery + .of(context) + .size + .width * 0.50, decoration: BoxDecoration( borderRadius: BorderRadius.circular(15.0), gradient: LinearGradient(colors: [ @@ -253,9 +270,15 @@ class _DashboardScreenState extends State { Image.asset( 'assets/images/qr_code.png', width: - MediaQuery.of(context).size.width * 0.25, + MediaQuery + .of(context) + .size + .width * 0.25, height: - MediaQuery.of(context).size.height * 0.14, + MediaQuery + .of(context) + .size + .height * 0.14, fit: BoxFit.cover, ) ], @@ -265,8 +288,8 @@ class _DashboardScreenState extends State { crossAxisAlignment: CrossAxisAlignment.start, children: [ InkWell( - onTap:(){ - _scanQrAndGetPatient(context,model); + onTap: () { + _scanQrAndGetPatient(context, model); }, child: Text( 'SCAN', @@ -329,10 +352,10 @@ class _DashboardScreenState extends State { ], ), onTap: () => Navigator.push( - context, - MaterialPageRoute( - builder: (context) => OrdersListScreen()), - )), + context, + MaterialPageRoute( + builder: (context) => OrdersListScreen()), + )), ], ), ], @@ -340,47 +363,52 @@ class _DashboardScreenState extends State { ), Expanded( child: ListView.builder( - shrinkWrap: true, - scrollDirection: Axis.vertical, - itemCount: //model.orders == null ? 0 : model.orders.length, - 3, - itemBuilder: (BuildContext context, int index) { - return Padding( - padding: EdgeInsets.symmetric(horizontal: 12.2), - child: InkWell( - child: RoundedContainer( - height: MediaQuery.of(context).size.height * 0.108, - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - Expanded( - flex: 1, - child: Column( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Padding( - padding: EdgeInsets.only(left: 22.0), - child: Image.asset( - 'assets/images/location.png', - height: MediaQuery.of(context) - .size - .height * - 0.10, - width: MediaQuery.of(context) - .size - .width * - 0.09, - ), - ) - ], - ), - ), - if (model.orders.length != 0) - Expanded( - flex: 3, - child: Column( - crossAxisAlignment: - CrossAxisAlignment.start, + shrinkWrap: true, + scrollDirection: Axis.vertical, + itemCount: //model.orders == null ? 0 : model.orders.length, + 3, + itemBuilder: (BuildContext context, int index) { + return Padding( + padding: EdgeInsets.symmetric(horizontal: 12.2), + child: InkWell( + child: RoundedContainer( + height: MediaQuery + .of(context) + .size + .height * 0.108, + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Expanded( + flex: 1, + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Padding( + padding: EdgeInsets.only(left: 22.0), + child: Image.asset( + 'assets/images/location.png', + height: MediaQuery + .of(context) + .size + .height * + 0.10, + width: MediaQuery + .of(context) + .size + .width * + 0.09, + ), + ) + ], + ), + ), + if (model.orders.length != 0) + Expanded( + flex: 3, + child: Column( + crossAxisAlignment: + CrossAxisAlignment.start, children: [ Text( model.orders[index].firstName + @@ -453,7 +481,7 @@ class _DashboardScreenState extends State { ); } - _scanQrAndGetPatient(BuildContext context,OrdersViewModel model) async { + _scanQrAndGetPatient(BuildContext context, OrdersViewModel model) async { /// When give qr we will change this method to get data /// var result = await BarcodeScanner.scan(); /// int patientID = get from qr result @@ -464,10 +492,9 @@ class _DashboardScreenState extends State { await model.insertOrder(); if (model.state == ViewState.ErrorLocal) { Utils.showErrorToast(model.error); - }else{ + } else { AppToast.showSuccessToast(message: "Order Added"); } - } } diff --git a/lib/pages/delivery/delivery_confirmed_page.dart b/lib/pages/delivery/delivery_confirmed_page.dart index e7af05a..32922ab 100644 --- a/lib/pages/delivery/delivery_confirmed_page.dart +++ b/lib/pages/delivery/delivery_confirmed_page.dart @@ -2,6 +2,7 @@ import 'package:driverapp/widgets/delivery/customer_brief_card.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; +import '../../uitl/translations_delegate_base.dart'; import '../../widgets/others/app_scaffold_widget.dart'; class DeliveryConfirmedPage extends StatelessWidget { @@ -53,14 +54,18 @@ class DeliveryConfirmedPage extends StatelessWidget { size: 60, ), Text( - 'Delivery Confirmed', + TranslationBase + .of(context) + .deliveryInfo, style: TextStyle( color: Colors.white, fontSize: 20, fontWeight: FontWeight.bold), ), Text( - 'Confirmation email and SMS has been sent', + TranslationBase + .of(context) + .confirmationSent, style: TextStyle( color: Colors.white, fontSize: 13, @@ -110,7 +115,9 @@ class DeliveryConfirmedPage extends StatelessWidget { color: Colors.white, ), label: Text( - 'Add Note', + TranslationBase + .of(context) + .addNoteBtn, style: TextStyle(color: Colors.white), ), onPressed: () {}, @@ -124,7 +131,9 @@ class DeliveryConfirmedPage extends StatelessWidget { side: BorderSide(color: Color(0xff41bdbb)), ), child: Text( - 'Next Delivery', + TranslationBase + .of(context) + .nextDelivery, style: TextStyle(color: Colors.white), ), onPressed: () {}, diff --git a/lib/pages/delivery/information_page.dart b/lib/pages/delivery/information_page.dart index 16e4852..1604d95 100644 --- a/lib/pages/delivery/information_page.dart +++ b/lib/pages/delivery/information_page.dart @@ -5,6 +5,7 @@ import 'package:driverapp/widgets/delivery/package_content.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; +import '../../uitl/translations_delegate_base.dart'; import '../../widgets/others/app_scaffold_widget.dart'; class InformationPage extends StatelessWidget { @@ -43,7 +44,9 @@ class InformationPage extends StatelessWidget { ), Container( child: Text( - 'Delivery information', + TranslationBase + .of(context) + .deliveryInfo, style: TextStyle( color: Colors.white, fontSize: 20, @@ -84,7 +87,9 @@ class InformationPage extends StatelessWidget { size: 30, color: Colors.white, ), - btnName: 'Location', + btnName: TranslationBase + .of(context) + .location, btnFunction: () {}, ), delivery_info_button( @@ -104,7 +109,9 @@ class InformationPage extends StatelessWidget { size: 30, color: Colors.white, ), - btnName: 'SMS', + btnName: TranslationBase + .of(context) + .sms, btnFunction: () {}, ), delivery_info_button( @@ -114,7 +121,9 @@ class InformationPage extends StatelessWidget { size: 30, color: Colors.white, ), - btnName: 'Call', + btnName: TranslationBase + .of(context) + .call, btnFunction: () {}, ), ], @@ -128,7 +137,9 @@ class InformationPage extends StatelessWidget { crossAxisAlignment: CrossAxisAlignment.start, children: [ Text( - 'Package Content', + TranslationBase + .of(context) + .packageContent, style: TextStyle( fontWeight: FontWeight.bold, fontSize: 20), @@ -186,7 +197,9 @@ class InformationPage extends StatelessWidget { side: BorderSide(color: Color(0xff41bdbb)), ), child: Text( - 'Client Reached', + TranslationBase + .of(context) + .clientReached, style: TextStyle( color: Colors.white, fontWeight: FontWeight.bold, diff --git a/lib/pages/orders/pending_orders_page.dart b/lib/pages/orders/pending_orders_page.dart index fd2dd0b..16149b2 100644 --- a/lib/pages/orders/pending_orders_page.dart +++ b/lib/pages/orders/pending_orders_page.dart @@ -1,9 +1,9 @@ -import 'package:flutter/material.dart'; -import 'package:driverapp/config/size_config.dart'; import 'package:driverapp/core/viewModels/orders_view_model.dart'; -import '../base/base_view.dart'; -import 'package:flutter/cupertino.dart'; import 'package:driverapp/widgets/others/rounded_container.dart'; +import 'package:flutter/cupertino.dart'; +import 'package:flutter/material.dart'; + +import '../base/base_view.dart'; class OrdersListScreen extends StatefulWidget { @override @@ -17,125 +17,140 @@ class _OrdersListScreenState extends State { onModelReady: (model) => model.getPendingOrders(), builder: (BuildContext context, OrdersViewModel model, Widget child) => - Scaffold( - appBar: AppBar( - centerTitle: true, - backgroundColor: Color(0xffF4F9FA), - title: Text( - 'Your Delivery Que', - ), - ), - body: Column( - children: [ - Center( - child: Text( - 'Nearest', - style: TextStyle( - color: Color(0xff30B7B9), - fontSize: 18.0, - fontWeight: FontWeight.w400), + Scaffold( + appBar: AppBar( + centerTitle: true, + backgroundColor: Color(0xffF4F9FA), + title: Text( + 'Your Delivery Que', ), ), - Expanded( - child: ListView.builder( - itemCount: model.orders == null ? 0 : model.orders.length, - scrollDirection: Axis.vertical, - shrinkWrap: true, - itemBuilder: (BuildContext context, int index) { - return Padding( - padding: EdgeInsets.symmetric(horizontal: 12.2), - child: RoundedContainer( - height: MediaQuery.of(context).orientation == + body: Column( + children: [ + Center( + child: Text( + 'Nearest', + style: TextStyle( + color: Color(0xff30B7B9), + fontSize: 18.0, + fontWeight: FontWeight.w400), + ), + ), + Expanded( + child: ListView.builder( + itemCount: model.orders == null ? 0 : model.orders.length, + scrollDirection: Axis.vertical, + shrinkWrap: true, + itemBuilder: (BuildContext context, int index) { + return Padding( + padding: EdgeInsets.symmetric(horizontal: 12.2), + child: RoundedContainer( + height: MediaQuery + .of(context) + .orientation == Orientation.portrait - ? MediaQuery.of(context).size.height * 0.107 - : MediaQuery.of(context).size.height * 0.18, - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - Expanded( - flex: 1, - child: Column( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Padding( - padding: EdgeInsets.only(left: 22.0), - child: Image.asset( - 'assets/images/location.png', - height: - MediaQuery.of(context).size.height * + ? MediaQuery + .of(context) + .size + .height * 0.107 + : MediaQuery + .of(context) + .size + .height * 0.18, + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Expanded( + flex: 1, + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Padding( + padding: EdgeInsets.only(left: 22.0), + child: Image.asset( + 'assets/images/location.png', + height: + MediaQuery + .of(context) + .size + .height * 0.101, - ), - ), - ], - ), - ), - if (model.orders.length != 0) - Expanded( - flex: 3, - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Expanded( - child: Text( - model.orders[index].firstName + - ' ' + - model.orders[index].lastName, - style: TextStyle(fontSize: 18.0), - ), - ), - Text( - model.orders[index].mobileNumber, - style: TextStyle( - color: Color(0xff30B7B9), - fontWeight: FontWeight.w600, - fontSize: 15.0), - ), - Expanded( - child: Text( - 'Olaya ST, Behind kfc next to king ', - style: TextStyle(color: Colors.black45), + ), ), - ) - ], + ], + ), ), - ), - Padding( - padding: EdgeInsets.all(10.0), - child: Column( - mainAxisAlignment: MainAxisAlignment.center, - children: [ + if (model.orders.length != 0) Expanded( - child: CircleAvatar( - backgroundColor: Colors.black45, - radius: 28.0, - child: CircleAvatar( - backgroundColor: Colors.white, - maxRadius: 25.1, - child: Padding( - padding: const EdgeInsets.all(8.0), + flex: 3, + child: Column( + crossAxisAlignment: CrossAxisAlignment + .start, + children: [ + Expanded( child: Text( - '3 K.m \n away', - style: TextStyle( - color: Color(0xff30B7B9), - fontSize: 12.5, - fontWeight: FontWeight.w600), + model.orders[index].firstName + + ' ' + + model.orders[index].lastName, + style: TextStyle(fontSize: 18.0), ), ), - ), + Text( + model.orders[index].mobileNumber, + style: TextStyle( + color: Color(0xff30B7B9), + fontWeight: FontWeight.w600, + fontSize: 15.0), + ), + Expanded( + child: Text( + 'Olaya ST, Behind kfc next to king ', + style: TextStyle( + color: Colors.black45), + ), + ) + ], ), - ) - ], - ), + ), + Padding( + padding: EdgeInsets.all(10.0), + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Expanded( + child: CircleAvatar( + backgroundColor: Colors.black45, + radius: 28.0, + child: CircleAvatar( + backgroundColor: Colors.white, + maxRadius: 25.1, + child: Padding( + padding: const EdgeInsets.all( + 8.0), + child: Text( + '3 K.m \n away', + style: TextStyle( + color: Color(0xff30B7B9), + fontSize: 12.5, + fontWeight: FontWeight + .w600), + ), + ), + ), + ), + ) + ], + ), + ), + ], ), - ], - ), - ), - ); - }), + ), + ); + }), + ), + ], ), - ], - ), - ), + ), ); } } diff --git a/lib/uitl/translations_delegate_base.dart b/lib/uitl/translations_delegate_base.dart index b497c1a..0e07425 100644 --- a/lib/uitl/translations_delegate_base.dart +++ b/lib/uitl/translations_delegate_base.dart @@ -49,23 +49,60 @@ class TranslationBase { String get english => localizedValues['english'][locale.languageCode]; String get arabic => localizedValues['arabic'][locale.languageCode]; + String get enterCredentialsMsg => localizedValues['enterCredentialsMsg'][locale.languageCode]; + String get forgotPassword => localizedValues['forgotPassword'][locale.languageCode]; String get login => localizedValues['login'][locale.languageCode]; + String get haveGreatDay => localizedValues['haveGreatDay'][locale.languageCode]; + String get youHave => localizedValues['youHave'][locale.languageCode]; + String get deliveredPackages => localizedValues['deliveredPackages'][locale.languageCode]; + String get seeAll => localizedValues['seeAll'][locale.languageCode]; + String get nearestDropOffs => localizedValues['nearestDropOffs'][locale.languageCode]; + String get undeliveredPackages => localizedValues['undeliveredPackages'][locale.languageCode]; + String get away => localizedValues['away'][locale.languageCode]; + String get scan => localizedValues['scan'][locale.languageCode]; + + String get deliveryInfo => + localizedValues['deliveryInfo'][locale.languageCode]; + + String get location => localizedValues['location'][locale.languageCode]; + + String get call => localizedValues['call'][locale.languageCode]; + + String get sms => localizedValues['sms'][locale.languageCode]; + + String get packageContent => + localizedValues['packageContent'][locale.languageCode]; + + String get payment => localizedValues['payment'][locale.languageCode]; + + String get delivryTime => localizedValues['delivryTime'][locale.languageCode]; + + String get clientReached => + localizedValues['clientReached'][locale.languageCode]; + + String get addNoteBtn => localizedValues['addNoteBtn'][locale.languageCode]; + + String get nextDelivery => + localizedValues['nextDelivery'][locale.languageCode]; + + String get confirmationSent => + localizedValues['confirmationSent'][locale.languageCode]; } class TranslationBaseDelegate extends LocalizationsDelegate { diff --git a/lib/widgets/delivery/customer_brief_card.dart b/lib/widgets/delivery/customer_brief_card.dart index a7dbaf8..7b2fce5 100644 --- a/lib/widgets/delivery/customer_brief_card.dart +++ b/lib/widgets/delivery/customer_brief_card.dart @@ -1,5 +1,7 @@ import 'package:flutter/material.dart'; +import '../../uitl/translations_delegate_base.dart'; + class CustomerBrief extends StatelessWidget { final int itemId; final String time; @@ -109,7 +111,9 @@ class CustomerBrief extends StatelessWidget { Row( children: [ Text( - 'payment', + TranslationBase + .of(context) + .payment, ), SizedBox( width: 170, @@ -125,7 +129,11 @@ class CustomerBrief extends StatelessWidget { ), Row( children: [ - Text('Delivery Time'), + Text( + TranslationBase + .of(context) + .delivryTime, + ), SizedBox( width: 50, ),