From 8d223359f4749c667a428a233d9179bd97051532 Mon Sep 17 00:00:00 2001 From: Johnnybegood90 Date: Thu, 12 Mar 2026 12:46:32 +0100 Subject: [PATCH] Fix: Debouncer into search engine. 350ms after last entry before live search. --- README.md | 13 +++++++------ src/js/search.js | 8 ++++++-- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 558fbaf..223c5bc 100644 --- a/README.md +++ b/README.md @@ -216,21 +216,22 @@ gridtv/ └── src/ ├── config.php # Config loader + migration ├── tpl/ # HTML templates - │ ├── head.php - │ ├── topbar.php - │ ├── grid.php - │ ├── modals.php - │ └── footer.php + │ ├── head.php # DOCTYPE, , CSS + │ ├── topbar.php # Topbar (nav, source switcher, search, theme) + │ ├── grid.php # Grid + mobile + PiP + overlays + │ ├── modals.php # Personal EPG modal + │ └── footer.php # JS modules loader, └── js/ # JavaScript modules ├── config.js # Constants + PHP-injected vars ├── utils.js # Helpers, clock, EPG fetch ├── epg.js # Grid rendering ├── mobile.js # Mobile list view ├── tooltip.js # Hover tooltip - ├── sources.js # Multi-EPG switcher + ├── sources.js # Multi-EPG switcher + Personal EPG ├── m3u.js # M3U parser ├── player.js # HLS PiP player ├── themes.js # Theme switcher + ├── search.js # Search + filter (debounced) └── live.js # Live updates + responsive ``` diff --git a/src/js/search.js b/src/js/search.js index 58543db..262a4e3 100644 --- a/src/js/search.js +++ b/src/js/search.js @@ -1,6 +1,7 @@ // ── SEARCH ──────────────────────────────────────────────────────────────────── let searchActive = false; let searchQuery = ''; +let searchTimer = null; function toggleSearch() { const bar = document.getElementById('searchBar'); @@ -21,8 +22,11 @@ function clearSearch() { } function onSearchInput(val) { - searchQuery = val.trim().toLowerCase(); - applySearch(searchQuery); + clearTimeout(searchTimer); + searchTimer = setTimeout(() => { + searchQuery = val.trim().toLowerCase(); + applySearch(searchQuery); + }, 350); } function applySearch(q) {