diff --git a/public/js/controllers/inventoryCtrl.js b/public/js/controllers/inventoryCtrl.js index 99c6b3b4ad..6dc8d16955 100644 --- a/public/js/controllers/inventoryCtrl.js +++ b/public/js/controllers/inventoryCtrl.js @@ -9,6 +9,9 @@ habitrpg.controller("InventoryCtrl", ['$scope', 'User', $scope.selectedPotion = null; // {index: 5, name: "Red", value: 3} $scope.chooseEgg = function(egg, $index){ + if ($scope.selectedEgg && $scope.selectedEgg.index == $index) { + return $scope.selectedEgg = null; // clicked same egg, unselect + } var eggData = _.defaults({index:$index}, egg); if (!$scope.selectedPotion) { $scope.selectedEgg = eggData; @@ -18,6 +21,9 @@ habitrpg.controller("InventoryCtrl", ['$scope', 'User', } $scope.choosePotion = function(potion, $index){ + if ($scope.selectedPotion && $scope.selectedPotion.index == $index) { + return $scope.selectedPotion = null; // clicked same egg, unselect + } // we really didn't think through the way these things are stored and getting passed around... var potionData = _.findWhere(window.habitrpgShared.items.items.hatchingPotions, {name:potion}); potionData = _.defaults({index:$index}, potionData); @@ -52,8 +58,11 @@ habitrpg.controller("InventoryCtrl", ['$scope', 'User', return User.user.items.pets && ~User.user.items.pets.indexOf(pet) } - $scope.selectableInventory = function(egg, potion) { + $scope.selectableInventory = function(egg, potion, $index) { if (!egg || !potion) return; + // FIXME this isn't updating the view for some reason + //if ($scope.selectedEgg && $scope.selectedEgg.index == $index) return 'selectableInventory'; + //if ($scope.selectedPotion && $scope.selectedPotion.index == $index) return 'selectableInventory'; if (!$scope.ownsPet(egg, potion)) return 'selectableInventory'; } diff --git a/views/options/inventory.jade b/views/options/inventory.jade index 748310f39e..6fac392ac7 100644 --- a/views/options/inventory.jade +++ b/views/options/inventory.jade @@ -1,18 +1,19 @@ .row-fluid(ng-controller='InventoryCtrl') .span6.border-right h2 Inventory + p.well Combine eggs with hatching potions to make pets by clicking an egg and then a potion. Sell unwanted drops to Alexander the Merchant. menu.inventory-list(type='list') li.customize-menu menu.pets-menu(label='Eggs ({{userEggs.length}})') p(ng-show='userEggs.length < 1') You don't have any eggs yet. div(ng-repeat='egg in userEggs track by $index') - button.customize-option(tooltip='{{egg.text}}', ng-click='chooseEgg(egg, $index)', class='Pet_Egg_{{egg.name}}', ng-class='selectableInventory(egg, selectedPotion.name)') + button.customize-option(tooltip='{{egg.text}}', ng-click='chooseEgg(egg, $index)', class='Pet_Egg_{{egg.name}}', ng-class='selectableInventory(egg, selectedPotion.name, $index)') p {{egg.text}} li.customize-menu menu.hatchingPotion-menu(label='Hatching Potions ({{userHatchingPotions.length}})') p(ng-show='userHatchingPotions.length < 1') You don't have any hatching potions yet. div(ng-repeat='hatchingPotion in userHatchingPotions track by $index') - button.customize-option(tooltip='{{hatchingPotion}}', ng-click='choosePotion(hatchingPotion, $index)', class='Pet_HatchingPotion_{{hatchingPotion}}', ng-class='selectableInventory(selectedEgg, hatchingPotion)') + button.customize-option(tooltip='{{hatchingPotion}}', ng-click='choosePotion(hatchingPotion, $index)', class='Pet_HatchingPotion_{{hatchingPotion}}', ng-class='selectableInventory(selectedEgg, hatchingPotion, $index)') p {{hatchingPotion}} .span6 @@ -21,18 +22,20 @@ table.NPC-Alex-container tr td - button.customize-option.sell-inventory(ng-show='selectedEgg', ng-click='sellInventory()') - | Sell {{selectedEgg.name}} for {{selectedEgg.value}} GP - button.customize-option.sell-inventory(ng-show='selectedPotion', ng-click='sellInventory()') - | Sell {{selectedPotion.name}} for {{selectedPotion.value}} GP - .NPC-Alex.pull-left(ng-show='!selectedEgg && !selectedPotion') + .NPC-Alex.pull-left td .popover.static-popover.fade.right.in .arrow h3.popover-title - a(target='_blank', href='http://www.kickstarter.com/profile/523661924') Alexander Augustin + a(target='_blank', href='http://www.kickstarter.com/profile/523661924') Alexander the Merchant .popover-content - | Welcome to the Market! I'm the merchant, Alexander. Dying to get that particular pet you're after, but don't want to wait for it to drop? Buy it here! + p + | Welcome to the Market. Dying to get that particular pet you're after, but don't want to wait for it to drop? Buy it here! If you have unwanted drops, sell them to me. + p + button.btn.btn-primary(ng-show='selectedEgg', ng-click='sellInventory()') + | Sell {{selectedEgg.name}} for {{selectedEgg.value}} GP + button.btn.btn-primary(ng-show='selectedPotion', ng-click='sellInventory()') + | Sell {{selectedPotion.name}} for {{selectedPotion.value}} GP menu.inventory-list(type='list') li.customize-menu