Mudanças entre as edições de "Módulo:Gb"
Ir para navegação
Ir para pesquisar
Etiqueta: Revertido |
|||
| Linha 4: | Linha 4: | ||
function p.bossInfo(frame) | function p.bossInfo(frame) | ||
local | local parent = frame:getParent() | ||
local args = parent.args | |||
local function g(k, default) | local function g(k, default) | ||
| Linha 10: | Linha 11: | ||
end | end | ||
local img | local img = g("img", "Placeholder.png") | ||
local nome | local nome = g("nome", "Nome do Boss") | ||
local frase | local frase = g("frase", "Frase ou lema do boss.") | ||
local hp | local hp = g("hp", "???") | ||
local exp | local exp = g("exp", "???") | ||
local nivel | local nivel = g("nivel", "???") | ||
local fresco | local fresco = g("fresco", "--") | ||
local forte | local forte = g("forte", "--") | ||
local reflete | local reflete = g("reflete", "--") | ||
local comum | local comum = g("comum", "--") | ||
local | local semicaro = g("semicaro", "--") | ||
local raro | local raro = g("raro", "--") | ||
local muitoRaro | local muitoRaro = g("muitoraro", "--") | ||
---------------------------------------------------- | ---------------------------------------------------------- | ||
-- CSS | -- CSS correto usando addHeadItem | ||
---------------------------------------------------- | ---------------------------------------------------------- | ||
local css = [[ | local css = [[ | ||
<style> | <style> | ||
@media screen and (max-width: 650px) { | @media screen and (max-width: 650px) { | ||
.boss-main { | |||
display: flex; | |||
flex-direction: column !important; | |||
text-align: center; | |||
gap: 16px; | |||
} | |||
.boss-img-box img { | |||
width: 70px !important; | |||
height: 70px !important; | |||
} | |||
.boss-stats { | |||
align-items: center !important; | |||
} | |||
} | } | ||
</style> | |||
]] | |||
parent:getOutput():addHeadItem(css) | |||
---------------------------------------------------- | ---------------------------------------------------------- | ||
-- | -- HTML de retorno | ||
---------------------------------------------------- | ---------------------------------------------------------- | ||
local | local html = mw.html.create("div"):addClass("boss-main") | ||
local | local imgBox = html:tag("div"):addClass("boss-img-box") | ||
imgBox:tag("img") | |||
:attr("src", img) | |||
:attr("alt", nome) | |||
local | local stats = html:tag("div"):addClass("boss-stats") | ||
stats:wikitext(string.format([[ | |||
! **%s** | |||
*%s* | |||
• **HP:** %s | |||
• **Experiência:** %s | |||
• **Nível:** %s | |||
**Drops:** | |||
• Fresco: %s | |||
• Forte: %s | |||
• Reflete: %s | |||
• Comum: %s | |||
• Semicaro: %s | |||
• Raro: %s | |||
• Muito raro: %s | |||
]], | |||
nome, frase, hp, exp, nivel, | |||
fresco, forte, reflete, comum, semicaro, raro, muitoRaro | |||
)) | |||
return tostring(html) | return tostring(html) | ||
Edição das 04h07min de 24 de novembro de 2025
A documentação para este módulo pode ser criada em Módulo:Gb/doc
-- Módulo:BossDisplay (responsivo)
local p = {}
function p.bossInfo(frame)
local parent = frame:getParent()
local args = parent.args
local function g(k, default)
return mw.text.trim(args[k] or "") ~= "" and args[k] or default
end
local img = g("img", "Placeholder.png")
local nome = g("nome", "Nome do Boss")
local frase = g("frase", "Frase ou lema do boss.")
local hp = g("hp", "???")
local exp = g("exp", "???")
local nivel = g("nivel", "???")
local fresco = g("fresco", "--")
local forte = g("forte", "--")
local reflete = g("reflete", "--")
local comum = g("comum", "--")
local semicaro = g("semicaro", "--")
local raro = g("raro", "--")
local muitoRaro = g("muitoraro", "--")
----------------------------------------------------------
-- CSS correto usando addHeadItem
----------------------------------------------------------
local css = [[
<style>
@media screen and (max-width: 650px) {
.boss-main {
display: flex;
flex-direction: column !important;
text-align: center;
gap: 16px;
}
.boss-img-box img {
width: 70px !important;
height: 70px !important;
}
.boss-stats {
align-items: center !important;
}
}
</style>
]]
parent:getOutput():addHeadItem(css)
----------------------------------------------------------
-- HTML de retorno
----------------------------------------------------------
local html = mw.html.create("div"):addClass("boss-main")
local imgBox = html:tag("div"):addClass("boss-img-box")
imgBox:tag("img")
:attr("src", img)
:attr("alt", nome)
local stats = html:tag("div"):addClass("boss-stats")
stats:wikitext(string.format([[
! **%s**
*%s*
• **HP:** %s
• **Experiência:** %s
• **Nível:** %s
**Drops:**
• Fresco: %s
• Forte: %s
• Reflete: %s
• Comum: %s
• Semicaro: %s
• Raro: %s
• Muito raro: %s
]],
nome, frase, hp, exp, nivel,
fresco, forte, reflete, comum, semicaro, raro, muitoRaro
))
return tostring(html)
end
return p