MediaWiki:Common.js: відмінності між версіями

нема опису редагування
Немає опису редагування
Немає опису редагування
Рядок 309: Рядок 309:
         }
         }
     });
     });
});
// ==================================================
// БЛОКУВАННЯ MINERVA SEARCH OVERLAY (ДЕСКТОП)
// ==================================================
$(function() {
    // Тільки для десктопа
    if ($(window).width() <= 768) return;
   
    var $searchInput = $('#searchInput');
    if ($searchInput.length === 0) return;
   
    // Затримка щоб DOM завантажився
    setTimeout(function() {
        // Змінюємо placeholder
        $searchInput.attr('placeholder', 'Пошук...');
       
        // Клонуємо input щоб прибрати всі event listeners
        var $newInput = $searchInput.clone(false);
        $searchInput.replaceWith($newInput);
        $searchInput = $newInput;
       
        // Прибираємо readonly і класи тригера
        $searchInput.prop('readonly', false);
        $searchInput.removeAttr('readonly');
        $searchInput.removeClass('skin-minerva-search-trigger');
       
        // При фокусі - блокуємо overlay
        $searchInput.on('focus click', function(e) {
            e.stopPropagation();
           
            // Прибираємо overlay класи з body
            $('body').removeClass('overlay-enabled search-enabled');
           
            // Видаляємо overlay елементи
            $('.overlay, .search-overlay').hide();
           
            // Прибираємо hash
            if (window.location.hash === '#/search') {
                history.replaceState(null, null, window.location.pathname);
            }
        });
       
        // При Enter - перехід на сторінку пошуку
        $searchInput.on('keydown', function(e) {
            if (e.which === 13 || e.keyCode === 13) {
                e.preventDefault();
                var query = $(this).val().trim();
                if (query) {
                    window.location.href = '/index.php?title=Спеціальна:Пошук&search=' + encodeURIComponent(query);
                }
                return false;
            }
        });
       
    }, 100);
   
    // Блокуємо hashchange на #/search
    $(window).on('hashchange', function(e) {
        if (window.location.hash === '#/search') {
            e.preventDefault();
            history.replaceState(null, null, window.location.pathname);
            $('body').removeClass('overlay-enabled search-enabled');
            $('.overlay, .search-overlay').hide();
        }
    });
   
    // Перевіряємо hash при завантаженні
    if (window.location.hash === '#/search') {
        history.replaceState(null, null, window.location.pathname);
    }
});
});