copay-crown
Version:
A Secure Crown Wallet
77 lines (67 loc) • 2.25 kB
text/typescript
import { Component } from "@angular/core";
import { TranslateService } from '@ngx-translate/core';
import { Events, NavController } from 'ionic-angular';
import { Logger } from '../../../providers/logger/logger';
// providers
import { AppProvider } from '../../../providers/app/app';
import { PersistenceProvider } from '../../../providers/persistence/persistence';
// pages
import { FeedbackPage } from '../../../pages/feedback/feedback/feedback';
import { SendFeedbackPage } from '../../../pages/feedback/send-feedback/send-feedback';
export class FeedbackCardPage {
public appName: string;
public score: number;
public button_title: string;
constructor(
private appProvider: AppProvider,
private navCtrl: NavController,
private logger: Logger,
private persistenceProvider: PersistenceProvider,
private events: Events,
private translate: TranslateService
) {
this.appName = this.appProvider.info.nameCase;
this.score = 0;
}
public hideCard(): void {
this.logger.debug('Feedback card dismissed.')
this.persistenceProvider.getFeedbackInfo().then((info: any) => {
let feedbackInfo = info;
feedbackInfo.sent = true;
this.persistenceProvider.setFeedbackInfo((feedbackInfo))
this.events.publish('feedback:hide');
});
}
public setScore(score: number): any {
this.score = score;
switch (this.score) {
case 1:
this.button_title = this.translate.instant("I think this app is terrible");
break;
case 2:
this.button_title = this.translate.instant("I don't like it");
break;
case 3:
this.button_title = this.translate.instant("Meh - it's alright");
break;
case 4:
this.button_title = this.translate.instant("I like the app");
break;
case 5:
this.button_title = this.translate.instant("This app is fantastic!");
break;
}
}
public goFeedbackFlow(): void {
this.hideCard();
if (this.score == 5) {
this.navCtrl.push(FeedbackPage, { score: this.score });
} else {
this.navCtrl.push(SendFeedbackPage, { score: this.score });
}
}
}