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
 
(17 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 html = '<div class="pet-outfit-gallery" style="display:flex; flex-wrap:wrap; gap:5px;">'
     local countOutfits = select(2, outfitsStr:gsub(";", "")) + 1
     if true then return html end
    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
     for outfitPair in outfitsStr:gmatch("[^;]+") do
         local file, caption = outfitPair:match("^%s*(.-)%s*,%s*(.-)%s*$")
         local file, caption = outfitPair:match("^%s*(.-)%s*,%s*(.-)%s*$")
         if file then
         if file then
             html = html .. string.format(
             local box = mw.html.create('div')
                 '<div style="text-align:center;"><img src="/wiki/Special:FilePath/%s" style="height:72px;"><br>%s</div>',
                :addClass('gallerybox')
                 file, caption or file
 
             )
            -- 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
     end
     end
    container:node(childContainer)
    return tostring(container)
end


    html = html .. '</div>'
return p
    return html
end

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