{"ast":null,"code":"var _jsxFileName = \"C:\\\\Users\\\\user\\\\Desktop\\\\05mediaSocial\\\\client\\\\src\\\\components\\\\profil\\\\FollowHandler.js\",\n  _s = $RefreshSig$();\nimport React, { useEffect, useState } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { followUser, unfollowUser } from \"../../actions/user.actions\";\nimport { isEmpty } from \"../Utils\";\nimport { Fragment as _Fragment } from \"react/jsx-dev-runtime\";\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nconst FollowHandler = _ref => {\n  _s();\n  let {\n    idToFollow,\n    type\n  } = _ref;\n  const userData = useSelector(state => state.userReducer);\n  const [isFollowed, setIsFollowed] = useState(false);\n  const dispatch = useDispatch();\n  const handleFollow = () => {\n    dispatch(followUser(userData._id, idToFollow));\n    setIsFollowed(true);\n  };\n  const handleUnfollow = () => {\n    dispatch(unfollowUser(userData._id, idToFollow));\n    setIsFollowed(false);\n  };\n  useEffect(() => {\n    if (!isEmpty(userData.following)) {\n      if (userData.following.includes(idToFollow)) {\n        setIsFollowed(true);\n      } else setIsFollowed(false);\n    }\n  }, [userData, idToFollow]);\n  return /*#__PURE__*/_jsxDEV(_Fragment, {\n    children: [isFollowed && !isEmpty(userData) && /*#__PURE__*/_jsxDEV(\"span\", {\n      onClick: handleUnfollow,\n      children: [type === \"suggestion\" && /*#__PURE__*/_jsxDEV(\"button\", {\n        className: \"unfollow-btn\",\n        children: \"Abonn\\xE9\"\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 33,\n        columnNumber: 37\n      }, this), type === \"card\" && /*#__PURE__*/_jsxDEV(\"img\", {\n        src: \"./img/icons/checked.svg\",\n        alt: \"checked\"\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 34,\n        columnNumber: 31\n      }, this)]\n    }, void 0, true, {\n      fileName: _jsxFileName,\n      lineNumber: 32,\n      columnNumber: 9\n    }, this), isFollowed === false && !isEmpty(userData) && /*#__PURE__*/_jsxDEV(\"span\", {\n      onClick: handleFollow,\n      children: [type === \"suggestion\" && /*#__PURE__*/_jsxDEV(\"button\", {\n        className: \"follow-btn\",\n        children: \"Suivre\"\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 39,\n        columnNumber: 37\n      }, this), type === \"card\" && /*#__PURE__*/_jsxDEV(\"img\", {\n        src: \"./img/icons/check.svg\",\n        alt: \"check\"\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 40,\n        columnNumber: 31\n      }, this)]\n    }, void 0, true, {\n      fileName: _jsxFileName,\n      lineNumber: 38,\n      columnNumber: 9\n    }, this)]\n  }, void 0, true);\n};\n_s(FollowHandler, \"pkrTJJokSYBGY1rZZs5rw88zPE4=\", false, function () {\n  return [useSelector, useDispatch];\n});\n_c = FollowHandler;\nexport default FollowHandler;\nvar _c;\n$RefreshReg$(_c, \"FollowHandler\");","map":{"version":3,"names":["React","useEffect","useState","useDispatch","useSelector","followUser","unfollowUser","isEmpty","FollowHandler","idToFollow","type","userData","state","userReducer","isFollowed","setIsFollowed","dispatch","handleFollow","_id","handleUnfollow","following","includes"],"sources":["C:/Users/user/Desktop/05mediaSocial/client/src/components/profil/FollowHandler.js"],"sourcesContent":["import React, { useEffect, useState } from \"react\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { followUser, unfollowUser } from \"../../actions/user.actions\";\r\nimport { isEmpty } from \"../Utils\";\r\n\r\nconst FollowHandler = ({ idToFollow, type }) => {\r\n  const userData = useSelector((state) => state.userReducer);\r\n  const [isFollowed, setIsFollowed] = useState(false);\r\n  const dispatch = useDispatch();\r\n\r\n  const handleFollow = () => {\r\n    dispatch(followUser(userData._id, idToFollow));\r\n    setIsFollowed(true);\r\n  };\r\n\r\n  const handleUnfollow = () => {\r\n    dispatch(unfollowUser(userData._id, idToFollow));\r\n    setIsFollowed(false);\r\n  };\r\n\r\n  useEffect(() => {\r\n    if (!isEmpty(userData.following)) {\r\n      if (userData.following.includes(idToFollow)) {\r\n        setIsFollowed(true);\r\n      } else setIsFollowed(false);\r\n    }\r\n  }, [userData, idToFollow]);\r\n\r\n  return (\r\n    <>\r\n      {isFollowed && !isEmpty(userData) && (\r\n        <span onClick={handleUnfollow}>\r\n          {type === \"suggestion\" && <button className=\"unfollow-btn\">Abonné</button>}\r\n          {type === \"card\" && <img src=\"./img/icons/checked.svg\" alt=\"checked\"/>}\r\n        </span>\r\n      )}\r\n      {isFollowed === false && !isEmpty(userData) && (\r\n        <span onClick={handleFollow}>\r\n          {type === \"suggestion\" && <button className=\"follow-btn\">Suivre</button>}\r\n          {type === \"card\" && <img src=\"./img/icons/check.svg\" alt=\"check\"/>}\r\n        </span>\r\n      )}\r\n    </>\r\n  );\r\n};\r\n\r\nexport default FollowHandler;\r\n"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAClD,SAASC,WAAW,EAAEC,WAAW,QAAQ,aAAa;AACtD,SAASC,UAAU,EAAEC,YAAY,QAAQ,4BAA4B;AACrE,SAASC,OAAO,QAAQ,UAAU;AAAC;AAAA;AAEnC,MAAMC,aAAa,GAAG,QAA0B;EAAA;EAAA,IAAzB;IAAEC,UAAU;IAAEC;EAAK,CAAC;EACzC,MAAMC,QAAQ,GAAGP,WAAW,CAAEQ,KAAK,IAAKA,KAAK,CAACC,WAAW,CAAC;EAC1D,MAAM,CAACC,UAAU,EAAEC,aAAa,CAAC,GAAGb,QAAQ,CAAC,KAAK,CAAC;EACnD,MAAMc,QAAQ,GAAGb,WAAW,EAAE;EAE9B,MAAMc,YAAY,GAAG,MAAM;IACzBD,QAAQ,CAACX,UAAU,CAACM,QAAQ,CAACO,GAAG,EAAET,UAAU,CAAC,CAAC;IAC9CM,aAAa,CAAC,IAAI,CAAC;EACrB,CAAC;EAED,MAAMI,cAAc,GAAG,MAAM;IAC3BH,QAAQ,CAACV,YAAY,CAACK,QAAQ,CAACO,GAAG,EAAET,UAAU,CAAC,CAAC;IAChDM,aAAa,CAAC,KAAK,CAAC;EACtB,CAAC;EAEDd,SAAS,CAAC,MAAM;IACd,IAAI,CAACM,OAAO,CAACI,QAAQ,CAACS,SAAS,CAAC,EAAE;MAChC,IAAIT,QAAQ,CAACS,SAAS,CAACC,QAAQ,CAACZ,UAAU,CAAC,EAAE;QAC3CM,aAAa,CAAC,IAAI,CAAC;MACrB,CAAC,MAAMA,aAAa,CAAC,KAAK,CAAC;IAC7B;EACF,CAAC,EAAE,CAACJ,QAAQ,EAAEF,UAAU,CAAC,CAAC;EAE1B,oBACE;IAAA,WACGK,UAAU,IAAI,CAACP,OAAO,CAACI,QAAQ,CAAC,iBAC/B;MAAM,OAAO,EAAEQ,cAAe;MAAA,WAC3BT,IAAI,KAAK,YAAY,iBAAI;QAAQ,SAAS,EAAC,cAAc;QAAA,UAAC;MAAM;QAAA;QAAA;QAAA;MAAA,QAAS,EACzEA,IAAI,KAAK,MAAM,iBAAI;QAAK,GAAG,EAAC,yBAAyB;QAAC,GAAG,EAAC;MAAS;QAAA;QAAA;QAAA;MAAA,QAAE;IAAA;MAAA;MAAA;MAAA;IAAA,QAEzE,EACAI,UAAU,KAAK,KAAK,IAAI,CAACP,OAAO,CAACI,QAAQ,CAAC,iBACzC;MAAM,OAAO,EAAEM,YAAa;MAAA,WACzBP,IAAI,KAAK,YAAY,iBAAI;QAAQ,SAAS,EAAC,YAAY;QAAA,UAAC;MAAM;QAAA;QAAA;QAAA;MAAA,QAAS,EACvEA,IAAI,KAAK,MAAM,iBAAI;QAAK,GAAG,EAAC,uBAAuB;QAAC,GAAG,EAAC;MAAO;QAAA;QAAA;QAAA;MAAA,QAAE;IAAA;MAAA;MAAA;MAAA;IAAA,QAErE;EAAA,gBACA;AAEP,CAAC;AAAC,GAvCIF,aAAa;EAAA,QACAJ,WAAW,EAEXD,WAAW;AAAA;AAAA,KAHxBK,aAAa;AAyCnB,eAAeA,aAAa;AAAC;AAAA"},"metadata":{},"sourceType":"module","externalDependencies":[]}