Módulo:PetOutfitsVisualizer: mudanças entre as edições

De TibiaRPGBrasil Wiki
Ir para navegação Ir para pesquisar
Sem resumo de edição
Sem resumo de edição
 
(2 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 3: Linha 3:
function p.render(frame)
function p.render(frame)
     local outfitsStr = frame.args.outfits or ""
     local outfitsStr = frame.args.outfits or ""
     local lineBreak = tonumber(frame.args.linebreak) or 1000
    local countOutfits = select(2, outfitsStr:gsub(";", "")) + 1
     local lineBreak = tonumber(frame.args.linebreak) or countOutfits
     local container = mw.html.create('div'):addClass('pet-outfit-gallery')
     local container = mw.html.create('div'):addClass('pet-outfit-gallery')
     local childContainer = mw.html.create('div')
     local childContainer = mw.html.create('div')
Linha 9: Linha 10:
         :css({
         :css({
             display = 'grid',
             display = 'grid',
             gridTemplateColumns = 'repeat(4, 1fr)',
             ["grid-template-columns"] = 'repeat('.. lineBreak ..', 1fr)',
             gap = '10px'
             gap = '10px'
         })
         })

Edição atual tal como às 18h46min de 19 de agosto de 2025

A documentação para este módulo pode ser criada em Módulo:PetOutfitsVisualizer/doc

local p = {}

function p.render(frame)
    local outfitsStr = frame.args.outfits or ""
    local countOutfits = select(2, outfitsStr:gsub(";", "")) + 1
    local lineBreak = tonumber(frame.args.linebreak) or countOutfits
    local container = mw.html.create('div'):addClass('pet-outfit-gallery')
    local childContainer = mw.html.create('div')
        :addClass('pet-outfit-gallery-child')
        :css({
            display = 'grid',
            ["grid-template-columns"] = 'repeat('.. lineBreak ..', 1fr)',
            gap = '10px'
        })

    local line = 0
    for outfitPair in outfitsStr:gmatch("[^;]+") do
        local file, caption = outfitPair:match("^%s*(.-)%s*,%s*(.-)%s*$")
        if file then
            local box = mw.html.create('div')
                :addClass('gallerybox')

            -- Imagem
            local imgDiv = mw.html.create('div')
                :css({ textAlign = 'center' })
                :wikitext(string.format('[[File:%s]]', file))
            box:node(imgDiv)

            -- Texto/legenda
            local textDiv = mw.html.create('div')
                :addClass('gallerytext')
                :css({ textAlign = 'center', marginTop = '4px' })
                :wikitext(caption or "")
            box:node(textDiv)

            childContainer:node(box)
        end
    end
    container:node(childContainer)
    return tostring(container)
end

return p