diff --git a/src/background.ts b/src/background.ts index e69de29..4fc9a4f 100644 --- a/src/background.ts +++ b/src/background.ts @@ -0,0 +1 @@ +chrome.runtime.onMessage.addListener((request, sender, sendResponse) => {}); diff --git a/src/content.ts b/src/content.ts index 3db23c6..7df61b9 100644 --- a/src/content.ts +++ b/src/content.ts @@ -1,6 +1,7 @@ window.addEventListener("sendToExtension", ((event: CustomEvent) => { const data = event.detail; chrome.storage.local.set({ "overlay-kit": data }); + chrome.runtime.sendMessage({ type: "SYNC_STATE" }); }) as EventListener); chrome.runtime.onMessage.addListener((message, sender, sendResponse) => { @@ -12,5 +13,5 @@ chrome.runtime.onMessage.addListener((message, sender, sendResponse) => { }); window.addEventListener("beforeunload", function () { - chrome.storage.local.set({ "overlay-kit": [] }); + chrome.storage.local.remove("overlay-kit"); }); diff --git a/src/pop-up/app.tsx b/src/pop-up/app.tsx index 4250dbc..dc7a5a4 100644 --- a/src/pop-up/app.tsx +++ b/src/pop-up/app.tsx @@ -10,22 +10,34 @@ export type OverlayItem = { export default function App() { const [overlayList, setOverlayList] = useState(null); + const [currentId, setCurrentId] = useState(); useEffect(() => { + chrome.runtime.onMessage.addListener((request, sender, sendResponse) => { + chrome.storage.local.get("overlay-kit", (result) => { + setOverlayList(result["overlay-kit"]["overlayList"]); + setCurrentId(result["overlay-kit"]["currentId"]); + }); + }); + chrome.storage.local.get("overlay-kit", (result) => { - setOverlayList(result["overlay-kit"]); + setOverlayList(result["overlay-kit"]["overlayList"]); + setCurrentId(result["overlay-kit"]["currentId"]); }); }, []); const isExistOverlayList = overlayList !== null && overlayList.length !== 0; + const isexistOverlayData = isExistOverlayList || currentId; return ( -

- {!isExistOverlayList && Hello world!} +
+ {!isexistOverlayData && Hello world!} + {currentId && currentId: {currentId}} {isExistOverlayList && overlayList.map((item) => ( ))} -

+ ); }