Bläddra i källkod

Add the waiting loop

jherve 2 år sedan
förälder
incheckning
2a8c74c483
1 ändrade filer med 9 tillägg och 1 borttagningar
  1. 9 1
      src/Content.purs

+ 9 - 1
src/Content.purs

@@ -6,10 +6,13 @@ import Browser.DOM (getBrowserDom)
 import Browser.WebExt.Runtime (MessageSender)
 import Browser.WebExt.Runtime (MessageSender)
 import Data.Either (Either(..))
 import Data.Either (Either(..))
 import Effect (Effect)
 import Effect (Effect)
+import Effect.Aff (launchAff_)
+import Effect.Class (liftEffect)
 import Effect.Class.Console (logShow, warn)
 import Effect.Class.Console (logShow, warn)
 import Effect.Console (log)
 import Effect.Console (log)
 import ExampleWebExt.RuntimeMessage (RuntimeMessage(..), onRuntimeMessageAddListener, sendMessageToBackground)
 import ExampleWebExt.RuntimeMessage (RuntimeMessage(..), onRuntimeMessageAddListener, sendMessageToBackground)
 import LinkedIn (extractFromDocument, getContext)
 import LinkedIn (extractFromDocument, getContext)
+import LinkedIn.Loadable (waitFor)
 import LinkedIn.PageUrl (PageUrl(..))
 import LinkedIn.PageUrl (PageUrl(..))
 
 
 main :: Effect Unit
 main :: Effect Unit
@@ -34,7 +37,12 @@ colorAlreadyVisitedOffers = log "[content] Coloring of job offers is not impleme
 
 
 backgroundMessageHandler ∷ RuntimeMessage -> MessageSender → Effect Unit
 backgroundMessageHandler ∷ RuntimeMessage -> MessageSender → Effect Unit
 backgroundMessageHandler m _ = case m of
 backgroundMessageHandler m _ = case m of
-  RuntimeMessageRequestPageContent -> extractDataAndSendToBackground
+  RuntimeMessageRequestPageContent -> launchAff_ do
+    dom <- liftEffect getBrowserDom
+    -- If we are here we know that we are looking for a job offer.
+    -- TODO: Remove this dirty hack once "Loadable" typeclass is integrated
+    _ <- waitFor 200 50 ".job-details-jobs-unified-top-card__job-insight span[aria-hidden]" dom
+    liftEffect extractDataAndSendToBackground
 
 
   m -> logShow m
   m -> logShow m