diff --git a/src/client/models/game/inventory.coffee b/src/client/models/game/inventory.coffee index 38a41d09c..a024cb2d7 100644 --- a/src/client/models/game/inventory.coffee +++ b/src/client/models/game/inventory.coffee @@ -141,6 +141,18 @@ module.exports = class Inventory extends BaseModel @trigger c.event.change, this return this + toDescription: -> + return null if @isEmpty + return null unless @modPack? + + item = @modPack.findItem @_itemSlugs[0] + extras = @_itemSlugs.length - 1 + + result = "#{item.name}" + if extras > 0 then result += " and #{extras} more..." + + return result + # Parsing Methods ############################################################################## parse: (data)-> diff --git a/src/client/site/craft_page/craft_page_controller.coffee b/src/client/site/craft_page/craft_page_controller.coffee index e7052e436..e40d9910a 100644 --- a/src/client/site/craft_page/craft_page_controller.coffee +++ b/src/client/site/craft_page/craft_page_controller.coffee @@ -60,7 +60,9 @@ module.exports = class CraftPageController extends PageController return c.text.craftDescription() getTitle: -> - return 'Craft' + description = @model.craftsman.want.toDescription() + return null unless description? + return "Crafting Plan for #{description}" # BaseController Overrides ##################################################################### @@ -114,6 +116,8 @@ module.exports = class CraftPageController extends PageController @model.craftsman.have.clear() @model.craftsman.have.parse @_storage.load('crafting-plan:have') @model.craftsman.have.on c.event.change, => @onHaveInventoryChanged() + + @model.craftsman.want.on c.event.change, => @refresh() super refresh: -> diff --git a/src/client/site/craft_page/step/step_controller.coffee b/src/client/site/craft_page/step/step_controller.coffee index c2215fea0..de3eb1c9b 100644 --- a/src/client/site/craft_page/step/step_controller.coffee +++ b/src/client/site/craft_page/step/step_controller.coffee @@ -99,8 +99,9 @@ module.exports = class StepController extends BaseController inventory.add toolStack.itemSlug, toolStack.quantity inventory.localize() - @$toolButton.attr 'href', "/craft/#{inventory.unparse()}" - @$toolButton.attr 'target', 'new' + inventoryText = inventory.unparse() + @$toolButton.attr 'href', "/craft/#{inventoryText}" + @$toolButton.attr 'target', inventoryText if @canAddTools this @$toolButton.removeClass 'disabled'