Lompat ke isi

MediaWiki:Common.js

Dari Wikisporta, ensiklopedia olahraga

Catatan: Setelah menerbitkan, Anda mungkin perlu melewati tembolok peramban web Anda untuk melihat perubahan.

  • Firefox/Safari: Tekan dan tahan Shift sembari mengeklik Reload, atau tekan Ctrl-F5 atau Ctrl-R (⌘-R di Mac)
  • Google Chrome: Tekan Ctrl-Shift-R (⌘-Shift-R di Mac)
  • Edge: Tahan Ctrl sembari mengeklik Refresh, atau tekan Ctrl-F5
mw.hook('wikipage.content').add(function ($content) {
    // KHUSUS HALAMAN UTAMA
    if (!mw.config.get('wgIsMainPage')) {
        return;
    }

    // Cari link bawaan template yang punya kata "Selengkapnya"
    $content.find('a').filter(function () {
        return $(this).text().indexOf('Selengkapnya') !== -1;
    }).first().each(function () {
        var $originalLink = $(this);
        var originalUrl = $originalLink.attr('href'); // Ambil link artikel aslinya
        var $container = $originalLink.closest('p, div');

        if ($container.length && !$container.hasClass('mp-expand-processed')) {
            // Terapkan class lipatan pada container teks
            $container.addClass('mainpage-featured-box is-collapsed mp-expand-processed');

            // Buat tombol pengganti yang SELALU KELIHATAN di luar lipatan
            var $customBtn = $('<a>', {
                'class': 'custom-readmore-btn',
                'html': '(Selengkapnya.....)',
                'href': 'javascript:void(0);' // Mencegah reload sebelum diklik
            });

            // Sisipkan tombol buatan tepat di bawah container teks
            $container.after($customBtn);

            var isExpanded = false;

            // Handle Klik
            $customBtn.on('click', function (e) {
                if (!isExpanded) {
                    e.preventDefault();
                    // KLIK 1: Buka lipatan animasi & hilangkan efek samar
                    $container.removeClass('is-collapsed').addClass('is-expanded');
                    isExpanded = true;
                    
                    // Ubah link tombol menjadi URL artikel asli untuk klik kedua
                    $customBtn.attr('href', originalUrl);
                } 
                // KLIK 2: Karena href sudah diisi originalUrl, browser otomatis pindah halaman!
            });
        }
    });
});