Módulo:Lari1
Ir para navegação
Ir para pesquisar
A documentação para este módulo pode ser criada em Módulo:Lari1/doc
local p = {}
function p.card(frame)
local args = frame:getParent().args
local id = args.id or 'b1'
local boss = args.boss or 'Boss'
local ilha = args.ilha or ''
local img = args.img or ''
-- Coletar skills dos parâmetros
local skills = {}
for i = 1, 5 do
local nome = args['s' .. i]
if nome and nome ~= '' then
table.insert(skills, {
tab = args['s' .. i .. '_tab'] or nome,
nome = nome,
video = args['s' .. i .. '_video'] or '',
desc = args['s' .. i .. '_desc'] or ''
})
end
end
if #skills == 0 then return '' end
local h = {}
-- Card header
table.insert(h, '<div class="lk-card">')
table.insert(h, '<div class="lk-card-header">')
if img ~= '' then
table.insert(h, '<img src="' .. img .. '" alt="' .. boss .. '">')
end
table.insert(h, '<div><div class="lk-boss-name">' .. boss .. '</div>')
table.insert(h, '<div class="lk-boss-island">' .. ilha .. '</div></div></div>')
-- Tabs container
table.insert(h, '<div class="lk-tabs">')
-- Radio inputs
for i, _ in ipairs(skills) do
local chk = (i == 1) and ' checked' or ''
table.insert(h, '<input type="radio" name="' .. id .. '" id="' .. id .. 's' .. i .. '" class="lk-radio"' .. chk .. '>')
end
-- Nav labels
table.insert(h, '<div class="lk-nav">')
for i, s in ipairs(skills) do
table.insert(h, '<label for="' .. id .. 's' .. i .. '">' .. s.tab .. '</label>')
end
table.insert(h, '</div>')
-- Panels
for i, s in ipairs(skills) do
table.insert(h, '<div class="lk-panel p-' .. id .. 's' .. i .. '">')
if s.video ~= '' then
table.insert(h, '<div class="lk-video"><iframe src="' .. s.video .. '" allowfullscreen></iframe></div>')
end
table.insert(h, '<span class="lk-skill-name">' .. s.nome .. '</span>')
table.insert(h, '<p class="lk-skill-desc">' .. s.desc .. '</p>')
table.insert(h, '</div>')
end
table.insert(h, '</div></div>')
return table.concat(h, '\n')
end
return p