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