Commit 0b4bb86a by Alen Jose

jul-31

parent 031c8443
...@@ -44,7 +44,11 @@ ...@@ -44,7 +44,11 @@
"sidemenu": { "sidemenu": {
"Book Ride": "Book Ride", "Book Ride": "Book Ride",
"My Trips": "My Trips", "My Trips": "My Trips",
"Logout": "Logout" "Logout": "Logout",
"Network Error": "Network Error",
"No Internet Connection": "No Internet Connection",
"Quit": "Quit",
"Cancel": "Cancel"
}, },
"forgot": { "forgot": {
"Forgot Password": "Forgot Password", "Forgot Password": "Forgot Password",
...@@ -61,5 +65,123 @@ ...@@ -61,5 +65,123 @@
"Popular Search": "Popular Search", "Popular Search": "Popular Search",
"Secret key miss match": "Secret key miss match", "Secret key miss match": "Secret key miss match",
"No searches found": "No searches found" "No searches found": "No searches found"
},
"profile": {
"Edit Profile": "Edit Profile",
"Mobile Number": "Mobile Number",
"Enter a valid Mobile": "Enter a valid Mobile",
"Name": "Name",
"Enter a valid Name": "Enter a valid Name",
"Email": "Email",
"Enter a valid Email": "Enter a valid Email",
"Current Password": "Current Password",
"Minimum 6 characters": "Minimum 6 characters",
"New Password": "New Password",
"Confirm Password": "Confirm Password",
"Password Mismatches": "Password Mismatches",
"UPDATE": "UPDATE",
"Secret key miss match": "Secret key miss match",
"Sorry, Please try again": "Sorry, Please try again",
"Invalid Current Password": "Invalid Current Password",
"Profile updated successfully": "Profile updated successfully",
"Please choose an image file": "Please choose an image file"
},
"ridepop": {
"Fare Breakup": "Fare Breakup",
"km": "km",
"hour": "hour",
"Ride time Rate": "Ride time Rate",
"RIDE NOW": "RIDE NOW",
"RIDE LATER": "RIDE LATER",
"First": "First",
"After": "After",
"Please select a valid date": "Please select a valid date",
"Secret key miss match": "Secret key miss match",
"No data found": "No data found"
},
"ridenow": {
"Cab Type": "Cab Type",
"Pickup Time": "Pickup Time",
"02 Min from now": "02 Min from now",
"Rate Card": "Rate Card",
"Rate Estimate": "Rate Estimate",
"CONFIRM RIDE": "CONFIRM RIDE",
"CANCEL RIDE": "CANCEL RIDE",
"Secret key miss match": "Secret key miss match",
"No data found": "No data found",
"Please try again": "Please try again"
},
"ratecard": {
"Fare Breakup": "Fare Breakup",
"For": "For",
"ride": "ride",
"First": "First",
"km": "km",
"After": "After",
"hour": "hour",
"Ride time Rate": "Ride time Rate",
"OKAY": "OKAY"
},
"coupon" : {
"Add Coupons":"Add Coupons",
"Enter Coupon Code" : "Enter Coupon Code",
"Apply":"Apply",
"Payment Details":"Payment Details",
"Total":"Total",
"Discount":"Discount",
"Due after service":"Due after service",
"CONTINUE":"CONTINUE",
"CANCEL" :"CANCEL",
"Promocode Expired":"Promocode Expired",
"Invalid Promocode":"Invalid Promocode",
"Secret key miss match":"Secret key miss match"
},
"confirm" : {
"Success":"Success",
"Your booking has been confirmed on" : "Your booking has been confirmed on",
"OKAY" : "OKAY"
},
"ride" : {
"Quickride Details":"Quickride Details",
"From":"From",
"To":"To",
"Track Driver" : "Track Driver",
"Searching for driver" : "Searching for driver",
"No drivers found" : "No drivers found",
"No drivers are available" : "No drivers are available",
"Please search again" : "Please search again",
"Cancel" : "Cancel",
"Search" : "Search",
"Please try again!" : "Please try again!",
"Secret key miss match" : "Secret key miss match",
"Ratings":"Ratings",
"Something went wrong please try again" : "Something went wrong please try again."
},
"map":{
"Map" : "Map",
"From" : "From",
"To" : "To",
"Cancel" : "Cancel"
},
"rating":{
"Rate now" : "Rate now",
"Give your rating" : "Give your rating",
"Submit" : "Submit",
"Later" : "Later",
"Please try again!" : "Please try again!",
"Secret key miss match" : "Secret key miss match"
},
"ridesummary":{
"Quickride Details" : "Quickride Details",
"From" : "From",
"To" : "To",
"Ratings" : "Ratings",
"Total" : "Total",
"km" : "km",
"Discount" : "Discount",
"Total Price" : "Total Price",
"Close" : "Close",
"Please try again!" : "Please try again!",
"Secret key miss match" : "Secret key miss match"
} }
} }
\ No newline at end of file
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<button ion-button class="nav_btn theme_color floatLeft" (click)="goBack()"> <button ion-button class="nav_btn theme_color floatLeft" (click)="goBack()">
<ion-icon name="ios-arrow-back"></ion-icon> <ion-icon name="ios-arrow-back"></ion-icon>
</button> </button>
<div class="nav_header_title floatLeft">Add Coupons</div> <div class="nav_header_title floatLeft">{{'coupon.Add Coupons'|translate}}</div>
<div class="clear"></div> <div class="clear"></div>
</ion-header> </ion-header>
...@@ -10,27 +10,27 @@ ...@@ -10,27 +10,27 @@
<div class="cab_coupon_wrapper"> <div class="cab_coupon_wrapper">
<form [formGroup]="promoForm"> <form [formGroup]="promoForm">
<div class="cab_coupon_box"> <div class="cab_coupon_box">
<input class="cab_coupon_input" placeholder="Enter Coupon Code" formControlName="promocode"> <input class="cab_coupon_input" placeholder="{{'coupon.Enter Coupon Code'|translate}}" formControlName="promocode">
</div> </div>
</form> </form>
<!-- <p *ngIf="">You don’t seem to have any valid coupons.<br> --> <!-- <p *ngIf="">You don’t seem to have any valid coupons.<br> -->
<!-- Invite your friends. Unlock free ride coupons</p> --> <!-- Invite your friends. Unlock free ride coupons</p> -->
<button ion-button class="cab_coupon_apply" (click)="checkCode()" [disabled]="promoBtn">Apply</button> <button ion-button class="cab_coupon_apply" (click)="checkCode()" [disabled]="promoBtn">{{'coupon.Apply'|translate}}</button>
<div class="cab_coupon_content"> <div class="cab_coupon_content">
<p>Payment Details</p> <p>{{'coupon.Payment Details'|translate}}</p>
<li> <li>
<div class="child textLeft">Total</div> <div class="child textLeft">{{'coupon.Total'|translate}}</div>
<div class="child textRight">₹ {{rate[0]}}</div> <div class="child textRight">₹ {{rate[0]}}</div>
<div class="clear"></div> <div class="clear"></div>
</li> </li>
<li> <li>
<div class="child textLeft">Discount</div> <div class="child textLeft">{{'coupon.Discount'|translate}}</div>
<div class="child textRight" *ngIf="promo.discount.slice(-1)=='%'">{{promo.discount}}</div> <div class="child textRight" *ngIf="promo.discount.slice(-1)=='%'">{{promo.discount}}</div>
<div class="child textRight" *ngIf="promo.discount.slice(-1)!='%'">₹ {{promo.discount}}</div> <div class="child textRight" *ngIf="promo.discount.slice(-1)!='%'">₹ {{promo.discount}}</div>
<div class="clear"></div> <div class="clear"></div>
</li> </li>
<li> <li>
<div class="child textLeft">Due after service</div> <div class="child textLeft">{{'coupon.Due after service'|translate}}</div>
<div class="child textRight">₹ {{promo.amount}}</div> <div class="child textRight">₹ {{promo.amount}}</div>
<div class="clear"></div> <div class="clear"></div>
</li> </li>
...@@ -40,8 +40,8 @@ ...@@ -40,8 +40,8 @@
</ion-content> </ion-content>
<ion-footer> <ion-footer>
<div class="cab_footer_btn_bay"> <div class="cab_footer_btn_bay">
<button ion-button class="cab_footer_btn floatRight"(click)="pay()">CONTINUE</button> <button ion-button class="cab_footer_btn floatRight"(click)="pay()">{{'coupon.CONTINUE'|translate}}</button>
<button ion-button class="cab_footer_btn floatLeft theme_dark_bg" (click)="goBack()">CANCEL</button> <button ion-button class="cab_footer_btn floatLeft theme_dark_bg" (click)="goBack()">{{'coupon.CANCEL'|translate}}</button>
<div class="clear"></div> <div class="clear"></div>
</div> </div>
</ion-footer> </ion-footer>
import { NgModule } from '@angular/core'; import { NgModule } from '@angular/core';
import { IonicPageModule } from 'ionic-angular'; import { IonicPageModule } from 'ionic-angular';
import { AddcouponPage } from './addcoupon'; import { AddcouponPage } from './addcoupon';
import { TranslateModule } from "@ngx-translate/core";
@NgModule({ @NgModule({
declarations: [ declarations: [
...@@ -8,6 +9,7 @@ import { AddcouponPage } from './addcoupon'; ...@@ -8,6 +9,7 @@ import { AddcouponPage } from './addcoupon';
], ],
imports: [ imports: [
IonicPageModule.forChild(AddcouponPage), IonicPageModule.forChild(AddcouponPage),
TranslateModule
], ],
}) })
export class AddcouponPageModule {} export class AddcouponPageModule {}
...@@ -5,6 +5,7 @@ import { Myservice } from "../../providers/myservice"; ...@@ -5,6 +5,7 @@ import { Myservice } from "../../providers/myservice";
import { dataService } from "../../providers/common.service"; import { dataService } from "../../providers/common.service";
import { Storage } from "@ionic/storage"; import { Storage } from "@ionic/storage";
import { user } from "../../models/mymodel"; import { user } from "../../models/mymodel";
import { TranslateService } from "@ngx-translate/core";
@IonicPage() @IonicPage()
@Component({ @Component({
...@@ -18,8 +19,9 @@ export class AddcouponPage { ...@@ -18,8 +19,9 @@ export class AddcouponPage {
local:user; local:user;
promoBtn:boolean = false; promoBtn:boolean = false;
booking:any; booking:any;
lang: string = 'en';
constructor(public navCtrl: NavController, public navParams: NavParams, public modalCtrl: ModalController, private formBuilder: FormBuilder, private myservice: Myservice, private data: dataService, private storage:Storage) { constructor(public navCtrl: NavController, public navParams: NavParams, public modalCtrl: ModalController, private formBuilder: FormBuilder, private myservice: Myservice, private data: dataService, private storage: Storage, private translate: TranslateService) {
this.promoForm = this.formBuilder.group({ this.promoForm = this.formBuilder.group({
promocode: [''], promocode: [''],
amount: [''], amount: [''],
...@@ -28,6 +30,16 @@ export class AddcouponPage { ...@@ -28,6 +30,16 @@ export class AddcouponPage {
} }
ionViewDidEnter() { ionViewDidEnter() {
this.storage.get('lang').then(lang => {
if (lang != null) {
this.translate.use(lang)
this.lang = lang;
}
else {
this.translate.use('en')
}
})
this.booking = this.data.getbookingData() this.booking = this.data.getbookingData()
this.booking.promocode = null; this.booking.promocode = null;
this.storage.get('user_data').then(data=>{ this.storage.get('user_data').then(data=>{
...@@ -66,7 +78,9 @@ export class AddcouponPage { ...@@ -66,7 +78,9 @@ export class AddcouponPage {
this.booking.discount = this.promo.discount this.booking.discount = this.promo.discount
} }
else { else {
this.myservice.show_alert('Error', response.message) this.translate.get(['coupon.' + response.message]).subscribe(value => {
this.myservice.show_alert('', value['coupon.' + response.message])
})
} }
}) })
} }
......
...@@ -2,16 +2,16 @@ ...@@ -2,16 +2,16 @@
<button ion-button class="nav_btn theme_color floatLeft"(click)="dismiss()"> <button ion-button class="nav_btn theme_color floatLeft"(click)="dismiss()">
<ion-icon name="close"></ion-icon> <ion-icon name="close"></ion-icon>
</button> </button>
<div class="nav_header_title floatLeft">Success</div> <div class="nav_header_title floatLeft">{{'confirm.Success'|translate}}</div>
<div class="clear"></div> <div class="clear"></div>
</ion-header> </ion-header>
<ion-content padding class="theme_dark_bg"> <ion-content padding class="theme_dark_bg">
<div class="cab_logo" style="padding-bottom: 20%;"> <div class="cab_logo" style="padding-bottom: 20%;">
<img src="assets/img/booking.png"> <img src="assets/img/booking.png">
</div> </div>
<p class="text_white textCenter cab_confirm_p">Your booking has been confirmed<br> <p class="text_white textCenter cab_confirm_p">{{'confirm.Your booking has been confirmed on'|translate}}<br>
on {{book?.date|date:'fullDate'}}</p> {{book?.date|date:'fullDate'}}</p>
</ion-content> </ion-content>
<ion-footer> <ion-footer>
<button ion-button class="cab_footer_btn width100 theme_bgcolor text_white" (click)="home()">OKAY</button> <button ion-button class="cab_footer_btn width100 theme_bgcolor text_white" (click)="home()">{{'confirm.OKAY'|translate}}</button>
</ion-footer> </ion-footer>
import { NgModule } from '@angular/core'; import { NgModule } from '@angular/core';
import { IonicPageModule } from 'ionic-angular'; import { IonicPageModule } from 'ionic-angular';
import { ConfirmridePage } from './confirmride'; import { ConfirmridePage } from './confirmride';
import { TranslateModule } from "@ngx-translate/core";
@NgModule({ @NgModule({
declarations: [ declarations: [
...@@ -8,6 +9,7 @@ import { ConfirmridePage } from './confirmride'; ...@@ -8,6 +9,7 @@ import { ConfirmridePage } from './confirmride';
], ],
imports: [ imports: [
IonicPageModule.forChild(ConfirmridePage), IonicPageModule.forChild(ConfirmridePage),
TranslateModule
], ],
}) })
export class ConfirmridePageModule {} export class ConfirmridePageModule {}
...@@ -4,6 +4,7 @@ import { Myservice } from "../../providers/myservice"; ...@@ -4,6 +4,7 @@ import { Myservice } from "../../providers/myservice";
import { dataService } from "../../providers/common.service"; import { dataService } from "../../providers/common.service";
import { Storage } from "@ionic/storage"; import { Storage } from "@ionic/storage";
import { user } from "../../models/mymodel"; import { user } from "../../models/mymodel";
import { TranslateService } from "@ngx-translate/core";
@IonicPage() @IonicPage()
@Component({ @Component({
...@@ -15,8 +16,9 @@ export class ConfirmridePage { ...@@ -15,8 +16,9 @@ export class ConfirmridePage {
local: user local: user
book: any book: any
public unregisterBackButtonAction: any; public unregisterBackButtonAction: any;
lang: string = 'en';
constructor(public navCtrl: NavController, public navParams: NavParams, public viewCtrl: ViewController, public modalCtrl: ModalController, private myservice: Myservice, private data: dataService, private storage: Storage, public platform: Platform) { constructor(public navCtrl: NavController, public navParams: NavParams, public viewCtrl: ViewController, public modalCtrl: ModalController, private myservice: Myservice, private data: dataService, private storage: Storage, public platform: Platform, private translate: TranslateService) {
} }
ionViewDidEnter() { ionViewDidEnter() {
...@@ -35,13 +37,26 @@ export class ConfirmridePage { ...@@ -35,13 +37,26 @@ export class ConfirmridePage {
this.initializeBackButtonCustomHandler(); this.initializeBackButtonCustomHandler();
} }
else { else {
this.myservice.show_alert('Failed', 'Please try again') this.translate.get(['confirm.' + response.message]).subscribe(value => {
this.myservice.show_alert('', value['confirm.' + response.message])
})
this.navCtrl.pop() this.navCtrl.pop()
} }
}) })
} }
}) })
this.storage.get('lang').then(lang => {
if (lang != null) {
this.translate.use(lang)
this.lang = lang;
}
else {
this.translate.use('en')
}
})
} }
public initializeBackButtonCustomHandler(): void { public initializeBackButtonCustomHandler(): void {
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<button ion-button class="nav_btn theme_color floatLeft" (click)="back()"> <button ion-button class="nav_btn theme_color floatLeft" (click)="back()">
<ion-icon name="ios-arrow-back"></ion-icon> <ion-icon name="ios-arrow-back"></ion-icon>
</button> </button>
<div class="nav_header_title floatLeft">Map</div> <div class="nav_header_title floatLeft">{{'map.Map'|translate}}</div>
<div class="clear"></div> <div class="clear"></div>
</ion-header> </ion-header>
...@@ -14,14 +14,14 @@ ...@@ -14,14 +14,14 @@
<div #map id="map"></div> <div #map id="map"></div>
<div class="jr_bottom_distance_card" *ngIf="temp"> <div class="jr_bottom_distance_card" *ngIf="temp">
<div class="jr_bottom_inside"> <div class="jr_bottom_inside">
<input class="jr_dest_input from" placeholder="From" [(ngModel)]="bookData.pickArea" [readonly]="true"> <input class="jr_dest_input from" placeholder="{{'map.From'|translate}}" [(ngModel)]="bookData.pickArea" [readonly]="true">
<input class="jr_dest_input to" placeholder="To" [(ngModel)]="bookData.dropArea" [readonly]="true"> <input class="jr_dest_input to" placeholder="{{'map.To'|translate}}" [(ngModel)]="bookData.dropArea" [readonly]="true">
</div> </div>
</div> </div>
</ion-content> </ion-content>
<ion-footer *ngIf="!temp"> <ion-footer *ngIf="!temp">
<div class="jr_bottom_button_bay"> <div class="jr_bottom_button_bay">
<button ion-button class="cab_footer_btn" (click)="cancel()">Cancel</button> <button ion-button class="cab_footer_btn" (click)="cancel()">{{'map.Cancel'|translate}}</button>
</div> </div>
</ion-footer> </ion-footer>
import { NgModule } from '@angular/core'; import { NgModule } from '@angular/core';
import { IonicPageModule } from 'ionic-angular'; import { IonicPageModule } from 'ionic-angular';
import { MapPage } from './map'; import { MapPage } from './map';
import { TranslateModule } from "@ngx-translate/core";
@NgModule({ @NgModule({
declarations: [ declarations: [
...@@ -8,6 +9,7 @@ import { MapPage } from './map'; ...@@ -8,6 +9,7 @@ import { MapPage } from './map';
], ],
imports: [ imports: [
IonicPageModule.forChild(MapPage), IonicPageModule.forChild(MapPage),
TranslateModule
], ],
exports: [ exports: [
MapPage MapPage
......
...@@ -4,6 +4,8 @@ import { dataService } from "../../providers/common.service"; ...@@ -4,6 +4,8 @@ import { dataService } from "../../providers/common.service";
import * as firebase from 'firebase'; import * as firebase from 'firebase';
import { Geolocation } from '@ionic-native/geolocation'; import { Geolocation } from '@ionic-native/geolocation';
import { Myservice } from "../../providers/myservice"; import { Myservice } from "../../providers/myservice";
import { TranslateService } from "@ngx-translate/core";
import { Storage } from "@ionic/storage";
declare var google; declare var google;
@IonicPage() @IonicPage()
...@@ -25,11 +27,22 @@ export class MapPage { ...@@ -25,11 +27,22 @@ export class MapPage {
markers: any; markers: any;
tempLast: any; tempLast: any;
userMarkers: any; userMarkers: any;
lang: string = 'en';
constructor(public navCtrl: NavController, public navParams: NavParams, private data: dataService, private geolocation: Geolocation, private myservice: Myservice) { constructor(public navCtrl: NavController, public navParams: NavParams, private data: dataService, private geolocation: Geolocation, private myservice: Myservice, private translate: TranslateService, private storage:Storage) {
} }
ionViewDidEnter() { ionViewDidEnter() {
this.storage.get('lang').then(lang => {
if (lang != null) {
this.translate.use(lang)
this.lang = lang;
}
else {
this.translate.use('en')
}
})
this.geolocation.getCurrentPosition().then((resp) => { this.geolocation.getCurrentPosition().then((resp) => {
this.loadMap(resp.coords.latitude, resp.coords.longitude); this.loadMap(resp.coords.latitude, resp.coords.longitude);
this.driver = this.data.getdriverData(); this.driver = this.data.getdriverData();
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<button ion-button class="nav_btn theme_color floatLeft" menuToggle> <button ion-button class="nav_btn theme_color floatLeft" menuToggle>
<ion-icon name="ios-menu"></ion-icon> <ion-icon name="ios-menu"></ion-icon>
</button> </button>
<div class="nav_header_title floatLeft">Edit Profile</div> <div class="nav_header_title floatLeft">{{'profile.Edit Profile'|translate}}</div>
<div class="clear"></div> <div class="clear"></div>
</ion-header> </ion-header>
<ion-content padding class="themelogin_background"> <ion-content padding class="themelogin_background">
...@@ -19,60 +19,60 @@ ...@@ -19,60 +19,60 @@
<form [formGroup]="profileForm"> <form [formGroup]="profileForm">
<div class="cab_form_row cab_edit_profile_edit_row"> <div class="cab_form_row cab_edit_profile_edit_row">
<div class="cab_phone_number"> <div class="cab_phone_number">
<select class="cab_phone_code floatLeft"> <select class="cab_phone_code floatLeft" formControlName="dial_code">
<option>+91</option> <option *ngFor="let code of codes" value=+{{code.dialCode}}>+{{code.dialCode}}</option>
</select> </select>
<input class="cab_phone_input floatRight cab_call" placeholder="Mobile Number" formControlName="mobile"> <input class="cab_phone_input floatRight cab_call" placeholder="{{'profile.Mobile Number'|translate}}" formControlName="mobile">
<div class="clear"></div> <div class="clear"></div>
</div> </div>
</div> </div>
<div class="cab_req" *ngIf="profileForm.controls.mobile.invalid && (profileForm.get('mobile').dirty || profileForm.get('mobile').touched)"> <div class="cab_req" *ngIf="profileForm.controls.mobile.invalid && (profileForm.get('mobile').dirty || profileForm.get('mobile').touched)">
Enter a valid Mobile {{'profile.Enter a valid Mobile'|translate}}
</div> </div>
<div class="cab_form_row cab_edit_profile_edit_row"> <div class="cab_form_row cab_edit_profile_edit_row">
<div class="cab_phone_number"> <div class="cab_phone_number">
<input class="cab_phone_input cab_user width100" placeholder="Name" formControlName="name"> <input class="cab_phone_input cab_user width100" placeholder="{{'profile.Name'|translate}}" formControlName="name">
<div class="clear"></div> <div class="clear"></div>
</div> </div>
</div> </div>
<div class="cab_req" *ngIf="profileForm.controls.name.invalid && (profileForm.get('name').dirty || profileForm.get('name').touched)"> <div class="cab_req" *ngIf="profileForm.controls.name.invalid && (profileForm.get('name').dirty || profileForm.get('name').touched)">
Enter a valid Name {{'profile.Enter a valid Name'|translate}}
</div> </div>
<div class="cab_form_row cab_edit_profile_edit_row"> <div class="cab_form_row cab_edit_profile_edit_row">
<div class="cab_phone_number"> <div class="cab_phone_number">
<input class="cab_phone_input width100" placeholder="Email" type="email" formControlName="email"> <input class="cab_phone_input width100" placeholder="{{'profile.Email'|translate}}" type="email" formControlName="email">
<div class="clear"></div> <div class="clear"></div>
</div> </div>
</div> </div>
<div class="cab_req" *ngIf="profileForm.controls.email.invalid && (profileForm.get('email').dirty || profileForm.get('email').touched)"> <div class="cab_req" *ngIf="profileForm.controls.email.invalid && (profileForm.get('email').dirty || profileForm.get('email').touched)">
Enter a valid Email {{'profile.Enter a valid Email'|translate}}
</div> </div>
<div class="cab_form_row cab_edit_profile_edit_row"> <div class="cab_form_row cab_edit_profile_edit_row">
<div class="cab_phone_number"> <div class="cab_phone_number">
<input class="cab_phone_input cab_pass width100" placeholder="Current Password" type="password" formControlName="password"> <input class="cab_phone_input cab_pass width100" placeholder="{{'profile.Current Password'|translate}}" type="password" formControlName="password">
<div class="clear"></div> <div class="clear"></div>
</div> </div>
</div> </div>
<div class="cab_req" *ngIf="profileForm.controls.password.invalid && (profileForm.get('password').dirty || profileForm.get('password').touched)"> <div class="cab_req" *ngIf="profileForm.controls.password.invalid && (profileForm.get('password').dirty || profileForm.get('password').touched)">
Minimum 6 characters {{'profile.Minimum 6 characters'|translate}}
</div> </div>
<div class="cab_form_row cab_edit_profile_edit_row"> <div class="cab_form_row cab_edit_profile_edit_row">
<div class="cab_phone_number"> <div class="cab_phone_number">
<input class="cab_phone_input cab_pass width100" placeholder="New Password" type="password" formControlName="new"> <input class="cab_phone_input cab_pass width100" placeholder="{{'profile.New Password'|translate}}" type="password" formControlName="new">
<div class="clear"></div> <div class="clear"></div>
</div> </div>
</div> </div>
<div class="cab_req" *ngIf="profileForm.controls.new.invalid && (profileForm.get('new').dirty || profileForm.get('new').touched)"> <div class="cab_req" *ngIf="profileForm.controls.new.invalid && (profileForm.get('new').dirty || profileForm.get('new').touched)">
Minimum 6 characters {{'profile.Minimum 6 characters'|translate}}
</div> </div>
<div class="cab_form_row cab_edit_profile_edit_row"> <div class="cab_form_row cab_edit_profile_edit_row">
<div class="cab_phone_number"> <div class="cab_phone_number">
<input class="cab_phone_input cab_pass width100" placeholder="Confirm Password" type="password" formControlName="confirm"> <input class="cab_phone_input cab_pass width100" placeholder="{{'profile.Confirm Password'|translate}}" type="password" formControlName="confirm">
<div class="clear"></div> <div class="clear"></div>
</div> </div>
</div> </div>
<div class="cab_req" *ngIf="profileForm.controls.confirm.invalid && (profileForm.get('confirm').dirty || profileForm.get('confirm').touched)"> <div class="cab_req" *ngIf="profileForm.controls.confirm.invalid && (profileForm.get('confirm').dirty || profileForm.get('confirm').touched)">
Password Mismatches {{'profile.Password Mismatches'|translate}}
</div> </div>
</form> </form>
</div> </div>
...@@ -80,5 +80,5 @@ ...@@ -80,5 +80,5 @@
</div> </div>
</ion-content> </ion-content>
<ion-footer> <ion-footer>
<button ion-button class="cab_footer_btn width100 text_white" (click)="update()" [disabled]="profileForm.invalid">UPDATE</button> <button ion-button class="cab_footer_btn width100 text_white" (click)="update()" [disabled]="profileForm.invalid">{{'profile.UPDATE'|translate}}</button>
</ion-footer> </ion-footer>
import { NgModule } from '@angular/core'; import { NgModule } from '@angular/core';
import { IonicPageModule } from 'ionic-angular'; import { IonicPageModule } from 'ionic-angular';
import { ProfilePage } from './profile'; import { ProfilePage } from './profile';
import { TranslateModule } from "@ngx-translate/core";
@NgModule({ @NgModule({
declarations: [ declarations: [
...@@ -8,6 +9,7 @@ import { ProfilePage } from './profile'; ...@@ -8,6 +9,7 @@ import { ProfilePage } from './profile';
], ],
imports: [ imports: [
IonicPageModule.forChild(ProfilePage), IonicPageModule.forChild(ProfilePage),
TranslateModule
], ],
}) })
export class ProfilePageModule {} export class ProfilePageModule {}
...@@ -6,6 +6,8 @@ import { Storage } from '@ionic/storage'; ...@@ -6,6 +6,8 @@ import { Storage } from '@ionic/storage';
import { Http } from '@angular/http' import { Http } from '@angular/http'
import { OrderbyPipe } from '../../providers/sort-pipe'; import { OrderbyPipe } from '../../providers/sort-pipe';
import { user } from "../../models/mymodel"; import { user } from "../../models/mymodel";
import { TranslateService } from '@ngx-translate/core';
@IonicPage() @IonicPage()
@Component({ @Component({
selector: 'page-profile', selector: 'page-profile',
...@@ -17,8 +19,9 @@ export class ProfilePage { ...@@ -17,8 +19,9 @@ export class ProfilePage {
local:user local:user
image:boolean = false; image:boolean = false;
formdata = new FormData(); formdata = new FormData();
lang: string = 'en';
constructor(public navCtrl: NavController, public navParams: NavParams, private formBuilder: FormBuilder, private myservice: Myservice, private http: Http, private orderbyPipe: OrderbyPipe, public storage: Storage,private events:Events) { constructor(public navCtrl: NavController, public navParams: NavParams, private formBuilder: FormBuilder, private myservice: Myservice, private http: Http, private orderbyPipe: OrderbyPipe, public storage: Storage, private events: Events, private translate: TranslateService) {
this.profileForm = this.formBuilder.group({ this.profileForm = this.formBuilder.group({
name: ['', Validators.compose([Validators.required, Validators.minLength(3)])], name: ['', Validators.compose([Validators.required, Validators.minLength(3)])],
...@@ -40,6 +43,17 @@ export class ProfilePage { ...@@ -40,6 +43,17 @@ export class ProfilePage {
} }
ionViewDidEnter(){ ionViewDidEnter(){
this.storage.get('lang').then(lang => {
if (lang != null) {
this.translate.use(lang)
this.lang = lang;
}
else {
this.translate.use('en')
}
})
this.storage.get('user_data').then(data=>{ this.storage.get('user_data').then(data=>{
if(data){ if(data){
this.local = data this.local = data
...@@ -78,7 +92,9 @@ export class ProfilePage { ...@@ -78,7 +92,9 @@ export class ProfilePage {
} }
else{ else{
this.myservice.hide_loader() this.myservice.hide_loader()
this.myservice.show_alert('',response.message) this.translate.get(['profile.' + response.message]).subscribe(value => {
this.myservice.show_alert('', value['profile.' + response.message])
})
} }
}) })
} }
...@@ -103,7 +119,9 @@ export class ProfilePage { ...@@ -103,7 +119,9 @@ export class ProfilePage {
this.image = true; this.image = true;
} }
else { else {
this.myservice.show_alert("Error","Please choose an image file") this.translate.get(['profile.Please choose an image file']).subscribe(value => {
this.myservice.show_alert('', value['profile.Please choose an image file'])
})
} }
} }
} }
......
...@@ -8,27 +8,27 @@ ...@@ -8,27 +8,27 @@
<p>{{rates[0].cartype}}</p> <p>{{rates[0].cartype}}</p>
<!-- <h6>Toyota Etios, Ford Fiesta</h6> --> <!-- <h6>Toyota Etios, Ford Fiesta</h6> -->
<div class="cab_ride_fare_break">Fare Breakup</div> <div class="cab_ride_fare_break">{{'ratecard.Fare Breakup'|translate}}</div>
<ion-grid> <ion-grid>
<div *ngFor="let rate of rates" class="txt_cntr"> <div *ngFor="let rate of rates" class="txt_cntr">
<span class="clr_wht">For {{rate.timetype}} time ride</span> <span class="clr_wht">{{'ratecard.For'|translate}} {{rate.timetype}} {{'ratecard.ride'|translate}}</span>
<ion-row class="textCenter"> <ion-row class="textCenter">
<ion-col col-4> <ion-col col-4>
<strong>₹ {{rate.intailrate}}</strong> <strong>₹ {{rate.intailrate}}</strong>
<h5>First {{rate.intialkm}}km</h5> <h5>{{'ratecard.First'|translate}} {{rate.intialkm}}{{'ratecard.km'|translate}}</h5>
</ion-col> </ion-col>
<ion-col col-4> <ion-col col-4>
<strong>₹ {{rate.standardrate}}/km</strong> <strong>₹ {{rate.standardrate}}/{{'ratecard.km'|translate}}</strong>
<h5>After {{rate.intialkm}}km</h5> <h5>{{'ratecard.After'|translate}} {{rate.intialkm}}{{'ratecard.km'|translate}}</h5>
</ion-col> </ion-col>
<ion-col col-4> <ion-col col-4>
<strong>₹ {{rate.extrahour}}/hr</strong> <strong>₹ {{rate.extrahour}}/{{'ratecard.hour'|translate}}</strong>
<h5>Ride time Rate</h5> <h5>{{'ratecard.Ride time Rate'|translate}}</h5>
</ion-col> </ion-col>
</ion-row> </ion-row>
</div> </div>
</ion-grid> </ion-grid>
<h6 class="bottom0">Peak time charges may apply.</h6> <!-- <h6 class="bottom0">Peak time charges may apply.</h6> -->
<!-- <div class="cab_trip_detail_wrapper"> <!-- <div class="cab_trip_detail_wrapper">
<h4 class="text_white">Pickup Point</h4> <h4 class="text_white">Pickup Point</h4>
<p class="floatLeft textLeft width50">North Sarovar Road,E City</p> <p class="floatLeft textLeft width50">North Sarovar Road,E City</p>
...@@ -46,5 +46,5 @@ ...@@ -46,5 +46,5 @@
</div> </div>
</ion-content> </ion-content>
<ion-footer> <ion-footer>
<button ion-button class="cab_footer_btn width100" (click)="dismiss()">OKAY</button> <button ion-button class="cab_footer_btn width100" (click)="dismiss()">{{'ratecard.OKAY'|translate}}</button>
</ion-footer> </ion-footer>
\ No newline at end of file
import { NgModule } from '@angular/core'; import { NgModule } from '@angular/core';
import { IonicPageModule } from 'ionic-angular'; import { IonicPageModule } from 'ionic-angular';
import { RatecardPage } from './ratecard'; import { RatecardPage } from './ratecard';
import { TranslateModule } from "@ngx-translate/core";
@NgModule({ @NgModule({
declarations: [ declarations: [
...@@ -8,6 +9,7 @@ import { RatecardPage } from './ratecard'; ...@@ -8,6 +9,7 @@ import { RatecardPage } from './ratecard';
], ],
imports: [ imports: [
IonicPageModule.forChild(RatecardPage), IonicPageModule.forChild(RatecardPage),
TranslateModule
], ],
}) })
export class RatecardPageModule {} export class RatecardPageModule {}
import { Component } from '@angular/core'; import { Component } from '@angular/core';
import { IonicPage, NavController, NavParams,ViewController } from 'ionic-angular'; import { IonicPage, NavController, NavParams,ViewController } from 'ionic-angular';
import { dataService } from "../../providers/common.service"; import { dataService } from "../../providers/common.service";
import { TranslateService } from '@ngx-translate/core';
import { Storage } from "@ionic/storage";
@IonicPage() @IonicPage()
@Component({ @Component({
...@@ -9,14 +11,23 @@ import { dataService } from "../../providers/common.service"; ...@@ -9,14 +11,23 @@ import { dataService } from "../../providers/common.service";
}) })
export class RatecardPage { export class RatecardPage {
rates:any; rates:any;
lang: string = 'en';
constructor(public navCtrl: NavController, public navParams: NavParams, public viewCtrl: ViewController, private data: dataService) { constructor(public navCtrl: NavController, public navParams: NavParams, public viewCtrl: ViewController, private data: dataService, private translate: TranslateService, private storage: Storage) {
this.rates = this.data.getrateData() this.rates = this.data.getrateData()
console.log(this.rates) console.log(this.rates)
} }
ionViewDidLoad() { ionViewDidEnter(){
console.log('ionViewDidLoad RatecardPage'); this.storage.get('lang').then(lang => {
if (lang != null) {
this.translate.use(lang)
this.lang = lang;
}
else {
this.translate.use('en')
}
})
} }
dismiss() dismiss()
......
...@@ -2,13 +2,16 @@ import { NgModule } from '@angular/core'; ...@@ -2,13 +2,16 @@ import { NgModule } from '@angular/core';
import { IonicPageModule } from 'ionic-angular'; import { IonicPageModule } from 'ionic-angular';
import { RattingPage } from './ratting'; import { RattingPage } from './ratting';
import { Ionic2RatingModule } from 'ionic2-rating'; import { Ionic2RatingModule } from 'ionic2-rating';
import { TranslateModule } from "@ngx-translate/core";
@NgModule({ @NgModule({
declarations: [ declarations: [
RattingPage, RattingPage,
], ],
imports: [ imports: [
IonicPageModule.forChild(RattingPage), IonicPageModule.forChild(RattingPage),
Ionic2RatingModule Ionic2RatingModule,
TranslateModule
], ],
}) })
export class RattingPageModule {} export class RattingPageModule {}
...@@ -5,6 +5,7 @@ import { Storage } from "@ionic/storage"; ...@@ -5,6 +5,7 @@ import { Storage } from "@ionic/storage";
import { user } from "../../models/mymodel"; import { user } from "../../models/mymodel";
import { dataService } from "../../providers/common.service"; import { dataService } from "../../providers/common.service";
import { Toast } from "@ionic-native/toast"; import { Toast } from "@ionic-native/toast";
import { TranslateService } from "@ngx-translate/core";
@IonicPage() @IonicPage()
@Component({ @Component({
...@@ -15,15 +16,25 @@ export class RattingPage { ...@@ -15,15 +16,25 @@ export class RattingPage {
driver = this.navParams.get('driver') driver = this.navParams.get('driver')
rate:number; rate:number;
local:user; local:user;
lang: string = 'en';
constructor(public navCtrl: NavController, public navParams: NavParams,public viewCtrl:ViewController, private myservice: Myservice, private storage:Storage, private comData:dataService, private toast:Toast) { constructor(public navCtrl: NavController, public navParams: NavParams, public viewCtrl: ViewController, private myservice: Myservice, private storage: Storage, private comData: dataService, private toast: Toast, private translate: TranslateService) {
} }
ionViewDidEnter() { ionViewDidEnter() {
this.storage.get('lang').then(lang => {
if (lang != null) {
this.translate.use(lang)
this.lang = lang;
}
else {
this.translate.use('en')
}
})
this.storage.get('user_data').then(data=>{ this.storage.get('user_data').then(data=>{
if(data){ if(data){
this.local = data this.local = data
} }
}) })
} }
...@@ -44,13 +55,17 @@ export class RattingPage { ...@@ -44,13 +55,17 @@ export class RattingPage {
if (response.status == 'success') { if (response.status == 'success') {
this.navCtrl.setRoot('HomePage') this.navCtrl.setRoot('HomePage')
this.toast.show(response.message, '2000', 'center').subscribe( this.translate.get(['rating.' + response.message]).subscribe(value => {
this.toast.show(value['rating.' + response.message], '2000', 'center').subscribe(
toast => { toast => {
console.log(toast); console.log(toast);
}); });
})
} }
else { else {
this.myservice.show_alert('', response.message) this.translate.get(['rating.' + response.message]).subscribe(value => {
this.myservice.show_alert('', value['rating.' + response.message])
})
} }
}) })
} }
......
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
<button ion-button class="nav_btn theme_color floatLeft" (click)="back()"> <button ion-button class="nav_btn theme_color floatLeft" (click)="back()">
<ion-icon name="ios-arrow-back"></ion-icon> <ion-icon name="ios-arrow-back"></ion-icon>
</button> </button>
<div class="nav_header_title floatLeft">Quickride Details</div> <div class="nav_header_title floatLeft">{{'ride.Quickride Details|translate'}}</div>
<div class="clear"></div> <div class="clear"></div>
</ion-header> </ion-header>
...@@ -21,13 +21,13 @@ ...@@ -21,13 +21,13 @@
<div class="jr_profile_content1"> <div class="jr_profile_content1">
<div class="jr_from_to"> <div class="jr_from_to">
<li> <li>
<div class="child1 from">From<div class="jr_box1"></div></div> <div class="child1 from">{{'ride.From'|translate}}<div class="jr_box1"></div></div>
<div class="child2"><strong>{{loc.from}}</strong> <div class="child2"><strong>{{loc.from}}</strong>
<p>{{loc.fromAd}}</p></div> <p>{{loc.fromAd}}</p></div>
<div class="jr_clear"></div> <div class="jr_clear"></div>
</li> </li>
<li> <li>
<div class="child1 to">To</div> <div class="child1 to">{{'ride.To'|translate}}</div>
<div class="child2"><strong>{{loc.to}}</strong> <div class="child2"><strong>{{loc.to}}</strong>
<p>{{loc.toAd}}</p></div> <p>{{loc.toAd}}</p></div>
<div class="jr_clear"></div> <div class="jr_clear"></div>
...@@ -44,13 +44,13 @@ ...@@ -44,13 +44,13 @@
<div class="jr_search_profile_detail"> <div class="jr_search_profile_detail">
<br> <br>
<h6>{{driver.name}}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{{driver.age}} Y/O</h6> <h6>{{driver.name}}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{{driver.age}} Y/O</h6>
<span class="jr_star_ratting"><img src="assets/img/jr_star.png"><strong>{{driver.rating}}/5</strong>{{driver.ratingCount}} Ratings</span><br> <span class="jr_star_ratting"><img src="assets/img/jr_star.png"><strong>{{driver.rating}}/5</strong>{{driver.ratingCount}} {{'ride.Ratings'|translate}}</span><br>
</div> </div>
<div class="jr_clear"></div> <div class="jr_clear"></div>
</div> </div>
<div class="jr_bottom_button_bay"> <div class="jr_bottom_button_bay">
<button ion-button class="cab_footer_btn" (click)="track()">Track Driver</button> <button ion-button class="cab_footer_btn" (click)="track()">{{'ride.Track Driver'|translate}}</button>
</div> </div>
</div> </div>
......
import { NgModule } from '@angular/core'; import { NgModule } from '@angular/core';
import { IonicPageModule } from 'ionic-angular'; import { IonicPageModule } from 'ionic-angular';
import { RidedetailPage } from './ridedetail'; import { RidedetailPage } from './ridedetail';
import { TranslateModule } from "@ngx-translate/core";
@NgModule({ @NgModule({
declarations: [ declarations: [
...@@ -8,6 +9,7 @@ import { RidedetailPage } from './ridedetail'; ...@@ -8,6 +9,7 @@ import { RidedetailPage } from './ridedetail';
], ],
imports: [ imports: [
IonicPageModule.forChild(RidedetailPage), IonicPageModule.forChild(RidedetailPage),
TranslateModule
], ],
exports: [ exports: [
RidedetailPage RidedetailPage
......
...@@ -5,6 +5,7 @@ import { Myservice } from "../../providers/myservice"; ...@@ -5,6 +5,7 @@ import { Myservice } from "../../providers/myservice";
import { Storage } from "@ionic/storage"; import { Storage } from "@ionic/storage";
import { user } from "../../models/mymodel"; import { user } from "../../models/mymodel";
import * as firebase from 'firebase'; import * as firebase from 'firebase';
import { TranslateService } from "@ngx-translate/core";
declare var google; declare var google;
@IonicPage() @IonicPage()
...@@ -24,21 +25,36 @@ export class RidedetailPage { ...@@ -24,21 +25,36 @@ export class RidedetailPage {
bkid: any; bkid: any;
drivers = [] drivers = []
temp: boolean = false; temp: boolean = false;
lang: string = 'en';
constructor(public navCtrl: NavController, public navParams: NavParams, private data: dataService, private zone: NgZone, private myservice: Myservice, private storage: Storage, public platform: Platform, public loadingCtrl: LoadingController, private alertCtrl: AlertController) { constructor(public navCtrl: NavController, public navParams: NavParams, private data: dataService, private zone: NgZone, private myservice: Myservice, private storage: Storage, public platform: Platform, public loadingCtrl: LoadingController, private alertCtrl: AlertController, private translate: TranslateService) {
} }
ionViewDidEnter() { ionViewDidEnter() {
this.storage.get('lang').then(lang => {
if (lang != null) {
this.translate.use(lang)
this.lang = lang;
}
else {
this.translate.use('en')
}
})
this.initializeBackButtonCustomHandler(); this.initializeBackButtonCustomHandler();
this.storage.get('user_data').then(data => { this.storage.get('user_data').then(data => {
if (data) { if (data) {
this.local = data this.local = data
this.book = this.data.getbookingData() this.book = this.data.getbookingData()
console.log(this.book) console.log(this.book)
this.translate.get(['ride.Searching for driver']).subscribe(value => {
this.loader = this.loadingCtrl.create({ this.loader = this.loadingCtrl.create({
content: "Searching for driver" content: value['ride.Searching for driver']
}); });
})
this.loader.present(); this.loader.present();
this.findDrivers() this.findDrivers()
...@@ -99,7 +115,9 @@ export class RidedetailPage { ...@@ -99,7 +115,9 @@ export class RidedetailPage {
if (i == res_arr.length - 1) { if (i == res_arr.length - 1) {
if (This.drivers.length == 0) { if (This.drivers.length == 0) {
This.loader.dismissAll(); This.loader.dismissAll();
This.myservice.show_alert('', 'No drivers found') This.translate.get(['ride.No drivers found']).subscribe(value => {
This.myservice.show_alert('', value['ride.No drivers found'])
})
} }
else if (This.temp == false) { else if (This.temp == false) {
var bdata = { 'book_date': This.book.date, 'drop_area': This.book.dropArea, 'pickup_area': This.book.pickArea, 'taxi_type': This.book.carDetails.car_type, 'amount': '', 'km': '', 'promocode': This.book.promocode, 'token': This.local.token, 'userid': This.local.id, 'type': 'now', 'drivers': [], 'discount': This.book.discount ? This.book.discount : 0, 'pickup_latlng': this.book.pickLat + ',' + this.book.pickLng, 'drop_latlng': this.book.dropLat + ',' + this.book.dropLng } var bdata = { 'book_date': This.book.date, 'drop_area': This.book.dropArea, 'pickup_area': This.book.pickArea, 'taxi_type': This.book.carDetails.car_type, 'amount': '', 'km': '', 'promocode': This.book.promocode, 'token': This.local.token, 'userid': This.local.id, 'type': 'now', 'drivers': [], 'discount': This.book.discount ? This.book.discount : 0, 'pickup_latlng': this.book.pickLat + ',' + this.book.pickLng, 'drop_latlng': this.book.dropLat + ',' + this.book.dropLng }
...@@ -117,7 +135,9 @@ export class RidedetailPage { ...@@ -117,7 +135,9 @@ export class RidedetailPage {
This.temp = true This.temp = true
} }
else { else {
This.myservice.show_alert('Failed', response.message) This.translate.get(['ride.' + response.message]).subscribe(value => {
This.myservice.show_alert('', value['ride.' + response.message])
})
This.navCtrl.pop() This.navCtrl.pop()
} }
}) })
...@@ -129,21 +149,23 @@ export class RidedetailPage { ...@@ -129,21 +149,23 @@ export class RidedetailPage {
} }
showAlert() { showAlert() {
this.translate.get(['ride.No drivers are available', 'ride.Please search again', 'ride.Cancel', 'ride.Search','ride.Searching for driver']).subscribe(value => {
let alert = this.alertCtrl.create({ let alert = this.alertCtrl.create({
title: 'No drivers are available', title: value['ride.No drivers are available'],
message: 'Please search again.', message: value['ride.Please search again'],
buttons: [ buttons: [
{ {
text: 'Cancel', text: value['ride.Cancel'],
role: 'cancel', role: 'cancel',
handler: () => { } handler: () => { }
}, },
{ {
text: 'Search', text: value['ride.Search'],
handler: () => { handler: () => {
this.loader = this.loadingCtrl.create({ this.loader = this.loadingCtrl.create({
content: "Searching for driver" content: value['ride.Searching for driver']
}); });
this.loader.present(); this.loader.present();
...@@ -153,8 +175,11 @@ export class RidedetailPage { ...@@ -153,8 +175,11 @@ export class RidedetailPage {
This.myservice.load_post({ taxiType: This.book.carDetails.car_type, driversid: This.drivers, bookid: This.bkid }, 'driverPush').subscribe(data => { This.myservice.load_post({ taxiType: This.book.carDetails.car_type, driversid: This.drivers, bookid: This.bkid }, 'driverPush').subscribe(data => {
if (data.status == 'success') if (data.status == 'success')
This.checkResp(); This.checkResp();
else else{
This.myservice.show_alert('', data.message) This.translate.get(['ride.' + data.message]).subscribe(value => {
This.myservice.show_alert('', value['ride.' + data.message])
})
}
}) })
}, 500); }, 500);
} }
...@@ -162,6 +187,7 @@ export class RidedetailPage { ...@@ -162,6 +187,7 @@ export class RidedetailPage {
] ]
}); });
alert.present(); alert.present();
})
} }
checkResp() { checkResp() {
...@@ -175,8 +201,11 @@ export class RidedetailPage { ...@@ -175,8 +201,11 @@ export class RidedetailPage {
clearInterval(intrvl) clearInterval(intrvl)
This.loader.dismissAll(); This.loader.dismissAll();
} }
else else{
This.myservice.show_alert('',resp.message) This.translate.get(['ride.' + resp.message]).subscribe(value => {
This.myservice.show_alert('', value['ride.' + resp.message])
})
}
}) })
if (This.count == 12) { if (This.count == 12) {
clearInterval(intrvl) clearInterval(intrvl)
......
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
<ion-col col-6 style="border-right: 1px solid #fff;"> <ion-col col-6 style="border-right: 1px solid #fff;">
<div class="cab_pop_detail_left floatLeft" [style.backgroundImage]="'url('+ details?.carDetails.car_image +')'"></div> <div class="cab_pop_detail_left floatLeft" [style.backgroundImage]="'url('+ details?.carDetails.car_image +')'"></div>
<div class="cab_pop_details floatLeft textLeft"> <div class="cab_pop_details floatLeft textLeft">
<strong>Cab Type</strong> <strong>{{'ridenow.Cab Type'|translate}}</strong>
<h5>{{details?.carDetails?.car_type}}</h5> <h5>{{details?.carDetails?.car_type}}</h5>
</div> </div>
<div class="clear"></div> <div class="clear"></div>
...@@ -17,16 +17,16 @@ ...@@ -17,16 +17,16 @@
<ion-col col-6> <ion-col col-6>
<div class="cab_pop_detail_left floatLeft c6"></div> <div class="cab_pop_detail_left floatLeft c6"></div>
<div class="cab_pop_details floatLeft textLeft"> <div class="cab_pop_details floatLeft textLeft">
<strong>Pickup Time</strong> <strong>{{'ridenow.Pickup Time'|translate}}</strong>
<h5>02 Min from now</h5> <h5>{{'ridenow.02 Min from now'|translate}}</h5>
</div> </div>
<div class="clear"></div> <div class="clear"></div>
</ion-col> </ion-col>
</ion-row> </ion-row>
</ion-grid> </ion-grid>
<div class="cab_ride_offer"> <div class="cab_ride_offer">
<li (click)="ratecard()">Rate Card</li> <li (click)="ratecard()">{{'ridenow.Rate Card'|translate}}</li>
<li class="estim_li">Rate Estimate <li class="estim_li">{{'ridenow.Rate Estimate'|translate}}
<div class="rate_est">₹ {{totRate}}</div> <div class="rate_est">₹ {{totRate}}</div>
</li> </li>
<div class="clear"></div> <div class="clear"></div>
...@@ -36,8 +36,8 @@ ...@@ -36,8 +36,8 @@
</ion-content> </ion-content>
<ion-footer> <ion-footer>
<div class="cab_footer_btn_bay"> <div class="cab_footer_btn_bay">
<button ion-button class="cab_footer_btn floatRight" (click)="addcoupon()">CONFIRM RIDE</button> <button ion-button class="cab_footer_btn floatRight" (click)="addcoupon()">{{'ridenow.CONFIRM RIDE'|translate}}</button>
<button ion-button class="cab_footer_btn floatLeft" (click)="dismiss()">CANCEL RIDE</button> <button ion-button class="cab_footer_btn floatLeft" (click)="dismiss()">{{'ridenow.CANCEL RIDE'|translate}}</button>
<div class="clear"></div> <div class="clear"></div>
</div> </div>
</ion-footer> </ion-footer>
import { NgModule } from '@angular/core'; import { NgModule } from '@angular/core';
import { IonicPageModule } from 'ionic-angular'; import { IonicPageModule } from 'ionic-angular';
import { RidenowPage } from './ridenow'; import { RidenowPage } from './ridenow';
import { TranslateModule } from "@ngx-translate/core";
@NgModule({ @NgModule({
declarations: [ declarations: [
...@@ -8,6 +9,7 @@ import { RidenowPage } from './ridenow'; ...@@ -8,6 +9,7 @@ import { RidenowPage } from './ridenow';
], ],
imports: [ imports: [
IonicPageModule.forChild(RidenowPage), IonicPageModule.forChild(RidenowPage),
TranslateModule
], ],
}) })
export class RidenowPageModule {} export class RidenowPageModule {}
...@@ -2,7 +2,8 @@ import { Component,NgZone } from '@angular/core'; ...@@ -2,7 +2,8 @@ import { Component,NgZone } from '@angular/core';
import { IonicPage, NavController, NavParams,ViewController,ModalController } from 'ionic-angular'; import { IonicPage, NavController, NavParams,ViewController,ModalController } from 'ionic-angular';
import { dataService } from "../../providers/common.service"; import { dataService } from "../../providers/common.service";
import { Myservice } from "../../providers/myservice"; import { Myservice } from "../../providers/myservice";
import { TranslateService } from '@ngx-translate/core';
import { Storage } from "@ionic/storage";
declare var google; declare var google;
@IonicPage() @IonicPage()
...@@ -14,19 +15,33 @@ export class RidenowPage { ...@@ -14,19 +15,33 @@ export class RidenowPage {
details:any; details:any;
rates:any; rates:any;
totRate:string; totRate:string;
lang: string = 'en';
constructor(public navCtrl: NavController, public navParams: NavParams, public viewCtrl: ViewController, public modalCtrl: ModalController, private data: dataService, private myservice:Myservice,private zone:NgZone) { constructor(public navCtrl: NavController, public navParams: NavParams, public viewCtrl: ViewController, public modalCtrl: ModalController, private data: dataService, private myservice: Myservice, private zone: NgZone, private translate: TranslateService, private storage: Storage) {
} }
ionViewDidEnter() { ionViewDidEnter() {
this.storage.get('lang').then(lang => {
if (lang != null) {
this.translate.use(lang)
this.lang = lang;
}
else {
this.translate.use('en')
}
})
this.details = this.data.getbookingData() this.details = this.data.getbookingData()
// console.log(this.details) // console.log(this.details)
this.myservice.load_post({ time: this.details.date, type: this.details.carDetails.car_type }, 'getRate').subscribe(response=>{ this.myservice.load_post({ time: this.details.date, type: this.details.carDetails.car_type }, 'getRate').subscribe(response=>{
if(response.status == 'success'){ if(response.status == 'success'){
this.rates = response.data this.rates = response.data
} }
else else{
this.myservice.show_alert('',response.message) this.translate.get(['ridenow.' + response.message]).subscribe(value => {
this.myservice.show_alert('', value['ridenow.' + response.message])
})
}
}) })
var origin = new google.maps.LatLng(this.details.pickLat, this.details.pickLng) var origin = new google.maps.LatLng(this.details.pickLat, this.details.pickLng)
...@@ -44,9 +59,9 @@ export class RidenowPage { ...@@ -44,9 +59,9 @@ export class RidenowPage {
}, function (response, status) { }, function (response, status) {
if (response.originAddresses[0] != '') { if (response.originAddresses[0] != '') {
console.log(response.rows[0].elements[0]) console.log(response.rows[0].elements[0])
This.myservice.load_post({ gdata: response.rows[0].elements[0], car: This.details.carDetails},'getEstimateRate').subscribe(response=>{ This.myservice.load_post({ gdata: response.rows[0].elements[0], car: This.details.carDetails},'getEstimateRate').subscribe(resp=>{
if(response.status == 'success'){ if(resp.status == 'success'){
This.totRate = response.data This.totRate = resp.data
This.zone.run(() => { }); This.zone.run(() => { });
} }
}) })
......
...@@ -6,24 +6,24 @@ ...@@ -6,24 +6,24 @@
</div> </div>
<p>{{carTypes[carIndex].car_type}}</p> <p>{{carTypes[carIndex].car_type}}</p>
<!-- <h6>Toyota Etios, Ford Fiesta</h6> --> <!-- <h6>Toyota Etios, Ford Fiesta</h6> -->
<div class="cab_ride_fare_break">Fare Breakup</div> <div class="cab_ride_fare_break">{{'ridepop.Fare Breakup'|translate}}</div>
<ion-grid> <ion-grid>
<ion-row class="textCenter"> <ion-row class="textCenter">
<ion-col col-4> <ion-col col-4>
<strong>₹ {{carTypes[carIndex].intailrate}}</strong> <strong>₹ {{carTypes[carIndex].intailrate}}</strong>
<h5>First {{carTypes[carIndex].intialkm}}km</h5> <h5>{{'ridepop.First'|translate}} {{carTypes[carIndex].intialkm}}{{'ridepop.km'|translate}}</h5>
</ion-col> </ion-col>
<ion-col col-4> <ion-col col-4>
<strong>₹ {{carTypes[carIndex].standardrate}}/km</strong> <strong>₹ {{carTypes[carIndex].standardrate}}/{{'ridepop.km'|translate}}</strong>
<h5>After {{carTypes[carIndex].intialkm}}km</h5> <h5>{{'ridepop.After'|translate}} {{carTypes[carIndex].intialkm}}{{'ridepop.km'|translate}}</h5>
</ion-col> </ion-col>
<ion-col col-4> <ion-col col-4>
<strong>₹ {{carTypes[carIndex].extrahour}}/hour</strong> <strong>₹ {{carTypes[carIndex].extrahour}}/{{'ridepop.hour'|translate}}</strong>
<h5>Ride time Rate</h5> <h5>{{'ridepop.Ride time Rate'|translate}}</h5>
</ion-col> </ion-col>
</ion-row> </ion-row>
</ion-grid> </ion-grid>
<h6 class="bottom0">Peak time charges may apply.</h6> <!-- <h6 class="bottom0">Peak time charges may apply.</h6> -->
<div class="cab_ride_bottom_section"> <div class="cab_ride_bottom_section">
<li class="c1" *ngFor="let car of carTypes; let i = index;" [style.backgroundImage]="'url('+ car.car_image +')'" (click)="carClick(i)"> <li class="c1" *ngFor="let car of carTypes; let i = index;" [style.backgroundImage]="'url('+ car.car_image +')'" (click)="carClick(i)">
<p>{{car.car_type}}</p> <p>{{car.car_type}}</p>
...@@ -35,9 +35,9 @@ ...@@ -35,9 +35,9 @@
</ion-content> </ion-content>
<ion-footer> <ion-footer>
<div class="cab_footer_btn_bay"> <div class="cab_footer_btn_bay">
<button ion-button class="cab_footer_btn floatRight" (click)="bookNow()">RIDE NOW <button ion-button class="cab_footer_btn floatRight" (click)="bookNow()">{{'ridepop.RIDE NOW'|translate}}
</button> </button>
<button ion-button class="cab_footer_btn floatLeft" (click)="bookLater()">RIDE LATER <button ion-button class="cab_footer_btn floatLeft" (click)="bookLater()">{{'ridepop.RIDE LATER'|translate}}
</button> </button>
<div class="clear"></div> <div class="clear"></div>
</div> </div>
......
import { NgModule } from '@angular/core'; import { NgModule } from '@angular/core';
import { IonicPageModule } from 'ionic-angular'; import { IonicPageModule } from 'ionic-angular';
import { RidepopPage } from './ridepop'; import { RidepopPage } from './ridepop';
import { TranslateModule } from "@ngx-translate/core";
@NgModule({ @NgModule({
declarations: [ declarations: [
...@@ -8,6 +9,7 @@ import { RidepopPage } from './ridepop'; ...@@ -8,6 +9,7 @@ import { RidepopPage } from './ridepop';
], ],
imports: [ imports: [
IonicPageModule.forChild(RidepopPage), IonicPageModule.forChild(RidepopPage),
TranslateModule
], ],
}) })
export class RidepopPageModule {} export class RidepopPageModule {}
...@@ -4,6 +4,8 @@ import { Myservice } from "../../providers/myservice"; ...@@ -4,6 +4,8 @@ import { Myservice } from "../../providers/myservice";
import { cartype } from "../../models/mymodel"; import { cartype } from "../../models/mymodel";
import { DatePicker } from '@ionic-native/date-picker'; import { DatePicker } from '@ionic-native/date-picker';
import { dataService } from "../../providers/common.service"; import { dataService } from "../../providers/common.service";
import { TranslateService } from '@ngx-translate/core';
import { Storage } from "@ionic/storage";
@IonicPage() @IonicPage()
@Component({ @Component({
...@@ -14,11 +16,22 @@ export class RidepopPage { ...@@ -14,11 +16,22 @@ export class RidepopPage {
carTypes:Array<cartype> carTypes:Array<cartype>
carIndex:number = 0; carIndex:number = 0;
locData:any; locData:any;
lang: string = 'en';
constructor(public navCtrl: NavController, public navParams: NavParams, public viewCtrl: ViewController, private myservice: Myservice, private datePicker: DatePicker, private data: dataService, public modalCtrl: ModalController) { constructor(public navCtrl: NavController, public navParams: NavParams, public viewCtrl: ViewController, private myservice: Myservice, private datePicker: DatePicker, private data: dataService, public modalCtrl: ModalController, private translate: TranslateService, private storage:Storage) {
} }
ionViewDidEnter() { ionViewDidEnter() {
this.storage.get('lang').then(lang => {
if (lang != null) {
this.translate.use(lang)
this.lang = lang;
}
else {
this.translate.use('en')
}
})
this.locData = this.data.getbookingData() this.locData = this.data.getbookingData()
console.log(this.locData) console.log(this.locData)
this.myservice.show_loader() this.myservice.show_loader()
...@@ -28,7 +41,9 @@ export class RidepopPage { ...@@ -28,7 +41,9 @@ export class RidepopPage {
this.carTypes = response.data this.carTypes = response.data
} }
else{ else{
this.myservice.show_alert('Failed',response.message) this.translate.get(['ridepop.' + response.message]).subscribe(value => {
this.myservice.show_alert('', value['ridepop.' + response.message])
})
} }
}) })
} }
...@@ -48,7 +63,9 @@ export class RidepopPage { ...@@ -48,7 +63,9 @@ export class RidepopPage {
}).then( }).then(
date =>{ date =>{
if (date < new Date()){ if (date < new Date()){
this.myservice.show_alert('Error','Please select a valid date') this.translate.get(['ridepop.Please select a valid date']).subscribe(value => {
this.myservice.show_alert('', value['ridepop.Please select a valid date'])
})
} }
else{ else{
console.log('1', date) console.log('1', date)
......
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
<ion-header class="jr_theme_color jr_header"> <ion-header class="jr_theme_color jr_header">
<button ion-button class="jr_left jr_header_btn jr_back_icon" (click)="goBack()"></button> <button ion-button class="jr_left jr_header_btn jr_back_icon" (click)="goBack()"></button>
<div class="jr_header_title"> <div class="jr_header_title">
<h4>Quickride Details</h4> <h4>{{'ridesummary.Quickride Details'|translate}}</h4>
</div> </div>
<button ion-button class="jr_right jr_header_btn"></button> <button ion-button class="jr_right jr_header_btn"></button>
<div class="jr_clear"></div> <div class="jr_clear"></div>
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
<div class="jr_profile_content1"> <div class="jr_profile_content1">
<div class="jr_from_to"> <div class="jr_from_to">
<li> <li>
<div class="child1 from">From <div class="child1 from">{{'ridesummary.From'|translate}}
<div class="jr_box1"></div> <div class="jr_box1"></div>
</div> </div>
<div class="child2"> <div class="child2">
...@@ -33,7 +33,7 @@ ...@@ -33,7 +33,7 @@
<div class="jr_clear"></div> <div class="jr_clear"></div>
</li> </li>
<li> <li>
<div class="child1 to">To</div> <div class="child1 to">{{'ridesummary.To'|translate}}</div>
<div class="child2"> <div class="child2">
<strong>{{loc.to}}</strong> <strong>{{loc.to}}</strong>
<p>{{loc.toAd}}</p> <p>{{loc.toAd}}</p>
...@@ -54,7 +54,7 @@ ...@@ -54,7 +54,7 @@
<h6>{{driver.name}}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{{driver.age}} Y/O</h6> <h6>{{driver.name}}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{{driver.age}} Y/O</h6>
<span class="jr_star_ratting"> <span class="jr_star_ratting">
<img src="assets/img/jr_star.png"> <img src="assets/img/jr_star.png">
<strong>{{driver.rating}}/5</strong>{{driver.ratingCount}} Ratings</span> <strong>{{driver.rating}}/5</strong>{{driver.ratingCount}} {{'ridesummary.Ratings'|translate}}</span>
<br> <br>
</div> </div>
<div class="jr_clear"></div> <div class="jr_clear"></div>
...@@ -71,21 +71,21 @@ ...@@ -71,21 +71,21 @@
</ion-col> --> </ion-col> -->
<ion-col col-4 class="jr_padding0"> <ion-col col-4 class="jr_padding0">
<div class="jr_car_info_detail jr_padding0"> <div class="jr_car_info_detail jr_padding0">
<p>Total</p> <p>{{'ridesummary.Total'|translate}}</p>
<h6>{{ride?.km}} km</h6> <h6>{{ride?.km}} {{'ridesummary.km'|translate}}</h6>
</div> </div>
<div class="jr_clear"></div> <div class="jr_clear"></div>
</ion-col> </ion-col>
<ion-col col-4 class="jr_padding0"> <ion-col col-4 class="jr_padding0">
<div class="jr_car_info_detail jr_padding0"> <div class="jr_car_info_detail jr_padding0">
<p>Discount</p> <p>{{'ridesummary.Discount'|translate}}</p>
<h6>Rs. {{ride?.discount}}</h6> <h6>Rs. {{ride?.discount}}</h6>
</div> </div>
<div class="jr_clear"></div> <div class="jr_clear"></div>
</ion-col> </ion-col>
<ion-col col-4 class="jr_padding0 right"> <ion-col col-4 class="jr_padding0 right">
<div class="jr_car_info_detail jr_padding0"> <div class="jr_car_info_detail jr_padding0">
<p>Total Price</p> <p>{{'ridesummary.Total Price'|translate}}</p>
<h6>Rs. {{ride?.amount}}</h6> <h6>Rs. {{ride?.amount}}</h6>
</div> </div>
<div class="jr_clear"></div> <div class="jr_clear"></div>
...@@ -97,7 +97,7 @@ ...@@ -97,7 +97,7 @@
</div> </div>
<div class="jr_bottom_button_bay"> <div class="jr_bottom_button_bay">
<button ion-button class="jr_offer_ride2" (click)="close()">Close</button> <button ion-button class="jr_offer_ride2" (click)="close()">{{'ridesummary.Close'|translate}}</button>
</div> </div>
</div> </div>
......
import { NgModule } from '@angular/core'; import { NgModule } from '@angular/core';
import { IonicPageModule } from 'ionic-angular'; import { IonicPageModule } from 'ionic-angular';
import { RidesummaryPage } from './ridesummary'; import { RidesummaryPage } from './ridesummary';
import { TranslateModule } from "@ngx-translate/core";
@NgModule({ @NgModule({
declarations: [ declarations: [
...@@ -8,6 +9,7 @@ import { RidesummaryPage } from './ridesummary'; ...@@ -8,6 +9,7 @@ import { RidesummaryPage } from './ridesummary';
], ],
imports: [ imports: [
IonicPageModule.forChild(RidesummaryPage), IonicPageModule.forChild(RidesummaryPage),
TranslateModule
], ],
}) })
export class RidesummaryPageModule {} export class RidesummaryPageModule {}
...@@ -5,6 +5,7 @@ import { Myservice } from "../../providers/myservice"; ...@@ -5,6 +5,7 @@ import { Myservice } from "../../providers/myservice";
import { Storage } from "@ionic/storage"; import { Storage } from "@ionic/storage";
import { user } from "../../models/mymodel"; import { user } from "../../models/mymodel";
import * as firebase from 'firebase'; import * as firebase from 'firebase';
import { TranslateService } from "@ngx-translate/core";
declare var google; declare var google;
@IonicPage() @IonicPage()
...@@ -20,11 +21,22 @@ export class RidesummaryPage { ...@@ -20,11 +21,22 @@ export class RidesummaryPage {
public unregisterBackButtonAction: any; public unregisterBackButtonAction: any;
driver: any; driver: any;
ride: any; ride: any;
lang: string = 'en';
constructor(public navCtrl: NavController, public navParams: NavParams, private data: dataService, private zone: NgZone, private myservice: Myservice, private storage: Storage, public platform: Platform) { constructor(public navCtrl: NavController, public navParams: NavParams, private data: dataService, private zone: NgZone, private myservice: Myservice, private storage: Storage, public platform: Platform, private translate: TranslateService) {
} }
ionViewDidEnter() { ionViewDidEnter() {
this.storage.get('lang').then(lang => {
if (lang != null) {
this.translate.use(lang)
this.lang = lang;
}
else {
this.translate.use('en')
}
})
this.initializeBackButtonCustomHandler(); this.initializeBackButtonCustomHandler();
this.storage.get('user_data').then(data => { this.storage.get('user_data').then(data => {
if (data) { if (data) {
...@@ -82,8 +94,11 @@ export class RidesummaryPage { ...@@ -82,8 +94,11 @@ export class RidesummaryPage {
} }
} }
} }
else else{
this.myservice.show_alert('',resp.message) this.translate.get(['ridesummary.' + resp.message]).subscribe(value => {
this.myservice.show_alert('', value['ridesummary.' + resp.message])
})
}
}) })
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment