diff --git a/components/infobox/wikis/deadlock/infobox_league_custom.lua b/components/infobox/wikis/deadlock/infobox_league_custom.lua new file mode 100644 index 00000000000..e19d54b72c4 --- /dev/null +++ b/components/infobox/wikis/deadlock/infobox_league_custom.lua @@ -0,0 +1,46 @@ +--- +-- @Liquipedia +-- wiki=deadlock +-- page=Module:Infobox/League/Custom +-- +-- Please see https://github.com/Liquipedia/Lua-Modules to contribute +-- + +local Class = require('Module:Class') +local Lua = require('Module:Lua') + +local Injector = Lua.import('Module:Widget/Injector') +local League = Lua.import('Module:Infobox/League') + +local Widgets = require('Module:Widget/All') +local Cell = Widgets.Cell + +---@class DeadlockLeagueInfobox: InfoboxLeague +local CustomLeague = Class.new(League) +local CustomInjector = Class.new(Injector) + +---@param frame Frame +---@return Html +function CustomLeague.run(frame) + local league = CustomLeague(frame) + league:setWidgetInjector(CustomInjector(league)) + + return league:createInfobox() +end + +---@param id string +---@param widgets Widget[] +---@return Widget[] +function CustomInjector:parse(id, widgets) + local args = self.caller.args + + if id == 'custom' then + return { + Cell{name = 'Number of teams', content = {args.team_number}}, + Cell{name = 'Number of players', content = {args.player_number}}, + } + end + return widgets +end + +return CustomLeague