Module:Infobox/Contenu téléchargeable

De Les Archives de Vault-Tec
Documentation du module

Ce module contient le paramétrage de l'infobox {{Infobox contenu téléchargeable}}.

Documentation transclues de Module:Infobox/Contenu téléchargeable/doc.
local localdata = require('Module:Infobox/Localdata')

-- Sujet
function buildSubject(localdata)
	local subject
	local addonType = localdata['type']
	
	if addonType then
		local types = {
			['dlc']  = 'Contenu téléchargeable',
			['maj']  = 'Mise à jour majeure'
		}
		subject = types[addonType:lower()] or 'Contenu téléchargeable'
	else
		subject = 'Contenu téléchargeable'
	end
	
	return subject
end

-- Lien
function buildLink(localdata)
	local link
	local addonType = localdata['type']
	
	if addonType then
		local types = {
			['dlc']  = 'Contenus téléchargeables',
			['maj']  = 'Mises à jour majeures'
		}
		link = types[addonType:lower()] or 'Contenu téléchargeable'
	else
		link = 'Contenus téléchargeables'
	end
	
	return link
end

-- Table des dates de sortie
function buildReleaseDateRow(localdata, index)
	local row = { type = 'text'}
	if localdata['plateforme'..index] and localdata['plateforme'..index..'date'] then
		row = { type = 'row', label = localdata['plateforme'..index], value = function(localdata) return localdata['plateforme'..index..'date'] end }
	end
	return row
end

-- Table des disponibilités
function buildPlatformLinkRow(localdata, index)
	local row = { type = 'text'}
	if localdata['plateforme'..index] and localdata['plateforme'..index..'dispo'] then
		row = { type = 'row', label = localdata['plateforme'..index], value = function(localdata) return localdata['plateforme'..index..'dispo'] end }
	end
	return row
end

return {
	parts = {
		{ type = 'title', value = 'nom', subtitle = 'sous-titre', icon = 'icône', subhead = { games = 'jeux', subject = buildSubject(localdata), link = buildLink(localdata) }},
		{ type = 'images', imageparameters = { 'image', 'image2', 'image3', 'image4', 'image5' }, captionparameter = { 'légende', 'image desc' }},
		{ type = 'table', title = 'Général', rows = {
			{ type = 'row', label = 'Développeurs', value = 'développeurs' },
			{ type = 'row', label = 'Éditeur', value = 'éditeur' },
			{ type = 'row', label = 'Saison', value = 'saison' }
		}},
		{ type = 'table', title = 'Dates de sortie', rows = {
			{ type = "row", label = "Date de sortie", value = { "date de sortie", "date" }},
			buildReleaseDateRow(localdata, '1'),
			buildReleaseDateRow(localdata, '2'),
			buildReleaseDateRow(localdata, '3'),
			buildReleaseDateRow(localdata, '4'),
			buildReleaseDateRow(localdata, '5')
		}},
		{ type = 'table', title = 'Disponibilité', rows = {
			buildPlatformLinkRow(localdata, '1'),
			buildPlatformLinkRow(localdata, '2'),
			buildPlatformLinkRow(localdata, '3'),
			buildPlatformLinkRow(localdata, '4'),
			buildPlatformLinkRow(localdata, '5')
		}},
		{ type = 'table', title = 'Technique', rows = {
			{ type = 'row', label = 'Taille', value = 'taille' },
			{ type = 'row', label = 'Patch', value = 'patch' }
		}},
		{ type = 'table', rows = {
			{ type = 'succession', value = {
				before = function(localdata) return localdata['précédent'] end,
				after  = function(localdata) return localdata['suivant'] end
			}},
			{ type = 'row1col', value = { 'partie de' } }
		}},
		{ type = 'text', value = 'pied' }
	}
}