81 lines
3.4 KiB
JavaScript
81 lines
3.4 KiB
JavaScript
'use strict';
|
||
|
||
angular.module('copayApp.controllers').controller('sendController', function($scope, $state, $log, $timeout, $stateParams, $ionicNavBarDelegate, $ionicHistory, $ionicConfig, gettextCatalog, popupService, configService, lodash, feedbackService, ongoingProcess) {
|
||
|
||
$scope.sendFeedback = function(feedback, skip) {
|
||
|
||
var config = configService.getSync();
|
||
|
||
var dataSrc = {
|
||
"Email": lodash.values(config.emailFor)[0] || ' ',
|
||
"Feedback": skip ? ' ' : feedback,
|
||
"Score": $stateParams.score || ' '
|
||
};
|
||
|
||
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;
|
||
}
|
||
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');
|
||
});
|
||
});
|
||
return;
|
||
}
|
||
$state.go('tabs.rate.complete', {
|
||
score: $stateParams.score,
|
||
skipped: skip
|
||
});
|
||
});
|
||
};
|
||
|
||
$scope.$on("$ionicView.beforeEnter", function(event, data) {
|
||
$scope.score = (data.stateParams && data.stateParams.score) ? parseInt(data.stateParams.score) : null;
|
||
$scope.feedback = {};
|
||
|
||
if ($scope.score) {
|
||
$ionicNavBarDelegate.showBackButton(false);
|
||
$ionicConfig.views.swipeBackEnabled(false);
|
||
}
|
||
else $ionicNavBarDelegate.showBackButton(true);
|
||
|
||
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!");
|
||
$scope.comment = gettextCatalog.getString("We're always looking for ways to improve BitPay.") + ' ' + gettextCatalog.getString("Is there anything we could do better?");
|
||
break;
|
||
default:
|
||
$scope.reaction = gettextCatalog.getString("Feedback!");
|
||
$scope.comment = gettextCatalog.getString("We're always looking for ways to improve BitPay. How could we improve your experience?");
|
||
break;
|
||
}
|
||
});
|
||
|
||
});
|