{"ast":null,"code":"var _jsxFileName = \"C:\\\\Users\\\\user\\\\Desktop\\\\05mediaSocial\\\\client\\\\src\\\\components\\\\Thread.js\",\n  _s = $RefreshSig$();\nimport React, { useEffect, useState } from \"react\";\nimport { getPosts } from \"../actions/post.actions\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { isEmpty } from \"./Utils\";\nimport Card from \"./Post/Card\";\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nconst Thread = () => {\n  _s();\n  const [loadPost, setLoadPost] = useState(true);\n  const dispatch = useDispatch();\n  const posts = useSelector(state => state.postReducer);\n  const [count, setCount] = useState(4);\n  const loadMore = () => {\n    //parti 1 est l'endroit où on est parti de l'ecran, 2 c'et toute la taille de tout le scroll quand le scoll parti 1 touche le bas on arrive dans une condtion\n    if (window.innerHeight + document.documentElement.scrollTop + 1 > document.scrollingElement.scrollHeight) {\n      setLoadPost(true);\n    }\n  };\n  useEffect(() => {\n    if (loadPost) {\n      // on passe en paramettre count donc à paraméter dans  post action\n      dispatch(getPosts(count));\n      setLoadPost(false);\n    }\n    window.addEventListener('scroll', loadMore);\n    return () => window.removeEventListener('scroll', loadMore);\n  }, [loadPost, dispatch]);\n  return /*#__PURE__*/_jsxDEV(\"div\", {\n    className: \"thread-container\",\n    children: /*#__PURE__*/_jsxDEV(\"ul\", {\n      children: !isEmpty(posts[0]) && posts.map(post => {\n        return /*#__PURE__*/_jsxDEV(Card, {\n          post: post\n        }, post._id, false, {\n          fileName: _jsxFileName,\n          lineNumber: 37,\n          columnNumber: 24\n        }, this);\n      })\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 34,\n      columnNumber: 11\n    }, this)\n  }, void 0, false, {\n    fileName: _jsxFileName,\n    lineNumber: 33,\n    columnNumber: 9\n  }, this);\n};\n_s(Thread, \"RNV5Uwt+K22lpb+gUj2D8tcFQXs=\", false, function () {\n  return [useDispatch, useSelector];\n});\n_c = Thread;\nexport default Thread;\nvar _c;\n$RefreshReg$(_c, \"Thread\");","map":{"version":3,"names":["React","useEffect","useState","getPosts","useDispatch","useSelector","isEmpty","Card","Thread","loadPost","setLoadPost","dispatch","posts","state","postReducer","count","setCount","loadMore","window","innerHeight","document","documentElement","scrollTop","scrollingElement","scrollHeight","addEventListener","removeEventListener","map","post","_id"],"sources":["C:/Users/user/Desktop/05mediaSocial/client/src/components/Thread.js"],"sourcesContent":["import React, { useEffect, useState } from \"react\";\r\nimport { getPosts } from \"../actions/post.actions\";\r\nimport {useDispatch, useSelector} from \"react-redux\";\r\nimport {isEmpty  } from \"./Utils\";\r\nimport Card from \"./Post/Card\";\r\n\r\n\r\nconst Thread=()=>{\r\n    const [loadPost,setLoadPost]=useState(true)\r\n    const dispatch=useDispatch()\r\n    const posts=useSelector((state)=>state.postReducer)\r\n\r\n    const [count,setCount] =useState(4)\r\n    const loadMore=()=>{\r\n      //parti 1 est l'endroit où on est parti de l'ecran, 2 c'et toute la taille de tout le scroll quand le scoll parti 1 touche le bas on arrive dans une condtion\r\n      if(window.innerHeight + document.documentElement.scrollTop + 1 > document.scrollingElement.scrollHeight){\r\n        setLoadPost(true)\r\n      }\r\n    }\r\n\r\n    useEffect(()=>{\r\n        if(loadPost){\r\n          // on passe en paramettre count donc à paraméter dans  post action\r\n             dispatch(getPosts(count));\r\n             setLoadPost(false)\r\n        }\r\n\r\n        window.addEventListener('scroll',loadMore);\r\n        return()=>window.removeEventListener('scroll',loadMore);\r\n    },[loadPost,dispatch])\r\n\r\n    return(\r\n        <div className=\"thread-container\">\r\n          <ul>\r\n            { ! isEmpty(posts[0]) &&\r\n             posts.map((post)=>{\r\n                return < Card post={post} key={post._id} />\r\n             })\r\n             }\r\n          </ul>\r\n        </div>\r\n    )\r\n}\r\n\r\nexport default Thread;"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAClD,SAASC,QAAQ,QAAQ,yBAAyB;AAClD,SAAQC,WAAW,EAAEC,WAAW,QAAO,aAAa;AACpD,SAAQC,OAAO,QAAS,SAAS;AACjC,OAAOC,IAAI,MAAM,aAAa;AAAC;AAG/B,MAAMC,MAAM,GAAC,MAAI;EAAA;EACb,MAAM,CAACC,QAAQ,EAACC,WAAW,CAAC,GAACR,QAAQ,CAAC,IAAI,CAAC;EAC3C,MAAMS,QAAQ,GAACP,WAAW,EAAE;EAC5B,MAAMQ,KAAK,GAACP,WAAW,CAAEQ,KAAK,IAAGA,KAAK,CAACC,WAAW,CAAC;EAEnD,MAAM,CAACC,KAAK,EAACC,QAAQ,CAAC,GAAEd,QAAQ,CAAC,CAAC,CAAC;EACnC,MAAMe,QAAQ,GAAC,MAAI;IACjB;IACA,IAAGC,MAAM,CAACC,WAAW,GAAGC,QAAQ,CAACC,eAAe,CAACC,SAAS,GAAG,CAAC,GAAGF,QAAQ,CAACG,gBAAgB,CAACC,YAAY,EAAC;MACtGd,WAAW,CAAC,IAAI,CAAC;IACnB;EACF,CAAC;EAEDT,SAAS,CAAC,MAAI;IACV,IAAGQ,QAAQ,EAAC;MACV;MACGE,QAAQ,CAACR,QAAQ,CAACY,KAAK,CAAC,CAAC;MACzBL,WAAW,CAAC,KAAK,CAAC;IACvB;IAEAQ,MAAM,CAACO,gBAAgB,CAAC,QAAQ,EAACR,QAAQ,CAAC;IAC1C,OAAM,MAAIC,MAAM,CAACQ,mBAAmB,CAAC,QAAQ,EAACT,QAAQ,CAAC;EAC3D,CAAC,EAAC,CAACR,QAAQ,EAACE,QAAQ,CAAC,CAAC;EAEtB,oBACI;IAAK,SAAS,EAAC,kBAAkB;IAAA,uBAC/B;MAAA,UACI,CAAEL,OAAO,CAACM,KAAK,CAAC,CAAC,CAAC,CAAC,IACpBA,KAAK,CAACe,GAAG,CAAEC,IAAI,IAAG;QACf,oBAAO,QAAE,IAAI;UAAC,IAAI,EAAEA;QAAK,GAAMA,IAAI,CAACC,GAAG;UAAA;UAAA;UAAA;QAAA,QAAI;MAC9C,CAAC;IAAC;MAAA;MAAA;MAAA;IAAA;EAEA;IAAA;IAAA;IAAA;EAAA,QACD;AAEd,CAAC;AAAA,GAnCKrB,MAAM;EAAA,QAEOJ,WAAW,EACdC,WAAW;AAAA;AAAA,KAHrBG,MAAM;AAqCZ,eAAeA,MAAM;AAAC;AAAA"},"metadata":{},"sourceType":"module","externalDependencies":[]}