Module:Infobox Item

From Guinea Isles Wiki
Revision as of 07:50, 19 September 2025 by Squeaky (talk | contribs)

Documentation for this module may be created at Module:Infobox Item/doc

--------------------------
-- Module for [[Template:Infobox Item]]
------------------------
local infobox = require('Module:Infobox')
local capiunto = require 'capiunto'

local p = {}

local defaults = {
	item_name = "Item",
	image = nil
}

local function cleanse_args(args)
	for k, v in pairs(args) do
		if v == nil then
			args[k] = defaults[k]
		end
	end
end

function p.main(frame)
	local args = frame:getParent().args
	cleanse_args(args)
	local ret = infobox.main(frame)
	
	-- Header section
	ret:addHeader( args["item_name"] )
	if args["image"] ~= nil then
		ret:addWikitext( "[[File:" .. args["image"] .. "|48x48px]]" )
	end
	if args["desc"] ~= nil then
		ret:addWikitext('"' .. args["desc"] .. '"')
	end
	
	-- Properties section
	ret:addHeader( "Properties" )
	ret:addRow( "Category", args["category"])
	ret:addRow( "Stack Size", args["stack_size"])
	ret:addRow( "Value", args["value"])
	ret:addRow( "Sellable", boolToYesNo(args["sellable"]))
	ret:addRow( "Discoverable", boolToYesNo(args["discoverable"]))
	ret:addRow( "Donatable", boolToYesNo(args["donatable"]))
	
	return ret
end

return p