Parcourir la source

Kinda functional implem of SkillsPage

jherve il y a 1 an
Parent
commit
d61a6014a3
2 fichiers modifiés avec 9 ajouts et 7 suppressions
  1. 5 3
      src/Content.purs
  2. 4 4
      src/LinkedIn/SkillsPage.purs

+ 5 - 3
src/Content.purs

@@ -20,8 +20,7 @@ import LinkedIn.Profile.Project as PP
 import LinkedIn.Profile.Skill as PS
 import LinkedIn.Profile.WorkExperience as PWE
 import LinkedIn.QueryRunner (runQuery)
-import LinkedIn.SkillsPage (querySkillsPage)
-import Web.DOM.Document as D
+import LinkedIn.SkillsPage (SkillsPage(..), querySkillsPage)
 import Yoga.Tree (Tree, showTree)
 
 main :: Effect Unit
@@ -73,13 +72,16 @@ main = do
           log "parsed OK"
           logShow detached
 
-  skillsNode <- runQuery $ querySkillsPage $ D.toNode dom
+  skillsNode <- runQuery $ querySkillsPage dom
   case skillsNode of
     Left l' -> logShow l'
     Right q -> do
       detached <- traverse toDetached q
       log "skills OK"
       logShow detached
+      let
+        SkillsPage tabs = detached
+      logShow $ map PS.fromUI tabs
 
 maybeShowTree ∷ Maybe (NonEmptyList LinkedInUIElement) → Effect String
 maybeShowTree Nothing = pure "nope"

+ 4 - 4
src/LinkedIn/SkillsPage.purs

@@ -8,8 +8,8 @@ import Data.List.Types (NonEmptyList)
 import Data.Show.Generic (genericShow)
 import Data.Traversable (class Traversable, sequence, traverseDefault)
 import LinkedIn.ArtDecoTab (ArtDecoTabElement, queryArtDecoTab)
-import LinkedIn.QueryRunner (QueryRunner, subQueryMany)
-import Web.DOM (Node)
+import LinkedIn.QueryRunner (QueryRunner', subQueryMany)
+import Web.DOM (Document, Node)
 
 data SkillsPage a = SkillsPage (NonEmptyList (ArtDecoTabElement a))
 
@@ -32,7 +32,7 @@ instance Traversable SkillsPage where
 
   traverse = \x -> traverseDefault x
 
-querySkillsPage :: QueryRunner (SkillsPage Node)
+querySkillsPage :: QueryRunner' Document (SkillsPage Node)
 querySkillsPage n = do
-  tabs <- subQueryMany queryArtDecoTab "section.artdeco-card > div ~ div > div > div > ul > li" n
+  tabs <- subQueryMany queryArtDecoTab "div.artdeco-tabs > div > div > div > div > ul > li" n
   pure $ SkillsPage tabs