Módulo:Character.Skin

De Wiki Gla
Revisão de 17h11min de 30 de novembro de 2025 por Gurren1 (discussão | contribs)
(dif) ← Edição anterior | Revisão atual (dif) | Versão posterior → (dif)
Ir para navegação Ir para pesquisar

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

-- Módulo:Character.Skin — função skin()
local p = {}

local utils = require("Módulo:Character.Utils")
local normalizeDim = utils.normalizeDim

--------------------------------------------------------------------------------
-- Serializer de skin (para {{Skin}})
--------------------------------------------------------------------------------

function p.skin(frame)
    local a = frame.args

    local function nz(s)
        s = mw.text.trim(tostring(s or ""))
        return (s ~= "" and s or nil)
    end

    -- i18n para tooltip (mantém legado)
    local pack = {
        pt = nz(a.tooltip_pt),
        en = nz(a.tooltip_en),
        es = nz(a.tooltip_es),
        pl = nz(a.tooltip_pl)
    }

    local tooltip
    if pack.pt or pack.en or pack.es or pack.pl then
        tooltip = mw.text.jsonEncode(pack)
    else
        tooltip = a.tooltip or ''
    end

    local obj = {
        sprite = a.sprite or '',
        background = a.background or '',
        tooltip = tooltip,
        youtube = a.youtube or '',
        source = a.source or '',
        name = a.name or a.nome or '',
        w = normalizeDim(a.w or a.width),
        h = normalizeDim(a.h or a.height)
    }
    return mw.text.jsonEncode(obj)
end

return p