Module:Infobox: Difference between revisions

From Guinea Isles Wiki
No edit summary
No edit summary
Line 36: Line 36:
bodyStyle = args.bodyStyle
bodyStyle = args.bodyStyle
else
else
bodyStyle = 'background-color:#FF9713;'
bodyStyle = 'border: 1px solid #FF9713;background-color:transparent;'
end
end

Revision as of 13:51, 19 September 2025

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

--------------------------
-- Module for generic Infobox parent
--------------------------
local capiunto = require 'capiunto'

------ Helper functions ------
-- Given a variety of potential inputs representing a boolean,
-- returns a display string of "Yes" or "No"
function boolToYesNo(val)
	local str_yes = tostring(val)
	local accepted_yes = {"1", "True", "true", "yes", "Yes"}
	for _, v in pairs(accepted_yes) do
		if str_yes == v then
			return "Yes"
		end
	end
	
	return "No"
end

-- Infobox class

local p = {}
function p.main(frame)
	local args = frame:getParent().args
	local headerStyle
	local bodyStyle
	
	if args.headerstyle and args.headerstyle ~= '' then
		headerStyle = string.format('background-color:%s;', args.headerstyle)
	else
		headerStyle = 'background-color:#FF9713;color: #ffffff;'
	end
	
	if args.bodyStyle and args.bodyStyle ~= '' then
		bodyStyle = args.bodyStyle
	else
		bodyStyle = 'border: 1px solid #FF9713;background-color:transparent;'
	end
	
	local retval = capiunto.create( {
		title = args.title,
		headerStyle = headerStyle, 
		bodyStyle = bodyStyle,
	} )
	return retval
end

return p