Aller au contenu

MediaWiki:Common.js

De AECFC

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 () {
    $('a.mw-wiki-logo, a.mw-logo')
        .attr('href', 'Accueil')
        .attr('title', 'Retour a l'accueil');
});
*/

mw.loader.using('mediawiki.util').then(function () {

    function createAecfcHeaderLinks() {
        const logoLink = document.querySelector('a.mw-logo');

        if (!logoLink) {
            return;
        }

        // Évite une création en double
        if (document.querySelector('.aecfc-header-links')) {
            return;
        }

        // Supprime le titre et le sous-titre natifs du lien du logo
        const nativeTextContainer =
            logoLink.querySelector('.mw-logo-container');

        if (nativeTextContainer) {
            nativeTextContainer.remove();
        }

        // Le logo graphique reste lié au site public
        logoLink.href = 'https://aecfc.org/';
        logoLink.title = 'Site officiel de l’AECFC';

        // Nouveau bloc de liens à droite du logo
        const textBlock = document.createElement('div');
        textBlock.className = 'aecfc-header-links';

        const links = [
            {
                text: 'Accueil',
                page: 'Accueil',
                className: 'aecfc-header-title'
            },
            {
                text: 'Devoirs',
                page: 'Devoirs',
                className: 'aecfc-header-subtitle'
            }
        ];

        links.forEach(function (item) {
            const link = document.createElement('a');

            link.textContent = item.text;
            link.href = mw.util.getUrl(item.page);
            link.className = item.className;

            textBlock.appendChild(link);
        });

        logoLink.insertAdjacentElement('afterend', textBlock);
    }

    if (document.readyState === 'loading') {
        document.addEventListener(
            'DOMContentLoaded',
            createAecfcHeaderLinks,
            { once: true }
        );
    } else {
        createAecfcHeaderLinks();
    }
});