Mudanças entre as edições de "Módulo:Widget"
Ir para navegação
Ir para pesquisar
(Criou página com '----------- -- Módulo:Widget local p = {} function p.render(frame) local args = frame:getParent().args local nome = args.nome or "Criatura" local imagem = args...') |
(Sem diferença)
|
Edição atual tal como às 05h33min de 16 de novembro de 2025
A documentação para este módulo pode ser criada em Módulo:Widget/doc
-----------
-- Módulo:Widget
local p = {}
function p.render(frame)
local args = frame:getParent().args
local nome = args.nome or "Criatura"
local imagem = args.imagem or "https://via.placeholder.com/60"
local tipo = args.tipo or "Tipo desconhecido"
local habitat = args.habitat or "Habitat desconhecido"
local perigo = args.perigo or "?"
local drops = args.drops or "Sem drops."
-- Monta o HTML para a ficha da criatura, igual ao widget criado anteriormente
local html = mw.html.create("div")
:addClass("bestiario-widget") -- pode customizar com CSS depois
:cssText("background:#21223a; border-radius:10px; padding:15px; width:350px; color:#f1e9d3; font-family:sans-serif;")
local header = html:tag("div")
:cssText("display:flex; align-items:center; margin-bottom:10px;")
local imgDiv = header:tag("div")
:cssText("width:60px; height:60px; border-radius:8px; overflow:hidden; background:#252736; margin-right:10px;")
imgDiv:tag("img")
:attr("src", imagem)
:attr("alt", "Imagem da criatura")
:cssText("width:60px; height:60px;")
local infoDiv = header:tag("div")
infoDiv:tag("div")
:cssText("font-size:1.3em; font-weight:bold; color:#f7de72;")
:wikitext(nome)
infoDiv:tag("div")
:cssText("font-size:1em; color:#b0b0b0;")
:wikitext(tipo)
infoDiv:tag("div")
:cssText("font-size:0.94em; color:#67b06a; margin-top:2px;")
:wikitext(habitat)
infoDiv:tag("div")
:cssText("font-size:0.97em; color:#e55a5a;")
:wikitext("Perigo: " .. perigo)
-- Corpo com drops
local body = html:tag("div")
:cssText("margin-top:10px;")
local dropsDiv = body:tag("div")
:cssText("background:#171821; border-radius:8px; padding:8px 10px; margin-bottom:6px;")
dropsDiv:tag("span")
:cssText("font-weight:bold; color:#f7de72;")
:wikitext("Drops")
dropsDiv:tag("br")
dropsDiv:tag("span")
:cssText("font-size:0.98em;")
:wikitext(drops)
return tostring(html)
end
return p
-----------