MediaWiki:Common.js: Perbedaan antara revisi

Tidak ada ringkasan suntingan
Tanda: Suntingan perangkat seluler Suntingan peramban seluler
Tidak ada ringkasan suntingan
Tanda: Suntingan perangkat seluler Suntingan peramban seluler
Baris 121: Baris 121:




/* Smart Search Overlay - Spesialis Mobile */
/* 1. Auto-Hide Header (Minerva Mobile Optimized) */
$(document).ready(function() {
$(document).ready(function() {
     // Cari tombol search bawaan (ikon kaca pembesar)
     var lastScrollTop = 0;
     var searchBtn = $('#searchIcon, .mw-ui-icon-minerva-search');
    var delta = 5;
     var navbarHeight = $('.header-container').outerHeight() || 50;


     if (searchBtn.length) {
     $(window).scroll(function() {
        searchBtn.click(function(e) {
        var st = $(this).scrollTop();
             // Cegah buka halaman search standar kalau di HP
       
             if ($(window).width() < 768) {
        // Cek scroll harus lebih dari delta
                 e.preventDefault();
        if(Math.abs(lastScrollTop - st) <= delta) return;
                 showSearchOverlay();
       
        // Scroll ke bawah & sudah lewat navbar
        if (st > lastScrollTop && st > navbarHeight){
            // Sembunyiin Header
            $('.header-container, .minerva-header').css({
                'transform': 'translateY(-100%)',
                'transition': 'transform 0.3s ease-in-out'
            });
        } else {
             // Scroll ke atas
             if(st + $(window).height() < $(document).height()) {
                 $('.header-container, .minerva-header').css({
                    'transform': 'translateY(0)',
                    'transition': 'transform 0.3s ease-in-out'
                 });
             }
             }
         });
         }
    }
        lastScrollTop = st;
    });
});


    function showSearchOverlay() {
/* 2. Tombol Salin Cepat (Copy to Clipboard) */
        var overlayHtml = '<div id="custom-search-overlay" style="position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(255,255,255,0.98); z-index:20000; display:flex; flex-direction:column; align-items:center; padding-top:50px; opacity:0; transition:all 0.4s ease;">' +
$(document).ready(function() {
            '<div id="close-search" style="position:absolute; top:20px; right:20px; font-size:30px; cursor:pointer; color:#333;">×</div>' +
    if (mw.config.get('wgIsArticle')) {
             '<h2 style="margin-bottom:20px; color:#36c; font-family:sans-serif;">Cari di Mippedia</h2>' +
        // Targetkan elemen pre, code, atau blockquote
             '<form action="/w/index.php" method="get" style="width:85%;">' +
        $('pre, code, blockquote').each(function() {
                '<input type="hidden" name="title" value="Istimewa:Pencarian">' +
             var $this = $(this);
                '<input type="search" name="search" placeholder="Ketik kata kunci..." autofocus style="width:100%; padding:15px; border:2px solid #36c; border-radius:30px; font-size:18px; outline:none; box-shadow:0 4px 10px rgba(54,102,204,0.1);">' +
             $this.css('position', 'relative');
                '<button type="submit" style="margin-top:20px; width:100%; background:#36c; color:#fff; border:none; padding:12px; border-radius:30px; font-weight:bold; font-size:16px;">Cari Sekarang</button>' +
           
            '</form>' +
            var $copyBtn = $('<div style="position:absolute; top:5px; right:5px; background:#36c; color:#fff; padding:2px 8px; border-radius:4px; font-size:10px; cursor:pointer; opacity:0.6;">SALIN</div>');
            '</div>';
 
        if ($('#custom-search-overlay').length === 0) {
            $('body').append(overlayHtml);
              
              
             // Animasi masuk
             $copyBtn.click(function() {
            setTimeout(function() {
                 var text = $this.text();
                 $('#custom-search-overlay').css('opacity', '1');
                navigator.clipboard.writeText(text).then(function() {
            }, 10);
                    $copyBtn.text('BERHASIL!').css('background', '#00af89');
 
                    setTimeout(function() {
            // Fungsi tutup
                        $copyBtn.text('SALIN').css('background', '#36c');
            $('#close-search, #custom-search-overlay').click(function(e) {
                    }, 2000);
                if (e.target !== this && e.target.id !== 'close-search') return;
                });
                $('#custom-search-overlay').css('opacity', '0');
                setTimeout(function() { $('#custom-search-overlay').remove(); }, 400);
             });
             });
         }
           
            $this.append($copyBtn);
         });
     }
     }
});
});