Módulo:Lari1

De Wiki Gla
Revisão de 11h49min de 17 de março de 2026 por Larifk (discussão | contribs)
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