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.
Version datée du 10 novembre 2025 à 13:47 par Hiob (discussion | contributions)

Note : après avoir publié vos modifications, il se peut que vous deviez forcer le rechargement complet du cache de votre navigateur pour voir les changements.

  • Firefox / Safari : maintenez la touche Maj (Shift) en cliquant sur le bouton Actualiser ou appuyez sur Ctrl + F5 ou Ctrl + R (⌘ + R sur un Mac).
  • Google Chrome : appuyez sur Ctrl + Maj + R (⌘ + Shift + R sur un Mac).
  •  Edge : maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl + F5.
/* Tout JavaScript présent ici sera exécuté par tous les utilisateurs à chaque chargement de page. */
$( function () {
    $( '.citizen-search-trigger' ).on( 'click', function () {
        $( '#searchInput' ).focus();
    } );

    // Raccourci Ctrl+K (ou Cmd+K sur Mac)
    $( document ).on( 'keydown', function ( e ) {
        if ( ( e.ctrlKey || e.metaKey ) && e.key === 'k' ) {
            e.preventDefault();
            $( '#searchInput' ).focus();
        }
    } );
} );


// Gestion des boutons Minecraft Connect (inspiré de PreToClip)
(function() {
    'use strict';
    
    mw.hook('wikipage.content').add(function($content) {
        $content.find('.minecraft-connect-btn').each(function() {
            var $btn = $(this);
            
            // Éviter la double initialisation
            if ($btn.data('mc-initialized')) return;
            $btn.data('mc-initialized', true);
            
            $btn.on('click', function(e) {
                e.preventDefault();
                var textToCopy = $btn.attr('data-copy-text');
                
                copyToClipboard(textToCopy, $btn);
            });
        });
    });
    
    function copyToClipboard(text, $button) {
        var originalText = $button.text();
        
        // Méthode moderne (Clipboard API)
        if (navigator.clipboard && window.isSecureContext) {
            navigator.clipboard.writeText(text).then(function() {
                showSuccess($button, originalText, text);
            }).catch(function(err) {
                fallbackCopy(text, $button, originalText);
            });
        } else {
            fallbackCopy(text, $button, originalText);
        }
    }
    
    function fallbackCopy(text, $button, originalText) {
        var $temp = $('<textarea>')
            .css({
                position: 'fixed',
                top: 0,
                left: 0,
                width: '2em',
                height: '2em',
                padding: 0,
                border: 'none',
                outline: 'none',
                boxShadow: 'none',
                background: 'transparent',
                opacity: 0
            })
            .val(text)
            .appendTo('body')
            .select();
        
        try {
            var successful = document.execCommand('copy');
            if (successful) {
                showSuccess($button, originalText, text);
            } else {
                showError($button, originalText);
            }
        } catch (err) {
            showError($button, originalText);
        }
        
        $temp.remove();
    }
    
    function showSuccess($button, originalText, copiedText) {
        // Notification MediaWiki (comme PreToClip)
        mw.notify('Adresse copiée : ' + copiedText, {
            type: 'success',
            autoHide: true,
            tag: 'minecraft-copy'
        });
        
        // Feedback visuel sur le bouton
        $button
            .text('✓ Copié !')
            .prop('disabled', true)
            .removeClass('mw-ui-progressive')
            .addClass('mw-ui-constructive');
        
        setTimeout(function() {
            $button
                .text(originalText)
                .prop('disabled', false)
                .removeClass('mw-ui-constructive')
                .addClass('mw-ui-progressive');
        }, 2000);
    }
    
    function showError($button, originalText) {
        mw.notify('Erreur lors de la copie', {
            type: 'error',
            autoHide: true
        });
        
        $button
            .text('✗ Erreur')
            .removeClass('mw-ui-progressive')
            .addClass('mw-ui-destructive');
        
        setTimeout(function() {
            $button
                .text(originalText)
                .removeClass('mw-ui-destructive')
                .addClass('mw-ui-progressive');
        }, 2000);
    }
    
}());
Les témoins (''cookies'') nous aident à fournir nos services. En utilisant nos services, vous acceptez notre utilisation de témoins.