From 15361a21b6a55fff406d83e09984998991b3c140 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Enes=20Yak=C4=B1=C5=9Ft=C4=B1r?= Date: Mon, 31 Aug 2026 18:46:13 +0300 Subject: [PATCH] fix(search): restore dynamic recent searches in search modal and auto URL search capture v1.4.9 --- client.js | 40 +++++++++++++++++++++++++--------------- package.json | 2 +- 2 files changed, 26 insertions(+), 16 deletions(-) diff --git a/client.js b/client.js index c43ef65..8cc3988 100644 --- a/client.js +++ b/client.js @@ -1827,10 +1827,17 @@ function getRecentSearches() { try { var data = localStorage.getItem('yaktube_recent_searches'); - return data ? JSON.parse(data) : []; - } catch (e) { - return []; - } + if (data) { + var parsed = JSON.parse(data); + if (Array.isArray(parsed) && parsed.length > 0) return parsed; + } + } catch (e) {} + // Default initial recent searches for first-time visitors + var defaults = ['Tarkan', 'Barış Manço', 'Yapay Zeka', 'Canlı Haber']; + try { + localStorage.setItem('yaktube_recent_searches', JSON.stringify(defaults)); + } catch (e) {} + return defaults; } function saveRecentSearch(query) { @@ -1867,6 +1874,19 @@ { title: '🎙️ Podcast & Söyleşi', q: 'Podcast Türkçe' } ]; + // Auto capture search query from URL into recent searches + function captureUrlSearchQuery() { + try { + var params = new URLSearchParams(window.location.search); + var q = params.get('search') || params.get('q'); + if (q && q.trim().length >= 2) { + saveRecentSearch(q.trim()); + } + } catch (e) {} + } + captureUrlSearchQuery(); + window.addEventListener('popstate', captureUrlSearchQuery); + function renderDynamicSearchChips() { var modal = document.getElementById('yaktube-full-search-modal'); if (!modal) return; @@ -1970,17 +1990,7 @@ '
Lütfen aramak istediğiniz videoyu söyleyin...
' + '' + '' + - '
🔥 Hızlı ve Popüler Aramalar
' + - '
' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '
' + + '
' + '