fix: Armoire sends back data from server rather than relying on client

closes #5376
This commit is contained in:
Blade Barringer
2016-05-24 07:13:09 -05:00
parent 02d075e342
commit 35544f14c5
3 changed files with 22 additions and 4 deletions

View File

@@ -259,6 +259,11 @@ habitrpg.controller("TasksCtrl", ['$scope', '$rootScope', '$location', 'User','N
User.buy({params:{key:item.key}}); User.buy({params:{key:item.key}});
}; };
$scope.buyArmoire = function () {
playRewardSound($scope.armoire);
User.buyArmoire();
}
/* /*
------------------------ ------------------------
Hiding Tasks Hiding Tasks

View File

@@ -355,6 +355,17 @@ angular.module('habitrpg')
callOpsFunctionAndRequest('buy', 'buy', "POST", data.params.key, data); callOpsFunctionAndRequest('buy', 'buy', "POST", data.params.key, data);
}, },
buyArmoire: function () {
$http({
method: "POST",
url: '/api/v3/user/buy-armoire',
})
.then(function (response) {
Notification.text(response.data.message);
sync();
})
},
buyQuest: function (data) { buyQuest: function (data) {
callOpsFunctionAndRequest('buyQuest', 'buy-quest', "POST", data.params.key, data); callOpsFunctionAndRequest('buyQuest', 'buy-quest', "POST", data.params.key, data);
}, },

View File

@@ -1,4 +1,6 @@
mixin reward(item) mixin reward(item, action)
- action = action || "buy(" + item + ")"
li.task.reward-item(popover-trigger='mouseenter', popover-placement='top', popover='{{::#{item}.notes()}}')&attributes(attributes) li.task.reward-item(popover-trigger='mouseenter', popover-placement='top', popover='{{::#{item}.notes()}}')&attributes(attributes)
// right-hand side control buttons // right-hand side control buttons
.task-meta-controls .task-meta-controls
@@ -8,8 +10,8 @@ mixin reward(item)
.task-controls.task-primary .task-controls.task-primary
input.reward.visuallyhidden( input.reward.visuallyhidden(
type='checkbox', type='checkbox',
ui-keypress='{13:"buy(#{item})"}') ui-keypress='{13:"#{action}"}')
a.money.btn-buy.item-btn(ng-class='::{highValue: #{item}.value >= 1000}', ng-click='::buy(#{item})') a.money.btn-buy.item-btn(ng-class='::{highValue: #{item}.value >= 1000}', ng-click='::#{action}')
span.shop_gold span.shop_gold
span.reward-cost {{::#{item}.value}} span.reward-cost {{::#{item}.value}}
// main content // main content
@@ -19,5 +21,5 @@ mixin reward(item)
ul.items.rewards(ng-if='main && list.type=="reward"') ul.items.rewards(ng-if='main && list.type=="reward"')
+reward('item')(ng-repeat='item in itemStore') +reward('item')(ng-repeat='item in itemStore')
+reward('healthPotion') +reward('healthPotion')
+reward('armoire')(ng-if='user.flags.armoireEnabled', +reward('armoire', 'buyArmoire()')(ng-if='user.flags.armoireEnabled',
popover='{{armoire.notes(user, armoireCount(user.items.gear.owned))}}') popover='{{armoire.notes(user, armoireCount(user.items.gear.owned))}}')