Background.purs 779 B

1234567891011121314151617181920212223
  1. module ExampleWebExt.Background where
  2. import Prelude
  3. import Browser.Runtime (Tab, mkListener, onClickedAddListener, onMessageAddListener, tabsSendMessage)
  4. import Effect (Effect)
  5. import Effect.Class (class MonadEffect)
  6. import Effect.Class.Console (log)
  7. main :: Effect Unit
  8. main = do
  9. log "[bg] starting up"
  10. onClickedAddListener $ mkListener browserActionOnClickedHandler
  11. onMessageAddListener $ mkListener contentScriptMessageHandler
  12. browserActionOnClickedHandler :: Tab -> Effect Unit
  13. browserActionOnClickedHandler tab = do
  14. _ <- tabsSendMessage tab.id "Clicked browser action"
  15. pure unit
  16. contentScriptMessageHandler ∷ ∀ m (a ∷ Type). MonadEffect m ⇒ Show a ⇒ a → m Unit
  17. contentScriptMessageHandler m = log $ "[bg] received msg from content : " <> show m