Moduuli:Fr:Infobox/videopeli


local infobox = require "Module:Fr:Infobox/Fonctions"
local wikidata = require "Module:Fr:Interface Wikidata".fromLua
local localdata = require "Module:Fr:Infobox/Localdata"

local function agelimit(localdata)
    local props={"P908","P853","P852", "P914"}	
    local prop_val={}
    local val ="";
	for i, prop in ipairs(props) do
		prop_val[prop] = wikidata.formatStatements{entity = localdata.item, property=prop,link="-" } 
	end 
	prop_val["P916"] = wikidata.formatStatements{entity = localdata.item, property="P916",numval=1,displayformat="raw" } 

	if prop_val["P908"]  then
		val = val ..  "[[Pan European Game Information|" .. prop_val["P908"] .. "]]<br>"
	end

	if prop_val["P853"]  then
		val = val ..  "[[Computer Entertainment Rating Organization|CERO]] :" .. prop_val["P853"] .. "<br>"
	end
	
	if prop_val["P852"]  then
		val = val ..  "[[Entertainment Software Rating Board|ESRB]]: " .. prop_val["P852"] .. "<br>"
	end
	
	if prop_val["P914"]  then
		val = val ..  "[[Unterhaltungssoftware Selbstkontrolle|".. prop_val["P914"] .."]]<br>"
	end
	
	if prop_val["P916"] then
		val = val ..  "{{GSRR|" .. prop_val["P916"] .. "}}"
	end	
	
	return {
		type = 'row',
		label = "Ikäraja",
		value = "ikäraja",
		wikidata = function() return val end
	}
end

return {
	maincolor = '#CCD6FF',
	parts = {
		infobox.mainimage('Kuva videopelistä'),
		infobox.title(),
		{
			type	= 'table',
			rows	= {
				{
					type		= 'row',
					label		= 'Kehittäjä', 
					value		= 'kehittäjä',
					property	= 'P178'
				},
				{
					type		= 'row',
					label		= 'Julkaisija', 
					value		= 'julkaisija',
					property	= 'P123'
				},			
				{
					type		= 'row',
					label		= 'Jakelija', 
					value		= 'jakelija',
					property	= 'P750'
				},			
				{
					type		= 'row',
					label		= 'Ohjaaja', 
					value		= 'ohjaaja',
					property	= 'P57'
				},	
				{
					type		= 'row',
					label		= 'Tuottaja', 
					value		= 'tuottaja',
					property	= 'P162'
				},	
				{
					type		= 'row',
					label		= 'Suunnittelija', 
					value		= 'suunnittelija',
					property	= 'P287'
				},	
				{
					type		= 'row',
					label		= 'Käsikirjoittaja', 
					value		= 'käsikirjoittaja',
					property	= 'P50'
				},	
				{
					type		= 'row',
					label		= 'Taiteilija', 
					value		= 'taiteilija',
					property	= 'P3080'
				},		
				{
					type		= 'row',
					label		= 'Säveltäjä', 
					value		= 'säveltäjä',
					property	= 'P86'
				},
				{
					type		= 'row',
					label		= 'Ohjelmoija', 
					value		= 'ohjelmoija',
					property	= 'P943'
				},					
				{
					type		= 'row',
					label		= 'Pelisarja', 
					value		= 'pelisarja',
					property	= 'P179'
				},					
				{
					type		= 'row',
					label		= 'Pelimoottori', 
					value		= 'pelimoottori',
					property	= 'P408'
				},					
				{
					type		= 'row',
					label		= 'Julkaistu', 
					value		= 'julkaistu',
					 wikidata = {property = 'P577', sorttype='chronological', precision='year',numval=1}
				},	
				{
					type		= 'row',
					label		= 'Lajityyppi', 
					value		= 'lajityyppi',
					property	= 'P136'
				},		
				{
					type		= 'row',
					label		= 'Pelimuoto', 
					value		= 'pelimuoto',
					property	= 'P404'
				},
				{
					type		= 'row',
					label		= 'Alusta', 
					value		= 'alusta',
					property	= 'P400'
				},	
				{
					type		= 'row',
					label		= 'Hinnoittelutapa', 
					value		= 'hinnoittelutapa',
					property	= ''
				},	
				{
					type		= 'row',
					label		= 'Lisenssi', 
					value		= 'lisenssi',
					property	= 'P275'
				},		
				agelimit(localdata),
				{
					type		= 'row',
					label		= 'Jakelumuoto', 
					value		= 'jakelumuoto',
					property	= 'P437'
				},
				{
					type		= 'row',
					label		= 'Vaatimukset', 
					value		= 'vaatimukset',
					property	= ''
				},	
				{
					type		= 'row',
					label		= 'Oheislaite', 
					value		= 'oheislaite',
					property	= ''
				},
				{ 
					type = 'row1col', 
					color = '#CCD6FF', 
					value = '<div style="float:left;margin:0.2em">[[Kuva:Gamepad.svg|34px]]</div><small style="display:block;font-weight:400; line-height:1em;padding-top:0.6em">Lisää peliartikkeleita</small>[[Teemasivu:Videopelit|Videopelien teemasivulla]]' 
				}			
			}
		}
	}
}