5737
редагувань
Admin (обговорення | внесок) Немає опису редагування |
Admin (обговорення | внесок) Немає опису редагування |
||
| Рядок 400: | Рядок 400: | ||
// Клік поза overlay - закриваємо | // Клік поза overlay - закриваємо | ||
$overlay.on('click', function(e) { | |||
if (e.target === this) { | |||
$overlay.removeClass('active'); | |||
$input.val(''); | |||
} | |||
}); | |||
}); | |||
/* ==================================================== */ | |||
/* МОБІЛЬНИЙ ПОШУК - ІКОНКА + OVERLAY */ | |||
/* ==================================================== */ | |||
$(function() { | |||
// Тільки для мобільних | |||
if (window.innerWidth > 768) return; | |||
// Створюємо кнопку пошуку | |||
var $searchBtn = $('<div class="mobile-search-btn">' + | |||
'<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="#fff" stroke-width="2">' + | |||
'<circle cx="11" cy="11" r="8"/>' + | |||
'<path d="m21 21-4.35-4.35"/>' + | |||
'</svg>' + | |||
'</div>'); | |||
// Створюємо overlay | |||
var $overlay = $('<div class="mobile-search-overlay">' + | |||
'<input type="text" placeholder="Пошук..." autocomplete="off" autocapitalize="off">' + | |||
'<div class="mobile-search-close">×</div>' + | |||
'</div>'); | |||
// Додаємо в DOM | |||
$('.minerva-header .branding-box').after($searchBtn); | |||
$('body').append($overlay); | |||
var $input = $overlay.find('input'); | |||
var $close = $overlay.find('.mobile-search-close'); | |||
// Відкриття пошуку | |||
$searchBtn.on('click', function(e) { | |||
e.preventDefault(); | |||
e.stopPropagation(); | |||
$overlay.addClass('active'); | |||
setTimeout(function() { | |||
$input.focus(); | |||
}, 100); | |||
}); | |||
// Закриття пошуку | |||
$close.on('click', function() { | |||
$overlay.removeClass('active'); | |||
$input.val(''); | |||
}); | |||
// Enter - пошук | |||
$input.on('keydown', function(e) { | |||
if (e.keyCode === 13) { // Enter | |||
var query = $input.val().trim(); | |||
if (query) { | |||
window.location.href = '/index.php?title=Спеціальна:Пошук&search=' + encodeURIComponent(query); | |||
} | |||
} | |||
if (e.keyCode === 27) { // Escape | |||
$overlay.removeClass('active'); | |||
$input.val(''); | |||
} | |||
}); | |||
// Клік поза overlay - закриття | |||
$overlay.on('click', function(e) { | $overlay.on('click', function(e) { | ||
if (e.target === this) { | if (e.target === this) { | ||