Module:TagInfoCard

De Eco - Wiki Français
Version datée du 17 novembre 2025 à 20:16 par BuloBon (discussion | contributions) (Page créée avec « local p = {} local Utils = require('Module:Utils') local IconUtils = require('Module:IconUtils') local RecipeUtils = require('Module:RecipeUtils') local Lang = Utils.getLanguageName() function p.main(frame) -- Récupération du nom de la page local NomPage = frame.args[1] -- Supprimer le suffixe "Tag" si présent local TagSuffixe = string.gsub(Utils.Translate("{0} Tag"), "{0}", "") NomPage = string.gsub(NomPage, TagSuffixe, "") -- Dé... »)
(diff) ← Version précédente | Version actuelle (diff) | Version suivante → (diff)
Aller à :navigation, rechercher

La documentation pour ce module peut être créée à Module:TagInfoCard/doc

local p = {}

local Utils = require('Module:Utils')
local IconUtils = require('Module:IconUtils')
local RecipeUtils = require('Module:RecipeUtils')

local Lang = Utils.getLanguageName()

function p.main(frame)
    -- Récupération du nom de la page
    local NomPage = frame.args[1]

    -- Supprimer le suffixe "Tag" si présent
    local TagSuffixe = string.gsub(Utils.Translate("{0} Tag"), "{0}", "")
    NomPage = string.gsub(NomPage, TagSuffixe, "")

    -- Déterminer le nom interne du tag selon la langue
    local NomTag
    if Lang == 'English' then
        NomTag = NomPage
    else
        NomTag = Utils.TagSearch(NomPage)
    end

    -- Charger les modules de données
    local TagData = require("Module:TagData")
    local ItemData = require("Module:ItemData")
    
    -- Récupérer les données du tag
    local Tag = TagData.tags[NomTag]
    if not Tag then
        return "Tag introuvable : " .. NomTag
    end

    local TagID = Tag.ID
    local ListeItems = Tag.Items

    -- Début du texte Wiki
    local WikiTexte = ""
    WikiTexte = WikiTexte .. "__NOTOC__"
    WikiTexte = WikiTexte .. "Nom de la page : " .. NomPage .. "</br>"
    WikiTexte = WikiTexte .. "Nom du tag : " .. NomTag .. "</br>"

    -- Catégorie
    WikiTexte = WikiTexte .. "[[Catégorie:" .. Utils.Translate("Tags") .. "]]"

    -- Icône du tag
    WikiTexte = WikiTexte .. IconUtils.main{
        name = Tag.Name[Lang],
        id = TagID,
        size = 128,
        style = 4,
    }

    -- Liste des items associés
    WikiTexte = WikiTexte .. "<h3>" .. Utils.Translate("Items in Tag", "Objets avec ce tag") .. " :</h3>"
    WikiTexte = WikiTexte .. '<div class="row">'

    for _, NomItem in pairs(ListeItems) do
        local Item = ItemData.items[NomItem]
        if Item then
            WikiTexte = WikiTexte .. IconUtils.main{
                name = Item.Name[Lang],
                id = Item.ID,
                size = 128,
                style = 4,
                link = Item.Name[Lang]
            }
        end
    end

    WikiTexte = WikiTexte .. "</div>"

    -- Objets utilisant ce tag dans des recettes
    local RecetteTagIngredients = RecipeUtils.TagIngredient(NomTag)
    if RecetteTagIngredients ~= "" then
        WikiTexte = WikiTexte .. "<h3>" .. Utils.Translate("Used in", "Utilisé dans") .. " :</h3>"
        WikiTexte = WikiTexte .. RecipeUtils.CraftTable(RecetteTagIngredients)
    end

    return WikiTexte
end

return p