Background.purs 789 B

123456789101112131415161718192021222324252627
  1. module ExampleWebExt.Background where
  2. import Prelude
  3. import Browser.Runtime (mkListener, onClickedAddListener, onMessageAddListener, tabsSendMessage)
  4. import Effect (Effect)
  5. import Effect.Class (class MonadEffect)
  6. import Effect.Class.Console (log, logShow)
  7. main :: Effect Unit
  8. main = do
  9. let
  10. listenerEff = mkListener $ \e -> do
  11. logShow e
  12. log "Executed listener mkEffectFn1"
  13. _ <- tabsSendMessage e.id "message from PS"
  14. pure unit
  15. log "[bg] starting up"
  16. onClickedAddListener listenerEff
  17. onMessageAddListener $ mkListener contentScriptMessageHandler
  18. log "[bg] registered"
  19. contentScriptMessageHandler ∷ ∀ m (a ∷ Type). MonadEffect m ⇒ Show a ⇒ a → m Unit
  20. contentScriptMessageHandler m = log $ "[bg] received msg from content : " <> show m