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

нема опису редагування
Немає опису редагування
Немає опису редагування
Рядок 318: Рядок 318:
                 });
                 });
             }
             }
        }
    });
});
// ==================================================
// МОБІЛЬНИЙ ПОШУК
// ==================================================
$(function() {
    // Тільки на мобільних
    if ($(window).width() > 768) return;
   
    // Створюємо overlay для пошуку
    var $overlay = $('<div class="mobile-search-overlay">' +
        '<input type="search" placeholder="Пошук..." id="mobileSearchInput">' +
        '<span class="mobile-search-close">×</span>' +
    '</div>');
   
    $('body').append($overlay);
   
    var $input = $('#mobileSearchInput');
    var $close = $overlay.find('.mobile-search-close');
    var $searchIcon = $('#searchIcon');
   
    // Клік на іконку пошуку - відкриваємо
    $searchIcon.on('click', function(e) {
        e.preventDefault();
        e.stopPropagation();
        $overlay.addClass('active');
        $input.focus();
    });
   
    // Клік на хрестик - закриваємо
    $close.on('click', function() {
        $overlay.removeClass('active');
        $input.val('');
    });
   
    // Enter - пошук
    $input.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);
            }
        }
    });
   
    // Escape - закриваємо
    $(document).on('keydown', function(e) {
        if (e.which === 27 && $overlay.hasClass('active')) {
            $overlay.removeClass('active');
            $input.val('');
        }
    });
   
    // Клік поза overlay - закриваємо
    $overlay.on('click', function(e) {
        if (e.target === this) {
            $overlay.removeClass('active');
            $input.val('');
         }
         }
     });
     });
});
});