Mudanças entre as edições de "Módulo:Teste"
Ir para navegação
Ir para pesquisar
m Etiqueta: Revertido |
m Etiqueta: Revertido |
||
| Linha 3: | Linha 3: | ||
function p.ficha(frame) | function p.ficha(frame) | ||
local args = frame:getParent().args | local args = frame:getParent().args | ||
local html = mw.html.create('div') | local html = mw.html.create('div'):addClass('character-box') | ||
-- Header | -- Header | ||
html:tag('h2'):wikitext(args.nome or 'Personagem') | |||
html:tag('div'):addClass('character-tier'):wikitext(args.tier or '') | |||
html:tag('div'):addClass('character-class'):wikitext(args.classe or '') | |||
html:tag('div'):addClass('character-desc'):wikitext(args.desc or '') | |||
html:tag('div'):wikitext(string.format('[[Arquivo:%s|200px]]', args.image or '')) | |||
-- | -- Skills bar | ||
local skills = | local skillBar = html:tag('div'):addClass('skills-bar') | ||
local hasSkill = false | |||
for i = 1, 20 do | for i = 1, 20 do | ||
local nome = args['hab'..i..'-nome'] | local nome = args['hab'..i..'-nome'] | ||
if | if nome and nome ~= '' then | ||
hasSkill = true | |||
local icon = args['hab'..i..'-icon'] or '' | |||
local desc = args['hab'..i..'-desc'] or '' | |||
local video = args['hab'..i..'-video'] or '' | |||
video = | local atr = args['hab'..i..'-atr'] or '' | ||
atr = args['hab'..i..'-atr'] or '' | skillBar:tag('div') | ||
:addClass('skill-icon') | |||
:attr('data-index', i) | |||
:attr('data-nome', nome) | |||
:attr('data-desc', desc) | |||
:attr('data-video', video) | |||
:attr('data-atr', atr) | |||
:wikitext(string.format('[[Arquivo:%s|50px|link=]]', icon)) | |||
end | |||
end | end | ||
if not hasSkill then | |||
skillBar:wikitext('Nenhuma habilidade cadastrada.') | |||
skillBar: | |||
end | end | ||
-- Área da descrição dinâmica | -- Área da descrição dinâmica | ||
html:tag('div'):addClass('skill-detail'):wikitext('Selecione uma habilidade acima') | |||
-- Skins | -- Skins | ||
local | local skinBar = html:tag('div'):addClass('skin-bar') | ||
for j = 1, 10 do | for j = 1, 10 do | ||
local img = args['skin'..j..'-image'] | local img = args['skin'..j..'-image'] | ||
if | if img and img ~= '' then | ||
local card = skinBar:tag('div'):addClass('skin-card') | local card = skinBar:tag('div'):addClass('skin-card') | ||
card:wikitext(string.format('[[Arquivo:%s|60px|link=]]', | card:wikitext(string.format('[[Arquivo:%s|60px|link=]]', img)) | ||
local tooltip = args['skin'..j..'-tooltip'] or '' | |||
card:attr('title', | if tooltip ~= "" then | ||
card:attr('title', tooltip) | |||
end | end | ||
end | end | ||
Edição das 16h37min de 8 de agosto de 2025
A documentação para este módulo pode ser criada em Módulo:Teste/doc
local p = {}
function p.ficha(frame)
local args = frame:getParent().args
local html = mw.html.create('div'):addClass('character-box')
-- Header
html:tag('h2'):wikitext(args.nome or 'Personagem')
html:tag('div'):addClass('character-tier'):wikitext(args.tier or '')
html:tag('div'):addClass('character-class'):wikitext(args.classe or '')
html:tag('div'):addClass('character-desc'):wikitext(args.desc or '')
html:tag('div'):wikitext(string.format('[[Arquivo:%s|200px]]', args.image or ''))
-- Skills bar
local skillBar = html:tag('div'):addClass('skills-bar')
local hasSkill = false
for i = 1, 20 do
local nome = args['hab'..i..'-nome']
if nome and nome ~= '' then
hasSkill = true
local icon = args['hab'..i..'-icon'] or ''
local desc = args['hab'..i..'-desc'] or ''
local video = args['hab'..i..'-video'] or ''
local atr = args['hab'..i..'-atr'] or ''
skillBar:tag('div')
:addClass('skill-icon')
:attr('data-index', i)
:attr('data-nome', nome)
:attr('data-desc', desc)
:attr('data-video', video)
:attr('data-atr', atr)
:wikitext(string.format('[[Arquivo:%s|50px|link=]]', icon))
end
end
if not hasSkill then
skillBar:wikitext('Nenhuma habilidade cadastrada.')
end
-- Área da descrição dinâmica
html:tag('div'):addClass('skill-detail'):wikitext('Selecione uma habilidade acima')
-- Skins
local skinBar = html:tag('div'):addClass('skin-bar')
for j = 1, 10 do
local img = args['skin'..j..'-image']
if img and img ~= '' then
local card = skinBar:tag('div'):addClass('skin-card')
card:wikitext(string.format('[[Arquivo:%s|60px|link=]]', img))
local tooltip = args['skin'..j..'-tooltip'] or ''
if tooltip ~= "" then
card:attr('title', tooltip)
end
end
end
return tostring(html)
end
return p