Wallet/src/js/controllers/feedback/send.js

75 lines
3.1 KiB
JavaScript
Raw Normal View History

2016-11-01 14:21:35 -03:00
'use strict';
angular.module('copayApp.controllers').controller('sendController', function($scope, $state, $log, $timeout, $stateParams, $ionicNavBarDelegate, $ionicHistory, gettextCatalog, popupService, configService, lodash, feedbackService, ongoingProcess) {
2016-11-01 14:21:35 -03:00
$scope.sendFeedback = function(feedback, skip) {
2016-11-07 17:31:13 -03:00
var config = configService.getSync();
2016-11-07 17:31:13 -03:00
var dataSrc = {
"Email": lodash.values(config.emailFor)[0] || ' ',
"Feedback": skip ? ' ' : feedback,
2016-11-15 17:38:48 -03:00
"Score": $stateParams.score || ' '
2016-11-07 17:31:13 -03:00
};
ongoingProcess.set('sendingFeedback', true);
feedbackService.send(dataSrc, function(err) {
ongoingProcess.set('sendingFeedback', false);
if (err) {
popupService.showAlert(gettextCatalog.getString('Error'), gettextCatalog.getString('Could not send feedback'));
return;
}
2016-11-15 17:38:48 -03:00
if (!$stateParams.score) {
popupService.showAlert(gettextCatalog.getString('Thank you!'), gettextCatalog.getString('A member of the team will review your feedback as soon as possible.'), function() {
$scope.feedback.value = '';
$ionicHistory.nextViewOptions({
disableAnimate: true,
historyRoot: true
});
$ionicHistory.clearHistory();
$timeout(function() {
$state.go('tabs.settings');
});
2016-11-15 17:38:48 -03:00
});
return;
}
2016-11-11 17:05:06 -03:00
$state.go('feedback.complete', {
score: $stateParams.score,
skipped: skip
});
2016-11-01 14:21:35 -03:00
});
};
2016-11-15 17:38:48 -03:00
$scope.$on("$ionicView.beforeEnter", function(event, data) {
$scope.score = parseInt($stateParams.score);
$scope.feedback = {};
switch ($scope.score) {
case 1:
$scope.reaction = gettextCatalog.getString("Ouch!");
$scope.comment = gettextCatalog.getString("There's obviously something we're doing wrong.") + ' ' + gettextCatalog.getString("How could we improve your experience?");
break;
case 2:
$scope.reaction = gettextCatalog.getString("Oh no!");
$scope.comment = gettextCatalog.getString("There's obviously something we're doing wrong.") + ' ' + gettextCatalog.getString("How could we improve your experience?");
break;
case 3:
$scope.reaction = gettextCatalog.getString("Hmm...");
$scope.comment = gettextCatalog.getString("We'd love to do better.") + ' ' + gettextCatalog.getString("How could we improve your experience?");
break;
case 4:
$scope.reaction = gettextCatalog.getString("Thanks!");
$scope.comment = gettextCatalog.getString("That's exciting to hear. We'd love to earn that fifth star from you how could we improve your experience?");
break;
case 5:
$scope.reaction = gettextCatalog.getString("Thank you!");
2016-11-15 16:35:30 -05:00
$scope.comment = gettextCatalog.getString("We're always looking for ways to improve BitPay.") + ' ' + gettextCatalog.getString("Is there anything we could do better?");
2016-11-15 17:38:48 -03:00
break;
default:
$scope.reaction = gettextCatalog.getString("Feedback!");
2016-11-15 16:35:30 -05:00
$scope.comment = gettextCatalog.getString("We're always looking for ways to improve BitPay. How could we improve your experience?");
2016-11-15 17:38:48 -03:00
break;
}
});
2016-11-01 14:21:35 -03:00
});