{"ast":null,"code":"var _jsxFileName = \"C:\\\\Users\\\\user\\\\Desktop\\\\000newport\\\\src\\\\components\\\\pages\\\\home\\\\components\\\\04portefolio\\\\card\\\\card.js\",\n  _s = $RefreshSig$();\nimport React, { 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: 14,\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: 17,\n      columnNumber: 12\n    }, this);\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 => {\n    const projectTypes = projet.type.split(\",\").map(type => type.trim());\n    return selectedTypes.length === 0 || projectTypes.some(type => selectedTypes.includes(type));\n  });\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            checked: selectedTypes.includes(items.name),\n            onChange: () => handleTypeSelection(items.name),\n            style: {\n              color: items.color,\n              backgroundColor: items.background\n            }\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 43,\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: 54,\n              columnNumber: 17\n            }, this)\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 53,\n            columnNumber: 15\n          }, this)]\n        }, void 0, true, {\n          fileName: _jsxFileName,\n          lineNumber: 42,\n          columnNumber: 13\n        }, this)\n      }, index, false, {\n        fileName: _jsxFileName,\n        lineNumber: 37,\n        columnNumber: 11\n      }, this))\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 35,\n      columnNumber: 7\n    }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n      className: \"w-full flex flex-wrap items-center justify-center\",\n      children: filteredProjects.map((projet, index) => /*#__PURE__*/_jsxDEV(\"div\", {\n        className: \"cardPortfolio transition\",\n        children: [/*#__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: 10\n        }, this), \"))}\"]\n      }, index, true, {\n        fileName: _jsxFileName,\n        lineNumber: 63,\n        columnNumber: 11\n      }, this))\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 61,\n      columnNumber: 7\n    }, this)]\n  }, void 0, true);\n};\n_s(CardPortfolio, \"+5hCKmF7MqZ3aBmT9eywRwaIciY=\");\n_c = CardPortfolio;\nexport default CardPortfolio;\nvar _c;\n$RefreshReg$(_c, \"CardPortfolio\");","map":{"version":3,"names":["React","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","projectTypes","split","map","trim","length","some","className","items","index","style","color","backgroundColor","background","checked","name","onChange","src","imageSrc","alt","titre","description","tekno","href","lien","lienCode","_c","$RefreshReg$"],"sources":["C:/Users/user/Desktop/000newport/src/components/pages/home/components/04portefolio/card/card.js"],"sourcesContent":["import React, { 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\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  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    const projectTypes = projet.type.split(\",\").map(type => type.trim());\r\n    return selectedTypes.length === 0 || projectTypes.some(type => selectedTypes.includes(type));\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                checked={selectedTypes.includes(items.name)}\r\n                onChange={() => handleTypeSelection(items.name)}\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        {filteredProjects.map((projet, index) => (\r\n          <div className=\"cardPortfolio transition\" key={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      </div>\r\n    </>\r\n  );\r\n};\r\n\r\nexport default CardPortfolio;\r\n"],"mappings":"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"},"metadata":{},"sourceType":"module","externalDependencies":[]}