Basculer le menu
Changer de menu des préférences
Basculer le menu personnel
Non connecté(e)
Votre adresse IP sera visible au public si vous faites des modifications.

« Module:MinecraftConnect » : différence entre les versions

De Nefald
Hiob (discussion | contributions)
Annulation des modifications 3794 de Hiob (discussion)
Balise : Annulation
Hiob (discussion | contributions)
Aucun résumé des modifications
 
(6 versions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
local p = {}
local p = {}


function p.render(frame)
function p.button(frame)
     local args = frame:getParent().args
    -- Récupération des arguments
      
     local args = frame.args
    local serveur = mw.text.trim(args.serveur or '')
     if not args[1] and frame:getParent() then
    local port = mw.text.trim(args.port or ':25565')
        args = frame:getParent().args
    local texte = mw.text.trim(args.texte or "Copier l'adresse")
    local image = mw.text.trim(args.image or 'Minecraft-icon.svg')
    local color = mw.text.trim(args.color or 'minecraft')
    local align = mw.text.trim(args.align or '')
   
    local classWrapper = 'mc-connect-wrapper mc-connect--' .. color
    if align ~= '' then
        classWrapper = classWrapper .. ' mc-connect--align-' .. align
     end
     end
      
      
     local serverAddress = serveur .. port
     local server = mw.text.trim(args[1] or args.serveur or 'play.exemple.fr')
   
     local port = mw.text.trim(args[2] or args.port or '25565')
    -- Image Wikitext
    local texte = mw.text.trim(args[3] or args.texte or "Copier l'adresse")
     local imageWikitext = frame:preprocess('[[Fichier:' .. image .. '|40px|link=|alt=Minecraft]]')
      
      
     -- Construction HTML
     -- Construction de l'adresse complète
     local html = mw.html.create('div')
     local adresseComplete = (port == '25565') and server or (server .. ':' .. port)
        :addClass(classWrapper)
        :attr('data-server', serverAddress)
        :node(
            mw.html.create('button')
                :addClass('mc-connect-btn')
                :attr('onclick', 'copyMinecraftServer(this)')
                :attr('aria-label', "Copier l'adresse du serveur")
                :node(
                    mw.html.create('div')
                        :addClass('mc-connect-content')
                        :wikitext(imageWikitext .. " '''" .. texte .. "'''")
                )
        )
        :node(
            mw.html.create('span')
                :addClass('mc-connect-feedback')
                :wikitext('✓ Copié !')
        )
      
      
     local styles = frame:extensionTag('templatestyles', '', {src='MinecraftConnect/styles.css'})
    -- Création d'un simple span avec data attributes (comme PreToClip)
     local container = mw.html.create('span')
        :addClass('minecraft-connect-wrapper')
        :attr('data-mc-server', adresseComplete)
        :attr('data-mc-text', texte)
        :wikitext(texte .. ' 📋')
      
      
     return styles .. tostring(html)
     return tostring(container)
end
end


return p
return p

Dernière version du 10 novembre 2025 à 13:51

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

local p = {}

function p.button(frame)
    -- Récupération des arguments
    local args = frame.args
    if not args[1] and frame:getParent() then
        args = frame:getParent().args
    end
    
    local server = mw.text.trim(args[1] or args.serveur or 'play.exemple.fr')
    local port = mw.text.trim(args[2] or args.port or '25565')
    local texte = mw.text.trim(args[3] or args.texte or "Copier l'adresse")
    
    -- Construction de l'adresse complète
    local adresseComplete = (port == '25565') and server or (server .. ':' .. port)
    
    -- Création d'un simple span avec data attributes (comme PreToClip)
    local container = mw.html.create('span')
        :addClass('minecraft-connect-wrapper')
        :attr('data-mc-server', adresseComplete)
        :attr('data-mc-text', texte)
        :wikitext(texte .. ' 📋')
    
    return tostring(container)
end

return p
Les témoins (''cookies'') nous aident à fournir nos services. En utilisant nos services, vous acceptez notre utilisation de témoins.