16 404
contributi
m (Eheh ti pareva se potevo fare giusto) |
(Code refactoring, aggiunta scelta automatica del colore dell'espandi/comprimi) |
||
colori memorizzati sul wiki: in questo caso basta
inserire "parametro=nomecolore variante", es:
{{#invoke:
{{#invoke:
--]]
local w = require('Modulo:Wikilib')
local
local
local
local
local gbl = require('Modulo:GamesColorLinks')
local
-- Stringa per la trainerclass, non sempre presente
local classString = [=[<div style="line-height: 10px" class="text-small">'''[[${classlink}|<span style="color:#000">${class}</span>]]'''</div>]=]
--[[
--]===]
-- Returns true iff the text should be white on the passed color variant
local needWhiteText = function(color)
local back2name, back2var = lib.getColor(color)
return back2var == 'dark'
or (back2var == 'normale' and table.search(wdata.whitetext, back2name))
end
-- Creates the table of colors common to both single and tag
local calcBaseColors = function(p)
local colors = lib.gethex{
color = p.color or
bordercolor = p.bordercolor or
headcolor = p.headcolor or
}
colors = lib.gethex({
back1 = p.back1 or colors.headcolor,
back2 = p.back2 or colors.bordercolor,
head1 = p.head1 or colors.color,
head2 = p.head2 or p.back1 or colors.headcolor,
sprcolor1 = p.sprcolor1 or p.head1 or colors.color,
sprcolor2 = p.sprcolor2 or p.back1 or colors.headcolor,
return colors
end
-- Create the interpData common to both single and party
local calcBaseInterpData = function(p, colors, collapsiblebackground)
local collapsiblelighttext
-- Can't use and/or syntax because the value may be false
if p.expandiblelight then
collapsiblelighttext = p.expandiblelight:lower() == 'yes'
else
collapsiblelighttext = needWhiteText(collapsiblebackground)
end
local interpData = {
sprite = p.sprite,
size = p.size and '|' .. p.size or '',
class = p.class and string.interp(classString, {class = p.class,
classlink = p.classlink or lib.trainerClass[p.name] or p.class .. ' (classe allenatore)'}) or '',
name = p.name or 'Oak',
location = p.location or 'Brockolandia',
locationname = p.locationname or p.location or 'Brockolandia',
game = gbl[p.game]{args={'000'}} or p.game,
prize = p.prize or '[[File:PokémonDollar.png|link=
balls = lib.balls(tonumber(p.pokemon or p.pokemon1) or 0),
collapsiblelighttext = collapsiblelighttext and 'light-text' or '',
mainBackground = css.horizGradLua{colors.back1, colors.back2},
spriteBackground = css.horizGradLua{colors.sprcolor1, colors.sprcolor2},
detailsBackground = css.horizGradLua{colors.head1, colors.head2},
}
interpData.ballsBackground = interpData.detailsBackground
return interpData
end
-- Squadra/Single
s.single = function(frame)
local p = w.trimAll(mw.clone(frame.args))
local colors = calcBaseColors(p)
local interpData = calcBaseInterpData(p, colors, p.back2 or p.bordercolor or '')
interpData.pkmnBackground = interpData.mainBackground
return string.interp([=[{| class="mw-collapsible mw-collapsed ${collapsiblelighttext} text-center pull-left roundy" style="padding: 0.5ex; ${mainBackground}"
|-
| <div class="flex flex-row flex-nowrap flex-items-center flex-main-center" style="padding: 0 2.5em;">
<div>
<div class="roundy-full" style="padding: 0.3ex; ${
<div class="text-small" style="margin-top: 0.5ex; line-height: 10px">Ricompensa:</div>
<div>'''${prize}'''</div>
</div>
<div>
<div class="roundy text-center" style="margin-left: 1ex; width: 18em; padding: 0.2ex;
${class}
<div class="text-big">'''${name}'''</div>
<div class="text-small">${game}</div>
</div>
<div class="roundy pull-center" style="margin-top: 0.5ex; width: 14ex; padding: 0.2ex;
</div>
</div>
|-
| style="padding: 0;" | <div class="roundy flex flex-row flex-nowrap flex-items-center flex-main-space-around" style="
interpData)
end
local p = w.trimAll(mw.clone(frame.args))
local colors = calcBaseColors(p)
colors = lib.gethex({
},
colors
)
local interpData =
interpData.class2 = p.class2 and string.interp(classString, {class = p.class2,
classlink = p.classlink2 or lib.trainerClass[p.name2] or p.class2 .. ' (classe allenatore)'}) or ''
interpData.name2 = p.name2 or 'Oak'
interpData.sprite2 = p.sprite2
interpData.size2 = p.size2 and '|' .. p.size2 or ''
interpData.balls = lib.balls(tonumber(p.pokemon1) or 0, tonumber(p.pokemon2) or 0)
interpData.sprite2Background = css.horizGradLua{colors.spr2color1, colors.spr2color2}
interpData.pkmnBackground = css.vertGradLua{colors.sprcolor1, colors.spr2color2}
return string.interp([=[{| class="mw-collapsible mw-collapsed ${collapsiblelighttext} text-center pull-left roundy" style="padding: 0.5ex;
|-
| <div class="flex flex-row flex-nowrap flex-items-center flex-main-center" style="padding: 0 2.5em;">
<div>
<div class="roundy-full" style="padding: 0.3ex; ${
<div class="text-small" style="margin-top: 0.5ex; line-height: 10px">Ricompensa:</div>
<div>'''${prize}'''</div>
</div>
<div>
<div class="roundy text-center" style="margin-left: 1ex; width: 18em; padding: 0.2ex;
<div>
${class}
<div class="text-small">${game}</div>
</div>
<div class="roundy pull-center" style="margin-top: 0.5ex; width: 14ex; padding: 0.2ex;
</div>
<div class="flex-items-self-start roundy-full" style="margin-left: 1ex; padding: 0.3ex; ${
</div>
|-
| <div class="roundy" style="
<div class="flex flex-row flex-nowrap flex-items-center flex-main-space-around">]=],
interpData)
s.Tag = s.tag
--
s.div = function(frame)
|