Module:Infobox video game awards
Appearance
Implements Template:Infobox video game awards.
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['won' .. i]) .. '\n' ..
'|' .. nom(args['nom' .. i]) .. '\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['won' .. i]
nomTotal = nomTotal + args['nom' .. i]
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