fix(feedback): more feedback flow improvements and bug fixes

This commit is contained in:
Jason Dreyzehner 2016-11-17 00:56:12 -05:00
commit 63c7684259
10 changed files with 89 additions and 59 deletions

View file

@ -4,42 +4,63 @@ angular.module('copayApp.controllers').controller('completeController', function
$scope.isCordova = platformInfo.isCordova;
var config = configService.getSync();
function quickFeedback(cb){
window.plugins.spinnerDialog.show();
$timeout(window.plugins.spinnerDialog.hide, 300);
$timeout(cb, 20);
}
$scope.shareFacebook = function() {
window.plugins.socialsharing.shareVia($scope.shareFacebookVia, null, null, null, config.download.url);
quickFeedback(function(){
window.plugins.socialsharing.shareVia($scope.shareFacebookVia, null, null, null, config.download.url);
});
};
$scope.shareTwitter = function() {
window.plugins.socialsharing.shareVia($scope.shareTwitterVia, null, null, null, config.download.url);
quickFeedback(function(){
window.plugins.socialsharing.shareVia($scope.shareTwitterVia, null, null, null, config.download.url);
});
};
$scope.shareGooglePlus = function() {
window.plugins.socialsharing.shareVia($scope.shareGooglePlusVia, config.download.url);
quickFeedback(function(){
window.plugins.socialsharing.shareVia($scope.shareGooglePlusVia, config.download.url);
});
};
$scope.shareEmail = function() {
window.plugins.socialsharing.shareViaEmail(config.download.url);
quickFeedback(function(){
window.plugins.socialsharing.shareViaEmail(config.download.url);
});
};
$scope.shareWhatsapp = function() {
window.plugins.socialsharing.shareViaWhatsApp(config.download.url);
quickFeedback(function(){
window.plugins.socialsharing.shareViaWhatsApp(config.download.url);
});
};
$scope.shareMessage = function() {
window.plugins.socialsharing.shareViaSMS(config.download.url);
quickFeedback(function(){
window.plugins.socialsharing.shareViaSMS(config.download.url);
});
};
$scope.$on("$ionicView.beforeEnter", function(event, data) {
$scope.$on("$ionicView.afterEnter", function() {
if (!$scope.fromSettings) {
$ionicConfig.views.swipeBackEnabled(false);
} else {
$ionicNavBarDelegate.showBackButton(true);
$ionicConfig.views.swipeBackEnabled(true);
}
});
$scope.$on("$ionicView.beforeEnter", function(event, data) {
$scope.score = (data.stateParams && data.stateParams.score) ? parseInt(data.stateParams.score) : null;
$scope.skipped = (data.stateParams && data.stateParams.skipped) ? true : false;
$scope.rated = (data.stateParams && data.stateParams.rated) ? true : false;
$scope.fromSettings = (data.stateParams && data.stateParams.fromSettings) ? true : false;
if (!$scope.fromSettings) {
$ionicNavBarDelegate.showBackButton(false);
$ionicConfig.views.swipeBackEnabled(false);
} else $ionicNavBarDelegate.showBackButton(true);
storageService.getFeedbackInfo(function(error, info) {
var feedbackInfo = lodash.isString(info) ? JSON.parse(info) : null;
feedbackInfo.sent = true;

View file

@ -43,6 +43,7 @@ angular.module('copayApp.controllers').controller('rateAppController', function(
externalLinkService.open(url);
$state.go('tabs.rate.complete', {
score: $stateParams.score,
skipped: true,
rated: true
});
};

View file

@ -80,7 +80,7 @@ angular.module('copayApp.controllers').controller('sendController', function($sc
$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("Send Feedback");
$scope.justFeedback = true;
$scope.comment = gettextCatalog.getString("We're always looking for ways to improve BitPay. How could we improve your experience?");
break;
}

View file

@ -759,9 +759,6 @@ angular.module('copayApp').config(function(historicLogProvider, $provide, $logPr
controller: 'completeController',
templateUrl: 'views/feedback/complete.html'
}
},
customConfig: {
hideStatusBar: true
}
})
.state('tabs.rate', {

View file

@ -1,5 +1,5 @@
#complete {
background-color: #ffffff;
background-color: #fff;
.close-button {
color: $dark-gray;
position: absolute;
@ -30,7 +30,11 @@
width: 5rem;
margin: 1rem;
}
.title {
.send-feedback-illustration {
height: 21rem;
margin: 1rem;
}
.feedback-title {
font-size: 20px;
font-weight: bold;
color: $dark-gray;

View file

@ -1,24 +1,29 @@
#rate-app {
background-color: #ffffff;
.skip {
margin-top: 15px;
color: #667;
}
text-align: center;
.skip-rating {
margin-right: 15px;
color: $dark-gray;
position: absolute;
top: 5px;
right: 10px;
padding: 15px;
}
.icon-svg > img {
width: 80px;
height: 80px;
margin-top: 15px;
}
.title {
.feedback-title {
font-size: 20px;
font-weight: bold;
color: $dark-gray;
margin: 80px 50px 10px;
text-align: center;
}
.share-the-love-illustration {
width: 5rem;
margin: 1rem;
}
.subtitle {
padding: 10px 30px 20px 40px;
color: #667;

View file

@ -9,7 +9,7 @@
.feedback-heading {
padding-top: 20px
}
.title {
.feedback-title {
padding-left: 10px;
font-size: 20px;
font-weight: bold;
@ -38,4 +38,16 @@
height: 1rem;
margin-left: 5px;
}
.form-fade-in {
opacity: 0;
animation-name: fadeIn;
animation-duration: .5s;
animation-fill-mode: forwards;
animation-timing-function: ease-in;
}
}
@keyframes fadeIn {
from { opacity: 0; }
to { opacity: 1; }
}