Mudanças entre as edições de "Módulo:Achiev"
Ir para navegação
Ir para pesquisar
Etiqueta: Revertido |
|||
| Linha 1: | Linha 1: | ||
local p = {} | local p = {} | ||
local itemData = require("Módulo:ItemData") | |||
function p.render(frame) | function p.render(frame) | ||
| Linha 14: | Linha 15: | ||
:addClass("conquista-header") | :addClass("conquista-header") | ||
:wikitext("CONQUISTA COMPLETADA!") | :wikitext("CONQUISTA COMPLETADA!") | ||
local box = html:tag("div") | local box = html:tag("div") | ||
| Linha 22: | Linha 22: | ||
:addClass("conquista-icon") | :addClass("conquista-icon") | ||
:wikitext(string.format("[[Arquivo:%s.png|link=]]", imagem)) | :wikitext(string.format("[[Arquivo:%s.png|link=]]", imagem)) | ||
local conteudo = box:tag("div") | local conteudo = box:tag("div") | ||
| Linha 30: | Linha 29: | ||
:addClass("conquista-titulo") | :addClass("conquista-titulo") | ||
:wikitext(titulo) | :wikitext(titulo) | ||
conteudo:tag("div") | conteudo:tag("div") | ||
:addClass("conquista-descricao") | :addClass("conquista-descricao") | ||
:wikitext(descricao) | :wikitext(descricao) | ||
-- Recompensas | -- Recompensas | ||
| Linha 46: | Linha 43: | ||
local name, qty = e:match("^%s*(.-)%s*:%s*(%d+)%s*$") | local name, qty = e:match("^%s*(.-)%s*:%s*(%d+)%s*$") | ||
if name and qty then | if name and qty then | ||
local | local data = itemData[name] or {} | ||
local fullName = data.nome | |||
local pageLink = data.link | |||
local tooltip = fullName or nil | |||
local file = name:match("%.png$") or name:match("%.gif$") or name:match("%.jpg$") or name:match("%.webp$") | |||
and name or name .. ".png" | |||
local item = rec:tag("div"):addClass("item") | |||
if tooltip then item:attr("data-tooltip", tooltip) end | |||
local linkAttr = pageLink and ("|link=" .. pageLink) or "|link=" | |||
item:wikitext(string.format("[[Arquivo:%s|class=item-img%s]]", file, linkAttr)) | |||
item:tag("span") | |||
:addClass("item-qtd") | :addClass("item-qtd") | ||
:wikitext("x" .. qty) | :wikitext("x" .. qty) | ||
end | end | ||
end | end | ||
Edição das 23h21min de 8 de junho de 2025
A documentação para este módulo pode ser criada em Módulo:Achiev/doc
local p = {}
local itemData = require("Módulo:ItemData")
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")
html:tag("div")
:addClass("conquista-header")
:wikitext("CONQUISTA COMPLETADA!")
local box = html:tag("div")
:addClass("conquista-box")
box:tag("div")
:addClass("conquista-icon")
:wikitext(string.format("[[Arquivo:%s.png|link=]]", imagem))
local conteudo = box:tag("div")
:addClass("conquista-conteudo")
conteudo:tag("div")
:addClass("conquista-titulo")
:wikitext(titulo)
conteudo:tag("div")
:addClass("conquista-descricao")
:wikitext(descricao)
-- 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 data = itemData[name] or {}
local fullName = data.nome
local pageLink = data.link
local tooltip = fullName or nil
local file = name:match("%.png$") or name:match("%.gif$") or name:match("%.jpg$") or name:match("%.webp$")
and name or name .. ".png"
local item = rec:tag("div"):addClass("item")
if tooltip then item:attr("data-tooltip", tooltip) end
local linkAttr = pageLink and ("|link=" .. pageLink) or "|link="
item:wikitext(string.format("[[Arquivo:%s|class=item-img%s]]", file, linkAttr))
item:tag("span")
:addClass("item-qtd")
:wikitext("x" .. qty)
end
end
end
return tostring(html)
end
return p