Skip to content
Snippets Groups Projects
background.js 2.14 KiB
Newer Older
  • Learn to ignore specific revisions
  • browser.runtime.onMessage.addListener(async function(request, sender, sendResponse) {
    
    makaveli10's avatar
    makaveli10 committed
      const { action, data } = request;
      if (action === "transcript") {
    
        await browser.tabs.query({ active: true, currentWindow: true })
    
    makaveli10's avatar
    makaveli10 committed
          .then((tabs) => {
            const tabId = tabs[0].id;
            browser.tabs.sendMessage(tabId, { action: "show_transcript", data });
          })
          .catch((error) => {
            console.error("Error retrieving active tab:", error);
          });
      }
    
      if (action === "updateSelectedLanguage") {
        const detectedLanguage = data;
    
        try {
          await browser.storage.local.set({ selectedLanguage: detectedLanguage });
          browser.tabs.query({ active: true, currentWindow: true }).then((tabs) => {
            const tabId = tabs[0].id;
            browser.tabs.sendMessage(tabId, { action: "updateSelectedLanguage", detectedLanguage });
          });
        } catch (error) {
          console.error("Error updateSelectedLanguage:", error);
        }
      }
      if (action === "toggleCaptureButtons") {    
        try {
          await browser.storage.local.set({ capturingState: { isCapturing: false } });
          browser.tabs.query({ active: true, currentWindow: true }).then((tabs) => {
            const tabId = tabs[0].id;
            browser.tabs.sendMessage(tabId, { action: "toggleCaptureButtons", data: false });
          });
        } catch (error) {
          console.error("Error updating capturing state:", error);
        }
    
        try{
          await browser.tabs.query({ active: true, currentWindow: true })
            .then((tabs) => {
              const tabId = tabs[0].id;
              browser.tabs.sendMessage(tabId, { action: "stopCapture", data });
            })
            .catch((error) => {
              console.error("Error retrieving active tab:", error);
            }); 
        } catch (error) {
          console.error(error);
        }
      }
      
      if (action === "showPopup") {
        try{
          await browser.tabs.query({ active: true, currentWindow: true })
            .then((tabs) => {
              const tabId = tabs[0].id;
              browser.tabs.sendMessage(tabId, { action: "showWaitPopup", data });
            })
            .catch((error) => {
              console.error(error);
            });
        } catch (error) {
          console.error(error);
    
    makaveli10's avatar
    makaveli10 committed
    });