From 7fbaa88fbca1ba24473eb1e00c0b887991fe6e1f Mon Sep 17 00:00:00 2001 From: Kayla Fitzsimmons Date: Mon, 9 Sep 2024 19:08:35 -0700 Subject: [PATCH 1/2] wip pushing with errors --- .../src/pages/background/index.ts | 17 ++++++++ .../src/pages/content/mocksi-extension.tsx | 41 +++++++++++-------- 2 files changed, 42 insertions(+), 16 deletions(-) diff --git a/apps/mocksi-lite-next/src/pages/background/index.ts b/apps/mocksi-lite-next/src/pages/background/index.ts index cce5b8b..6fbd8b0 100644 --- a/apps/mocksi-lite-next/src/pages/background/index.ts +++ b/apps/mocksi-lite-next/src/pages/background/index.ts @@ -8,6 +8,17 @@ let prevRequest = { message: "INIT", }; +let port: chrome.runtime.Port; + +chrome.runtime.onConnectExternal.addListener((t) => { + port = t; + console.log("port:", t); + t.onMessage.addListener((res) => { + console.log("sw recieved message:", res); + port.postMessage("hello from backgrounds script!"); + }); +}); + const getAuth = async (): Promise { // when user clicks toolbar mount extension chrome.action.onClicked.addListener((tab) => { + console.log("port on icon click:", port); if (!tab?.id) { console.log("No tab found, could not mount extension"); return; @@ -107,6 +119,11 @@ chrome.action.onClicked.addListener((tab) => { chrome.runtime.onMessage.addListener( (request, _sender, sendResponse): boolean => { + console.log(request); + + if (request === "close") { + port.postMessage("close!"); + } sendResponse({ data: request.data, message: request.message, diff --git a/apps/mocksi-lite-next/src/pages/content/mocksi-extension.tsx b/apps/mocksi-lite-next/src/pages/content/mocksi-extension.tsx index a488369..bda78f4 100644 --- a/apps/mocksi-lite-next/src/pages/content/mocksi-extension.tsx +++ b/apps/mocksi-lite-next/src/pages/content/mocksi-extension.tsx @@ -5,6 +5,24 @@ import ReactDOM from "react-dom"; import { createRoot } from "react-dom/client"; import { getHighlighter } from "./highlighter"; +// function mountTopToolbar() { +// const el = document.createElement("div"); +// el.id = "mocksi-toolbar"; +// el.style.width = "100%"; +// el.style.height = "50px"; +// el.style.background = "pink"; +// document.body.prepend(el); + +// const host = document.querySelector("#mocksi-toolbar"); +// const shadow = host?.attachShadow({ mode: "open" }); +// const span = document.createElement("button"); +// span.addEventListener("click", () => { +// chrome.runtime.sendMessage("close"); +// }); +// span.innerText = "close"; +// shadow.appendChild(span); +// } + const STORAGE_CHANGE_EVENT = "MOCKSI_STORAGE_CHANGE"; const div = document.createElement("div"); @@ -172,12 +190,6 @@ chrome.runtime.onMessage.addListener((request) => { (async () => { let data = null; - if (request.message === "CHAT_NEW_MESSAGE") { - sendResponse({ - message: request.message, - status: "ok", - }); - } // reactor if (request.message === "EDITING" || request.message === "PLAY") { for (const mod of request.data.edits) { @@ -214,19 +226,9 @@ chrome.runtime.onMessage.addListener((request) => { Object.assign(iframeRef.current.style, styles); } } - - if (request.message === "CHAT") { - sendResponse({ - data: reactor.exportDOM(), - message: request.message, - status: "ok", - }); - } - if (request.message === "CHAT") { reactor.attach(document, getHighlighter()); } - if (request.message === "CHAT_MESSAGE") { data = reactor.exportDOM(); } @@ -250,6 +252,13 @@ chrome.runtime.onMessage.addListener((request) => { return (
+ {ReactDOM.createPortal( <>