-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcontent_script.js
42 lines (36 loc) · 1.36 KB
/
content_script.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
chrome.runtime.onMessage.addListener((message, sender, sendResponse) => {
if (message.action === "displaySuggestions") {
const suggestions = message.suggestions;
const suggestionBox = document.querySelector('.aajZCb');
const searchInput = document.querySelector('[name="q"]');
suggestionBox.innerHTML = "";
suggestions.forEach((suggestion) => {
const suggestionItem = document.createElement("li");
suggestionItem.className = "sbct"; // Mimic Google's suggestion styling
suggestionItem.innerHTML = `<span>${suggestion}</span>`;
suggestionItem.addEventListener("click", () => {
searchInput.value = suggestion;
searchInput.form.submit();
});
suggestionBox.appendChild(suggestionItem);
});
}
});
document.addEventListener("DOMContentLoaded", () => {
console.log("fired");
chrome.runtime.sendMessage({ action: "fetchKeywords" });
const searchInput = document.querySelector('[name="q"]');
console.log(searchInput);
if (searchInput) {
let debounceTimer;
searchInput.addEventListener("input", (event) => {
console.log("search input");
clearTimeout(debounceTimer);
debounceTimer = setTimeout(() => {
const query = event.target.value;
console.log("call llm");
chrome.runtime.sendMessage({ action: "userSearchQuery", query });
}, 200);
});
}
});