|
@@ -4,25 +4,26 @@ import Prelude
|
|
|
|
|
|
|
|
import Browser.WebExt.BrowserAction (onClickedAddListener)
|
|
import Browser.WebExt.BrowserAction (onClickedAddListener)
|
|
|
import Browser.WebExt.Listener (mkListener)
|
|
import Browser.WebExt.Listener (mkListener)
|
|
|
-import Browser.WebExt.Message (Message, mkMessage, displayMessage)
|
|
|
|
|
|
|
+import Browser.WebExt.Message (mkMessage)
|
|
|
import Browser.WebExt.Runtime (onMessageAddListener)
|
|
import Browser.WebExt.Runtime (onMessageAddListener)
|
|
|
import Browser.WebExt.Tabs (Tab)
|
|
import Browser.WebExt.Tabs (Tab)
|
|
|
import Browser.WebExt.Tabs as Tabs
|
|
import Browser.WebExt.Tabs as Tabs
|
|
|
import Effect (Effect)
|
|
import Effect (Effect)
|
|
|
import Effect.Class (class MonadEffect)
|
|
import Effect.Class (class MonadEffect)
|
|
|
-import Effect.Class.Console (log)
|
|
|
|
|
|
|
+import Effect.Class.Console (log, logShow)
|
|
|
|
|
+import ExampleWebExt.RuntimeMessage (RuntimeMessage, mkRuntimeMessageHandler)
|
|
|
|
|
|
|
|
main :: Effect Unit
|
|
main :: Effect Unit
|
|
|
main = do
|
|
main = do
|
|
|
log "[bg] starting up"
|
|
log "[bg] starting up"
|
|
|
|
|
|
|
|
onClickedAddListener $ mkListener browserActionOnClickedHandler
|
|
onClickedAddListener $ mkListener browserActionOnClickedHandler
|
|
|
- onMessageAddListener $ mkListener contentScriptMessageHandler
|
|
|
|
|
|
|
+ onMessageAddListener $ mkRuntimeMessageHandler contentScriptMessageHandler
|
|
|
|
|
|
|
|
browserActionOnClickedHandler :: Tab -> Effect Unit
|
|
browserActionOnClickedHandler :: Tab -> Effect Unit
|
|
|
browserActionOnClickedHandler tab = do
|
|
browserActionOnClickedHandler tab = do
|
|
|
_ <- Tabs.sendMessage tab.id $ mkMessage { clicked: tab.id }
|
|
_ <- Tabs.sendMessage tab.id $ mkMessage { clicked: tab.id }
|
|
|
pure unit
|
|
pure unit
|
|
|
|
|
|
|
|
-contentScriptMessageHandler ∷ ∀ m. MonadEffect m ⇒ Message → m Unit
|
|
|
|
|
-contentScriptMessageHandler m = log $ "[bg] received msg from content : " <> displayMessage m
|
|
|
|
|
|
|
+contentScriptMessageHandler ∷ ∀ m. MonadEffect m => RuntimeMessage → m Unit
|
|
|
|
|
+contentScriptMessageHandler m = logShow m
|