Mudanças entre as edições de "Módulo:Achiev"
Ir para navegação
Ir para pesquisar
| Linha 9: | Linha 9: | ||
local html = mw.html.create("div") | local html = mw.html.create("div") | ||
:addClass("conquista-wrapper") | |||
-- Ribbon fixo | |||
html:tag("div") | |||
:addClass("conquista-header") | |||
:wikitext("CONQUISTA COMPLETADA!") | |||
:done() | |||
-- A caixa em si | |||
local box = html:tag("div") | |||
:addClass("conquista-box") | :addClass("conquista-box") | ||
-- Ícone | |||
box:tag("div") | |||
:addClass("conquista-icon") | :addClass("conquista-icon") | ||
:wikitext(string.format("[[Arquivo:%s.png|link=]]", imagem)) | :wikitext(string.format("[[Arquivo:%s.png|link=]]", imagem)) | ||
:done() | :done() | ||
local conteudo = | -- Conteúdo | ||
local conteudo = box:tag("div") | |||
:addClass("conquista-conteudo") | :addClass("conquista-conteudo") | ||
| Linha 29: | Linha 41: | ||
:done() | :done() | ||
-- Recompensas | |||
local rec = conteudo:tag("div") | local rec = conteudo:tag("div") | ||
:addClass("conquista-recompensas") | :addClass("conquista-recompensas") | ||
Edição das 21h06min de 7 de junho de 2025
A documentação para este módulo pode ser criada em Módulo:Achiev/doc
local p = {}
function p.render(frame)
local args = frame:getParent().args or {}
local imagem = args.imagem or "Blank"
local titulo = args.titulo or "Título da Conquista"
local descricao = args.descricao or "Descrição da conquista."
local itensStr = args.itens or ""
local html = mw.html.create("div")
:addClass("conquista-wrapper")
-- Ribbon fixo
html:tag("div")
:addClass("conquista-header")
:wikitext("CONQUISTA COMPLETADA!")
:done()
-- A caixa em si
local box = html:tag("div")
:addClass("conquista-box")
-- Ícone
box:tag("div")
:addClass("conquista-icon")
:wikitext(string.format("[[Arquivo:%s.png|link=]]", imagem))
:done()
-- Conteúdo
local conteudo = box:tag("div")
:addClass("conquista-conteudo")
conteudo:tag("div")
:addClass("conquista-titulo")
:wikitext(titulo)
:done()
conteudo:tag("div")
:addClass("conquista-descricao")
:wikitext(descricao)
:done()
-- Recompensas
local rec = conteudo:tag("div")
:addClass("conquista-recompensas")
for entry in mw.text.gsplit(itensStr, ",", true) do
local e = mw.text.trim(entry)
if e ~= "" then
local name, qty = e:match("^%s*(.-)%s*:%s*(%d+)%s*$")
if name and qty then
local itemDiv = rec:tag("div")
:addClass("item")
itemDiv:wikitext(string.format(
"[[Arquivo:%s.png|class=item-img|link=]]",
name
)):done()
itemDiv:tag("span")
:addClass("item-qtd")
:wikitext("x" .. qty)
:done()
end
end
end
return tostring(html)
end
return p