From dd2d3b1d97c17b32be81742a15390c437b8dc55f Mon Sep 17 00:00:00 2001 From: n4ze3m Date: Tue, 11 Apr 2023 16:41:45 +0530 Subject: [PATCH] new changes in extension --- extension/background.ts | 25 +++++++++++++++++++++++++ extension/content.ts | 6 ++++-- extension/package.json | 4 +++- 3 files changed, 32 insertions(+), 3 deletions(-) create mode 100644 extension/background.ts diff --git a/extension/background.ts b/extension/background.ts new file mode 100644 index 0000000..bec1954 --- /dev/null +++ b/extension/background.ts @@ -0,0 +1,25 @@ +export {}; + +const toogle = () => { + const iframe = document.getElementById("pageassist-iframe"); + const widget = document.getElementById("pageassist-icon"); + if (iframe) { + const display = iframe.style.display; + if (display === "none") { + if (widget) { + widget.style.display = "none"; + } + iframe.style.display = "block"; + } else { + iframe.style.display = "none"; + // if user enabled show widget in settings and close from action then show widget will be disappear inorder to show widget again we need to reload the page + } + } +}; + +chrome.action.onClicked.addListener((tab) => { + chrome.scripting.executeScript({ + target: { tabId: tab.id }, + func: toogle, + }); +}); diff --git a/extension/content.ts b/extension/content.ts index f6db3e1..45881de 100644 --- a/extension/content.ts +++ b/extension/content.ts @@ -83,8 +83,10 @@ const main = async () => { window.addEventListener("message", function (event) { if (event.data === "pageassist-close") { iframe.style.display = "none"; - toggleIcon.style.display = "block"; - toggleIcon.classList.remove("hidden"); + if (!isChatWidgetEnabled) { + toggleIcon.style.display = "block"; + toggleIcon.classList.remove("hidden"); + } } else if (event.data === "pageassist-html") { console.log("pageassist-html"); let html = document.documentElement.outerHTML; diff --git a/extension/package.json b/extension/package.json index cf97286..b29ed84 100644 --- a/extension/package.json +++ b/extension/package.json @@ -52,7 +52,9 @@ } ], "permissions": [ - "storage" + "storage", + "activeTab", + "scripting" ] } } \ No newline at end of file