Module:AnimalInfoCard

De Eco - Wiki Français
Aller à :navigation, rechercher

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