{"ast":null,"code":"var _jsxFileName = \"C:\\\\Users\\\\user\\\\Desktop\\\\000newport\\\\src\\\\components\\\\pages\\\\home\\\\components\\\\04portefolio\\\\card\\\\card.js\",\n  _s = $RefreshSig$();\nimport React, { useEffect, useState } from \"react\";\nimport UseFetch from \"../../../../../hooks/useFetch\";\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nimport { Fragment as _Fragment } from \"react/jsx-dev-runtime\";\nconst CardPortfolio = () => {\n  _s();\n  const {\n    data: portfolioData,\n    error: portfolioError\n  } = UseFetch(\"/portfolio.json\");\n  const {\n    data: choiceInputData,\n    error: choiceInputError\n  } = UseFetch(\"/input-choice-tekno.json\");\n  const [selectedTypes, setSelectedTypes] = useState([]);\n  if (portfolioError) {\n    return /*#__PURE__*/_jsxDEV(\"div\", {\n      children: \"Une erreur est survenue lors du chargement des donn\\xE9es.\"\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 13,\n      columnNumber: 12\n    }, this);\n  }\n  if (choiceInputError) {\n    return /*#__PURE__*/_jsxDEV(\"div\", {\n      children: \"erreur chargement donn\\xE9es\"\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 16,\n      columnNumber: 12\n    }, this);\n  }\n\n  // Filtrer les projets en fonction du type sélectionné\n\n  const handleTypeSelection = typeName => {\n    if (selectedTypes.includes(typeName)) {\n      setSelectedTypes(selectedTypes.filter(type => type !== typeName));\n    } else {\n      setSelectedTypes([...selectedTypes, typeName]);\n    }\n  };\n  const filteredProjects = portfolioData.filter(projet => selectedTypes.length === 0 || selectedTypes.includes(projet.tekno));\n  return /*#__PURE__*/_jsxDEV(_Fragment, {\n    children: [/*#__PURE__*/_jsxDEV(\"div\", {\n      className: \"flex w-2/3 choice-tekno\",\n      children: choiceInputData.map((items, index) => /*#__PURE__*/_jsxDEV(\"div\", {\n        style: {\n          color: items.color,\n          backgroundColor: items.background\n        },\n        className: \" flex flex-col items-center justify-center input-choice-tekno  \",\n        children: /*#__PURE__*/_jsxDEV(\"label\", {\n          className: \"checkbox-wrapper \",\n          children: [/*#__PURE__*/_jsxDEV(\"input\", {\n            type: \"checkbox\",\n            className: \"checkbox-input  \",\n            style: {\n              color: items.color,\n              backgroundColor: items.background\n            }\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 46,\n            columnNumber: 15\n          }, this), /*#__PURE__*/_jsxDEV(\"span\", {\n            className: \"checkbox-tile\",\n            children: /*#__PURE__*/_jsxDEV(\"span\", {\n              className: \"checkbox-label\",\n              children: [items.name, \" \"]\n            }, void 0, true, {\n              fileName: _jsxFileName,\n              lineNumber: 55,\n              columnNumber: 17\n            }, this)\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 54,\n            columnNumber: 15\n          }, this)]\n        }, void 0, true, {\n          fileName: _jsxFileName,\n          lineNumber: 45,\n          columnNumber: 13\n        }, this)\n      }, index, false, {\n        fileName: _jsxFileName,\n        lineNumber: 40,\n        columnNumber: 11\n      }, this))\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 38,\n      columnNumber: 7\n    }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n      className: \"w-full flex  flex-wrap items-center justify-center \",\n      children: portfolioData.map((projet, index) => /*#__PURE__*/_jsxDEV(\"div\", {\n        className: \"cardPortfolio transition\",\n        children: [/*#__PURE__*/_jsxDEV(\"div\", {\n          className: \"relative contain-img-text\",\n          children: [/*#__PURE__*/_jsxDEV(\"div\", {\n            className: \"containImg absolute\",\n            children: /*#__PURE__*/_jsxDEV(\"img\", {\n              src: projet.imageSrc,\n              alt: projet.titre\n            }, void 0, false, {\n              fileName: _jsxFileName,\n              lineNumber: 67,\n              columnNumber: 17\n            }, this)\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 66,\n            columnNumber: 15\n          }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n            className: \"hovver text-center absolute transition flex justify-center items-center\",\n            children: /*#__PURE__*/_jsxDEV(\"p\", {\n              children: projet.description\n            }, void 0, false, {\n              fileName: _jsxFileName,\n              lineNumber: 70,\n              columnNumber: 17\n            }, this)\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 69,\n            columnNumber: 15\n          }, this)]\n        }, void 0, true, {\n          fileName: _jsxFileName,\n          lineNumber: 65,\n          columnNumber: 13\n        }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n          children: [/*#__PURE__*/_jsxDEV(\"div\", {\n            className: \"text-center  border-y border-slate-600 border-solid mt-2\",\n            children: [/*#__PURE__*/_jsxDEV(\"h4\", {\n              children: projet.titre\n            }, void 0, false, {\n              fileName: _jsxFileName,\n              lineNumber: 76,\n              columnNumber: 17\n            }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n              children: [projet.tekno, \" \"]\n            }, void 0, true, {\n              fileName: _jsxFileName,\n              lineNumber: 77,\n              columnNumber: 17\n            }, this)]\n          }, void 0, true, {\n            fileName: _jsxFileName,\n            lineNumber: 75,\n            columnNumber: 15\n          }, this), /*#__PURE__*/_jsxDEV(\"ul\", {\n            className: \"flex items-center justify-center ulVoir\",\n            children: [/*#__PURE__*/_jsxDEV(\"li\", {\n              children: [/*#__PURE__*/_jsxDEV(\"a\", {\n                href: projet.lien,\n                children: \"voir\"\n              }, void 0, false, {\n                fileName: _jsxFileName,\n                lineNumber: 81,\n                columnNumber: 19\n              }, this), \" \"]\n            }, void 0, true, {\n              fileName: _jsxFileName,\n              lineNumber: 80,\n              columnNumber: 17\n            }, this), /*#__PURE__*/_jsxDEV(\"li\", {}, void 0, false, {\n              fileName: _jsxFileName,\n              lineNumber: 83,\n              columnNumber: 17\n            }, this), /*#__PURE__*/_jsxDEV(\"li\", {\n              children: [/*#__PURE__*/_jsxDEV(\"a\", {\n                href: projet.lienCode,\n                children: \"voir code\"\n              }, void 0, false, {\n                fileName: _jsxFileName,\n                lineNumber: 85,\n                columnNumber: 19\n              }, this), \" \"]\n            }, void 0, true, {\n              fileName: _jsxFileName,\n              lineNumber: 84,\n              columnNumber: 17\n            }, this)]\n          }, void 0, true, {\n            fileName: _jsxFileName,\n            lineNumber: 79,\n            columnNumber: 15\n          }, this)]\n        }, void 0, true, {\n          fileName: _jsxFileName,\n          lineNumber: 74,\n          columnNumber: 13\n        }, this)]\n      }, index, true, {\n        fileName: _jsxFileName,\n        lineNumber: 64,\n        columnNumber: 11\n      }, this))\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 62,\n      columnNumber: 7\n    }, this)]\n  }, void 0, true);\n};\n_s(CardPortfolio, \"UXpnRLXmbVggjBodw7fDTKCrv20=\");\n_c = CardPortfolio;\nexport default CardPortfolio;\nvar _c;\n$RefreshReg$(_c, \"CardPortfolio\");","map":{"version":3,"names":["React","useEffect","useState","UseFetch","jsxDEV","_jsxDEV","Fragment","_Fragment","CardPortfolio","_s","data","portfolioData","error","portfolioError","choiceInputData","choiceInputError","selectedTypes","setSelectedTypes","children","fileName","_jsxFileName","lineNumber","columnNumber","handleTypeSelection","typeName","includes","filter","type","filteredProjects","projet","length","tekno","className","map","items","index","style","color","backgroundColor","background","name","src","imageSrc","alt","titre","description","href","lien","lienCode","_c","$RefreshReg$"],"sources":["C:/Users/user/Desktop/000newport/src/components/pages/home/components/04portefolio/card/card.js"],"sourcesContent":["import React, { useEffect, useState } from \"react\";\r\nimport UseFetch from \"../../../../../hooks/useFetch\";\r\n\r\nconst CardPortfolio = () => {\r\n  const { data: portfolioData, error: portfolioError } =\r\n    UseFetch(\"/portfolio.json\");\r\n  const { data: choiceInputData, error: choiceInputError } = UseFetch(\r\n    \"/input-choice-tekno.json\");\r\n\r\n  const [selectedTypes,setSelectedTypes]=useState([]);\r\n\r\n  if (portfolioError) {\r\n    return <div>Une erreur est survenue lors du chargement des données.</div>;\r\n  }\r\n  if (choiceInputError) {\r\n    return <div>erreur chargement données</div>;\r\n  }\r\n\r\n\r\n  // Filtrer les projets en fonction du type sélectionné\r\n\r\n  \r\n\r\n  const handleTypeSelection = (typeName) => {\r\n    if (selectedTypes.includes(typeName)) {\r\n      setSelectedTypes(selectedTypes.filter((type) => type !== typeName));\r\n    } else {\r\n      setSelectedTypes([...selectedTypes, typeName]);\r\n    }\r\n  };\r\n\r\n  const filteredProjects = portfolioData.filter((projet) =>\r\n    selectedTypes.length === 0 || selectedTypes.includes(projet.tekno)\r\n  );\r\n\r\n  return (\r\n    <>\r\n      <div className=\"flex w-2/3 choice-tekno\">\r\n        {choiceInputData.map((items, index) => (\r\n          <div\r\n            key={index}\r\n            style={{ color: items.color, backgroundColor: items.background }}\r\n            className=\" flex flex-col items-center justify-center input-choice-tekno  \"\r\n          >\r\n            <label className=\"checkbox-wrapper \">\r\n              <input\r\n                type=\"checkbox\"\r\n                className=\"checkbox-input  \"\r\n                style={{\r\n                  color: items.color,\r\n                  backgroundColor: items.background,\r\n                }}\r\n              />\r\n              <span className=\"checkbox-tile\">\r\n                <span className=\"checkbox-label\">{items.name} </span>\r\n              </span>\r\n            </label>\r\n          </div>\r\n        ))}\r\n      </div>\r\n\r\n      <div className=\"w-full flex  flex-wrap items-center justify-center \">\r\n        {portfolioData.map((projet, index) => (\r\n          <div className=\"cardPortfolio transition\" key={index}>\r\n            <div className=\"relative contain-img-text\">\r\n              <div className=\"containImg absolute\">\r\n                <img src={projet.imageSrc} alt={projet.titre} />\r\n              </div>\r\n              <div className=\"hovver text-center absolute transition flex justify-center items-center\">\r\n                <p>{projet.description}</p>\r\n              </div>\r\n            </div>\r\n\r\n            <div>\r\n              <div className=\"text-center  border-y border-slate-600 border-solid mt-2\">\r\n                <h4>{projet.titre}</h4>\r\n                <p>{projet.tekno} </p>\r\n              </div>\r\n              <ul className=\"flex items-center justify-center ulVoir\">\r\n                <li>\r\n                  <a href={projet.lien}>voir</a>{\" \"}\r\n                </li>\r\n                <li></li>\r\n                <li>\r\n                  <a href={projet.lienCode}>voir code</a>{\" \"}\r\n                </li>\r\n              </ul>\r\n            </div>\r\n          </div>\r\n        ))}\r\n      </div>\r\n    </>\r\n  );\r\n};\r\n\r\nexport default CardPortfolio;\r\n"],"mappings":"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"},"metadata":{},"sourceType":"module","externalDependencies":[]}