Jump to content

Module:Infobox video game awards: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
 
No edit summary
Line 19: Line 19:
'|- style="background-color: #ddddff;"' .. '\n' ..
'|- style="background-color: #ddddff;"' .. '\n' ..
'! style="text-align: center; font-weight: bold;" | ' .. args['award' .. i] .. '\n' ..
'! style="text-align: center; font-weight: bold;" | ' .. args['award' .. i] .. '\n' ..
'|' .. won(args['won' .. i]) .. '\n' ..
'|' .. won(args['award' .. i ..'W']) .. '\n' ..
'|' .. nom(args['nom' .. i]) .. '\n'
'|' .. nom(args['award' .. i ..'N']) .. '\n'
return ret
return ret
Line 47: Line 47:
if args['award' .. i] then
if args['award' .. i] then
temp = temp .. core(args, i)
temp = temp .. core(args, i)
winTotal = winTotal + args['won' .. i]
winTotal = winTotal + args['award' .. i ..'W']
nomTotal = nomTotal + args['nom' .. i]
nomTotal = nomTotal + args['award' .. i ..'N']
end
end
end
end

Revision as of 05:04, 6 January 2016

require('Module:No globals')

local getArgs = require('Module:Arguments').getArgs
local p = {}

local function won(text, style)
	return ' style="vertical-align: middle; text-align: center; background-color: #9F9;' .. (style or '') .. '" |' .. text
end

local function nom(text, style)
	return ' style="vertical-align: middle; text-align: center; background-color: #FDD;' .. (style or '') .. '" |' .. text
end

local function core(args, i)
	if args['award' .. i] == nil then return end
	local ret

	ret =
		'|- style="background-color: #ddddff;"' .. '\n' ..
		'! style="text-align: center; font-weight: bold;" | ' .. args['award' .. i] .. '\n' ..
		'|' .. won(args['award' .. i ..'W']) .. '\n' ..
		'|' .. nom(args['award' .. i ..'N']) .. '\n'
		
	return ret
end

function p.main(frame)
	local args = getArgs(frame)
	return p._main(args)
end

function p._main(args)
	-- Main module code goes here.
	local ret, temp = '', ''
	local winTotal, nomTotal = 0, 0

	ret =
		'{| class="infobox" style="width: 20em; font-size: 90%; vertical-align: middle;"\n' ..
		'|+ style="font-size: 9pt; font-weight: bold;" | List of accolades<i>' .. (args.title and (' received by' .. args.title) or '') .. '</i>\n'
		
	if args.image then
		ret = ret .. '|-\n'
		ret = ret .. '| colspan="3" style="text-align: center;" | ' .. args.image .. '\n' .. (args.caption and ('<div style="display: block;"/>' .. args.caption) or '') .. '\n'
	end
	
	for i = 1, 99 do
		if args['award' .. i] then
			temp = temp .. core(args, i)
			winTotal = winTotal + args['award' .. i ..'W']
			nomTotal = nomTotal + args['award' .. i ..'N']
		end
	end
	
	if temp ~= '' then
		ret = ret ..
			'|-\n' ..
			'| colspan="3" |\n' ..
			'{| class="collapsible collapsed" style="width: 100%;" |\n' ..
			'! colspan=3 style="background-color: #D9E8FF; text-align: center;" | Accolades\n' ..
			'|-\n' ..
			'|- style="background-color: #D9E8FF; font-weight: bold;"\n' ..
			'! style="text-align:center;" | Award\n' ..
			'! style="text-align:center; background: #cceecc; text-size:0.9em; width: 5.8em; | Won\n' ..
			'! style="text-align:center; background: #ffccdd; text-size:0.9em; width: 5.8em;"| Nominated\n' ..
			temp ..
			'|}\n'
	end
	
	if args.totals ~= 'no' then
		local _win = args.totalwin or winTotal
		local _nom = args.totalnom or nomTotal
		if _win == 0 and _nom == 0 then
		else
			ret = ret ..
				'|- style="background:#d9e8ff; border-spacing: 4px 2px 2px;"\n' ..
				'! style="text-align:center;" colspan="3"| <b>Total number of awards and nominations</b>\n' ..
				'|- style="font-weight: bold;"\n' ..
				'|' .. won('Totals').. '\n' ..
				'|' .. won(tostring(_win), 'width: 6em;') .. '\n' ..
				'|' .. nom(tostring(_nom), 'width: 6em;') .. '\n'
		end
	end
		
	if args.refsect ~= 'no' then
		ret = ret ..
			'|- style="background:#d9e8ff;"\n' ..
			'| colspan="3" style="font-size: smaller; text-align:center;"| [[#References|Footnotes]]\n' ..
			'|}'
	end
	
	return ret
	
end

return p