mNo edit summary |
mNo edit summary |
||
Line 15: | Line 15: | ||
end | end | ||
function MatchHTML.teamHover(p1, p2, p1score, p2score, date, twitch, youtube, casters, observers) | function MatchHTML.teamHover(p1, p2, p1score, p2score, date, twitch, youtube, casters, observers, winner) | ||
local p1Link = p1 and '[[' .. p1 .. ']]' or 'TBD' | local p1Link = p1 and '[[' .. p1 .. ']]' or 'TBD' | ||
local p2Link = p2 and '[[' .. p2 .. ']]' or 'TBD' | local p2Link = p2 and '[[' .. p2 .. ']]' or 'TBD' | ||
Line 30: | Line 30: | ||
header:node(hover1):node(hover2) | header:node(hover1):node(hover2) | ||
local date = mw.html.create('div'):addClass('tc convert--date'):wikitext(stringifyDate(date)) | local date = mw.html.create('div'):addClass('tc convert--date'):attr('style', 'font-size: 0.9rem;'):wikitext(stringifyDate(date)) | ||
hover:node(header):node(date) | |||
if #casters > 0 then | |||
local castersDiv = mw.html.create('div'):attr('style', 'display: flex; gap: 0.5rem; font-size: 0.8rem; justify-content: center;'):wikitext('Casters:') | |||
for i = 1, #casters do | for i = 1, #casters do | ||
local personDiv = mw.html.create('div') | |||
personDiv:wikitext(makeFlag(nil, casters[i])) | |||
personDiv:wikitext('[[' .. casters[i] .. ']]') | |||
castersDiv:node(personDiv) | |||
end | end | ||
hover:node(castersDiv) | |||
end | end | ||
if #observers> 0 then | |||
local observersDiv = mw.html.create('div'):attr('style', 'display: flex; gap: 0.5rem; font-size: 0.8rem; justify-content: center;'):wikitext('Observers:') | |||
for i = 1, #observers do | for i = 1, #observers do | ||
local personDiv = mw.html.create('div') | |||
personDiv:wikitext(makeFlag(nil, observers[i])) | |||
personDiv:wikitext('[[' .. observers[i] .. ']]') | |||
observersDiv:node(personDiv) | |||
end | end | ||
hover:node(observersDiv) | |||
end | end | ||
if winner > 0 then | |||
local streams = mw.html.create('div') | |||
if twitch then streams:wikitext('[[File:Twitch.png|25px|link=https://twitch.tv/' .. twitch .. ']]') end | |||
if youtube then streams:wikitext('[[File:Youtube.png|25px|link=https://youtube.com/' .. youtube .. '/live]]') end | |||
hover:node(streams) | |||
return hover | end | ||
return hover | |||
end | end | ||
return MatchHTML | return MatchHTML |
Revision as of 00:29, 17 October 2023
Documentation for this module may be created at Module:MatchHTML/doc
local MatchHTML = {}
local VariablesLua = mw.ext.VariablesLua
local stringifyDate = require('Module:Functions').stringifyDate
local makeFlag = require('Module:Person/Flag').makeFlag
function MatchHTML.team(name, score, rev)
local teamName = name and mw.ext.displaytitle.get(name) or ''
local team = mw.html.create('div'):addClass('team')
local nameNode = mw.html.create('div'):wikitext(teamName):addClass('teamName')
if rev and VariablesLua.var( 'matchList', 0 ) == '1' then
team:addClass('reverse')
end
return team:node(nameNode):node(mw.html.create('div'):wikitext(score):addClass('score'))
end
function MatchHTML.teamHover(p1, p2, p1score, p2score, date, twitch, youtube, casters, observers, winner)
local p1Link = p1 and '[[' .. p1 .. ']]' or 'TBD'
local p2Link = p2 and '[[' .. p2 .. ']]' or 'TBD'
local hover = mw.html.create('div'):addClass('match-details')
local header = mw.html.create('div'):addClass('details-header')
local hover1 = mw.html.create('div'):addClass('team')
:node(mw.html.create('div'):wikitext(p1Link):addClass('teamName'))
:node(mw.html.create('div'):wikitext(p1score):addClass('score'))
local hover2 = mw.html.create('div'):addClass('team reverse')
:node(mw.html.create('div'):wikitext(p2Link):addClass('teamName'))
:node(mw.html.create('div'):wikitext(p2score):addClass('score'))
header:node(hover1):node(hover2)
local date = mw.html.create('div'):addClass('tc convert--date'):attr('style', 'font-size: 0.9rem;'):wikitext(stringifyDate(date))
hover:node(header):node(date)
if #casters > 0 then
local castersDiv = mw.html.create('div'):attr('style', 'display: flex; gap: 0.5rem; font-size: 0.8rem; justify-content: center;'):wikitext('Casters:')
for i = 1, #casters do
local personDiv = mw.html.create('div')
personDiv:wikitext(makeFlag(nil, casters[i]))
personDiv:wikitext('[[' .. casters[i] .. ']]')
castersDiv:node(personDiv)
end
hover:node(castersDiv)
end
if #observers> 0 then
local observersDiv = mw.html.create('div'):attr('style', 'display: flex; gap: 0.5rem; font-size: 0.8rem; justify-content: center;'):wikitext('Observers:')
for i = 1, #observers do
local personDiv = mw.html.create('div')
personDiv:wikitext(makeFlag(nil, observers[i]))
personDiv:wikitext('[[' .. observers[i] .. ']]')
observersDiv:node(personDiv)
end
hover:node(observersDiv)
end
if winner > 0 then
local streams = mw.html.create('div')
if twitch then streams:wikitext('[[File:Twitch.png|25px|link=https://twitch.tv/' .. twitch .. ']]') end
if youtube then streams:wikitext('[[File:Youtube.png|25px|link=https://youtube.com/' .. youtube .. '/live]]') end
hover:node(streams)
end
return hover
end
return MatchHTML