Module:AnimalInfoCard
De Eco - Wiki Français
La documentation pour ce module peut être créée à Module:AnimalInfoCard/doc
local p = {}
local Utils = require('Module:Utils')
local RecipeUtils = require('Module:RecipeUtils')
local IconUtils = require('Module:IconUtils')
local Lang = Utils.getLanguageName()
function p.main(frame)
local PageName = frame.args[1] or ""
-- Déterminer le nom interne de l'animal
local AnimalName
if Lang == 'English' then
AnimalName = PageName
else
AnimalName = Utils.AnimalSearch(PageName)
end
-- Charger les données animales
local AnimalData = require("Module:AnimalData")
local Animal = AnimalData.animals[AnimalName]
-- Sécurité si l'animal n'existe pas
if not Animal then
return "Erreur : animal introuvable → **" .. tostring(AnimalName) .. "**"
end
local WikiText = ""
WikiText = WikiText .. '__NOTOC__'
WikiText = WikiText .. 'page name get test: ' .. PageName .. '</br>'
WikiText = WikiText .. 'Animal name get test: ' .. AnimalName .. '</br>'
---------------------------------------------------------
-- Colonne gauche : Galerie
---------------------------------------------------------
WikiText = WikiText .. '<div class="row gy-4 gx-5"><div class="col-md-6">'
-- Images : sécurisation minimale
local Image1 = AnimalName .. "_Animal.jpg"
local GalleryImagesList = Image1 .. "|" .. AnimalName .. "\n" .. Image1
WikiText = WikiText .. frame:callParserFunction{
name = '#tag:gallery',
args = {
mode = 'slideshow',
widths = '100%',
showthumbnails = 'true',
GalleryImagesList
}
}
WikiText = WikiText .. '</div>'
---------------------------------------------------------
-- Colonne droite : Carte de l’animal
---------------------------------------------------------
WikiText = WikiText .. '<div class="col-md-6">'
WikiText = WikiText .. '<div class="card border-primary"><div class="card-body">'
-- Titre avec icône
WikiText = WikiText .. '<h2 class="card-title fs-40">'
WikiText = WikiText .. IconUtils.main{
name = Animal.Name[Lang],
id = Animal.ID,
size = 48,
style = 1
}
WikiText = WikiText .. ' ' .. Animal.Name[Lang] .. '</h2>'
-- Description
WikiText = WikiText .. '<p class="col-lg-10 card-text">'
WikiText = WikiText .. (Animal.Description[Lang] or "")
WikiText = WikiText .. '</p>'
-- Tableau (pour l’instant vide)
WikiText = WikiText .. '<table class="table table-striped table-bordered w-80">'
WikiText = WikiText .. '<tr class="thead-dark">'
WikiText = WikiText .. '<th>' .. Utils.Translate("Name") .. '</th>'
WikiText = WikiText .. '<th>' .. Utils.Translate("Value") .. '</th>'
WikiText = WikiText .. '</tr>'
-- FUTUR : ajout des stats animal (diet, habitat, drops, etc.)
WikiText = WikiText .. '</table>'
WikiText = WikiText .. '</div></div></div></div>'
return WikiText
end
return p