Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c6e147ab93 | ||
|
|
8d223359f4 |
@@ -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, <head>, 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, </body></html>
|
||||
└── 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
|
||||
```
|
||||
|
||||
|
||||
@@ -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) {
|
||||
clearTimeout(searchTimer);
|
||||
searchTimer = setTimeout(() => {
|
||||
searchQuery = val.trim().toLowerCase();
|
||||
applySearch(searchQuery);
|
||||
}, 350);
|
||||
}
|
||||
|
||||
function applySearch(q) {
|
||||
|
||||
Reference in New Issue
Block a user