{"version":3,"sources":["images/logo-loop.svg","images/loop-eco-aaa.svg","images/loop-eco-aa.svg","images/loop-eco-a.svg","components/Score.js","components/ScoreFinal.js","components/ScoreGauge.js","components/ScoreGauges.js","components/Survey.js","components/Evaluation.js","components/SearchBar.js","components/SearchItem.js","components/SearchCertificateList.js","components/Search.js","components/Verify.js","images/loop-certificate-icipc.svg","components/CertificateItem.js","components/Product.js","App.js","reportWebVitals.js","index.js"],"names":["getSeal","score","certification","image","_jsx","src","LogoEcoAAA","alt","className","style","height","description","descriptionCertification","LogoEcoAA","LogoEcoA","ScoreFinal","React","Component","seal","currentScore","_jsxs","children","toFixed","role","href","target","type","rel","render","this","props","ScoreGauge","color","ScoreGauges","scoreEcodiseno","score13430","SurveyComponent","constructor","Survey","applyTheme","progressButtonsContainer","navigationButton","super","state","isCompleted","onCompleteComponent","bind","onValueChangedComponent","backSurvey","survey","setState","addAnswerGoogleSheet","data","options","surveydata","weightProductContainer","calculateProductContainer","packageType","adhesive","coating","recycleCompatibility","materialBarrier","materialBarrierWeight","route","noPlasticPercentage","materialIdentification","materialPPPE","materialFloat","materialUniquePlastic","materialContamination","getScore","doc","GoogleSpreadsheet","process","Date","toISOString","name","company","phone","email","JSON","stringify","async","useServiceAccountAuth","client_email","private_key","loadInfo","e","console","error","appendSpreadsheet","surveyRender","json","SurveyEco","showCompletedPage","onComplete","onValueChanged","scoreGauges","Evaluation","disclaimerAccept","setDisclaimerAccept","useState","personalDataAccept","setPersonalDataAccept","setName","setCompany","setPhone","setEmail","useEffect","document","title","disclaimer","Link","to","onClick","personalData","onSubmit","event","preventDefault","htmlFor","id","placeholder","value","onInput","required","SearchBar","_ref","input","keyword","onChange","setKeyword","disabled","SearchItem","checkProduct","product","substr","loopCode","SearchCertificateList","certificateList","map","index","Search","setInput","inputDisabled","setinputDisabled","certificateListDefault","setCertificateListDefault","setCertificateList","sheet","sheetsById","getRows","fetchData","filtered","filter","certificate","toLowerCase","includes","length","Verify","search","setSearch","Route","history","push","CertificateItem","label","property","certificationType","colorCertificate1","colorCertificate2","colorCertificate3","colorCertificate4","withRouter","certificateFound","setCertificateFound","certificateReady","setCertificateReady","getCertificationLogo","number","result","find","barCode","match","params","certificateImages","imageURL1","imageURL2","maxHeight","maxWidth","QRCode","size","LogoICIPCLoop","nit","address","date","dateExpiry","pageTitle","MenuLink","activeOnlyWhenExact","useRouteMatch","path","exact","App","HashRouter","LogoLOOP","Switch","Product","reportWebVitals","onPerfEntry","Function","then","getCLS","getFID","getFCP","getLCP","getTTFB","ReactDOM","StrictMode","getElementById"],"mappings":"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","file":"static/js/main.cb621026.chunk.js","sourcesContent":["export default __webpack_public_path__ + \"static/media/logo-loop.077a84a7.svg\";","export default __webpack_public_path__ + \"static/media/loop-eco-aaa.b115cc95.svg\";","export default __webpack_public_path__ + \"static/media/loop-eco-aa.414a7da2.svg\";","export default __webpack_public_path__ + \"static/media/loop-eco-a.e8832a69.svg\";","import LogoEcoAAA from \"../images/loop-eco-aaa.svg\";\r\nimport LogoEcoAA from \"../images/loop-eco-aa.svg\";\r\nimport LogoEcoA from \"../images/loop-eco-a.svg\";\r\n\r\nexport function getSeal(score) {\r\n if (score > 95) {\r\n return {\r\n certification: \"AAA\",\r\n image: (\r\n \r\n ),\r\n description: \"Alta capacidad de aprovechamiento\",\r\n descriptionCertification: \"Candidato a certificación ICIPC:\",\r\n };\r\n }\r\n if (score <= 95 && score > 90) {\r\n return {\r\n certification: \"AA\",\r\n image: (\r\n \r\n ),\r\n description: \"Muy buen aprovechamiento con algunas restricciones\",\r\n descriptionCertification: \"Candidato a certificación ICIPC:\",\r\n };\r\n }\r\n if (score <= 90 && score > 70) {\r\n return {\r\n certification: \"A\",\r\n image: (\r\n \r\n ),\r\n description: \"Aprovechable con restricciones\",\r\n descriptionCertification: \"Candidato a certificación ICIPC:\",\r\n };\r\n }\r\n if (score <= 70 && score > 50) {\r\n return {\r\n certification: \"B\",\r\n image: null,\r\n description: \"Moderadamente aprovechable\",\r\n descriptionCertification: \"No es candidato a certificación ICIPC\",\r\n };\r\n }\r\n if (score <= 50) {\r\n return {\r\n certification: \"C\",\r\n image: null,\r\n description: \"Mínimamente aprovechable\",\r\n descriptionCertification: \"No es candidato a certificación ICIPC\",\r\n };\r\n }\r\n}\r\n\r\nfunction calculateProductContainer(weightProductContainer) {\r\n if (weightProductContainer > 0.8) return 1;\r\n if (weightProductContainer <= 0.8 && weightProductContainer >= 0.4)\r\n return 0.9;\r\n if (weightProductContainer < 0.4 && weightProductContainer >= 0.2) return 0.7;\r\n if (weightProductContainer < 0.2 && weightProductContainer >= 0.1) return 0.5;\r\n if (weightProductContainer < 0.1) return 0;\r\n}\r\n\r\nexport function getScore(surveydata) {\r\n // Ecodiseno\r\n var weightProductContainer =\r\n surveydata.weightProductContainer != null\r\n ? surveydata.weightProductContainer / 100\r\n : 1;\r\n weightProductContainer = calculateProductContainer(weightProductContainer);\r\n var packageType = surveydata.packageType != null ? surveydata.packageType / 100 : 1;\r\n var adhesive = surveydata.adhesive != null ? surveydata.adhesive / 100 : 1;\r\n var coating = surveydata.coating != null ? surveydata.coating / 100 : 1;\r\n var recycleCompatibility =\r\n surveydata.recycleCompatibility != null\r\n ? surveydata.recycleCompatibility / 100\r\n : 1;\r\n var materialBarrier =\r\n surveydata.materialBarrier != null\r\n ? surveydata.materialBarrier !== \"null\"\r\n ? surveydata.materialBarrier / 100\r\n : 1\r\n : 1;\r\n var materialBarrierWeight =\r\n surveydata.materialBarrierWeight != null &&\r\n surveydata.materialBarrier === \"null\"\r\n ? surveydata.materialBarrierWeight / 100\r\n : 1;\r\n\r\n // EN 13430\r\n var route = surveydata.route != null ? surveydata.route / 100 : 1;\r\n var color = surveydata.color != null ? surveydata.color / 100 : 1;\r\n var noPlasticPercentage =\r\n surveydata.noPlasticPercentage != null\r\n ? (100 - surveydata.noPlasticPercentage) / 100\r\n : 1;\r\n var materialIdentification =\r\n surveydata.materialIdentification != null\r\n ? surveydata.materialIdentification / 100\r\n : 1;\r\n var materialPPPE =\r\n surveydata.materialPPPE != null\r\n ? surveydata.materialPPPE !== \"null\"\r\n ? surveydata.materialPPPE / 100\r\n : 1\r\n : 1;\r\n var materialFloat =\r\n surveydata.materialFloat != null && surveydata.materialPPPE === \"null\"\r\n ? surveydata.materialFloat / 100\r\n : 1;\r\n var materialUniquePlastic =\r\n surveydata.materialUniquePlastic != null\r\n ? surveydata.materialUniquePlastic / 100\r\n : 1;\r\n\r\n var materialContamination =\r\n surveydata.materialContamination != null\r\n ? surveydata.materialContamination / 100\r\n : 1;\r\n\r\n var scoreEcodiseno =\r\n weightProductContainer *\r\n packageType *\r\n adhesive *\r\n coating *\r\n recycleCompatibility *\r\n materialBarrier *\r\n materialBarrierWeight *\r\n 100;\r\n\r\n var score13430 =\r\n route *\r\n color *\r\n noPlasticPercentage *\r\n materialIdentification *\r\n materialPPPE *\r\n materialFloat *\r\n materialUniquePlastic *\r\n materialContamination *\r\n 100;\r\n var score = scoreEcodiseno * 0.4 + score13430 * 0.6;\r\n\r\n return {\r\n scoreEcodiseno: scoreEcodiseno,\r\n score13430: score13430,\r\n score: score,\r\n };\r\n}\r\n","import React from \"react\";\r\nimport { getSeal } from \"./Score.js\";\r\n\r\nexport default class ScoreFinal extends React.Component {\r\n seal(score) {\r\n let currentScore = getSeal(score);\r\n\r\n return (\r\n \r\n
\r\n
\r\n Calificación final de auto-evaluación de ecodiseño\r\n
\r\n
\r\n

\r\n {currentScore.certification} ({score.toFixed(2)}%)\r\n

\r\n

{currentScore.description}

\r\n

{currentScore.descriptionCertification}

\r\n {currentScore.image}\r\n
\r\n El presente resultado correponde a una auto-evaluación con criterios\r\n simplificados cuyo valor definitivo tendrá que ser determinado por\r\n el Instituto\r\n
\r\n

¿Quieres cotizar este servicio o asesoría adicional?

\r\n \r\n Contáctanos\r\n \r\n\r\n
\r\n
\r\n );\r\n }\r\n\r\n render() {\r\n return
{this.seal(this.props.score)}
;\r\n }\r\n}\r\n","import React from \"react\";\r\n\r\nexport default class ScoreGauge extends React.Component {\r\n render() {\r\n var color = \"card text-white bg-success mb-3\";\r\n if (this.props.score < 90 && this.props.score > 70) {\r\n color = \"card text-black bg-warning mb-3\";\r\n } else if (this.props.score <= 70) {\r\n color = \"card text-white bg-danger mb-3\";\r\n }\r\n return (\r\n
\r\n
\r\n
{this.props.score.toFixed(2)}%
\r\n

{this.props.description}

\r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport \"../App.css\";\r\nimport ScoreGauge from \"./ScoreGauge\";\r\n\r\nexport default class ScoreGauges extends React.Component {\r\n render() {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport * as Survey from \"survey-react\";\r\nimport SurveyEco from \"../surveyEco\";\r\nimport ScoreFinal from \"./ScoreFinal\";\r\nimport ScoreGauges from \"./ScoreGauges\";\r\nimport { getScore, getSeal } from \"./Score.js\";\r\nimport { GoogleSpreadsheet } from \"google-spreadsheet\";\r\n\r\n// Config variables\r\nconst SPREADSHEET_ID = process.env.REACT_APP_SPREADSHEET_ID;\r\n//const SHEET_ID = process.env.REACT_APP_SHEET_ID_ASSESSMENTS;\r\nconst CLIENT_EMAIL = process.env.REACT_APP_GOOGLE_CLIENT_EMAIL;\r\nconst PRIVATE_KEY = process.env.REACT_APP_GOOGLE_SERVICE_PRIVATE_KEY;\r\n\r\nexport default class SurveyComponent extends React.Component {\r\n constructor(props) {\r\n Survey.StylesManager.applyTheme(\"bootstrap\");\r\n //Survey.defaultBootstrapCss.navigationButton = \"btn btn-primary !important\";\r\n Survey.defaultBootstrapCss.progressButtonsContainer = \"btn btn-primary\";\r\n Survey.defaultStandardCss.navigationButton = \"btn btn-primary\";\r\n super(props);\r\n this.state = {\r\n isCompleted: false,\r\n score: 100,\r\n scoreEcodiseno: 100,\r\n score13430: 100,\r\n };\r\n this.onCompleteComponent = this.onCompleteComponent.bind(this);\r\n this.onValueChangedComponent = this.onValueChangedComponent.bind(this);\r\n this.backSurvey = this.backSurvey.bind(this);\r\n }\r\n\r\n onCompleteComponent(survey) {\r\n this.setState({ isCompleted: true });\r\n this.addAnswerGoogleSheet(survey.data);\r\n }\r\n\r\n backSurvey() {\r\n this.setState({ isCompleted: false });\r\n }\r\n\r\n onValueChangedComponent(survey, options) {\r\n //console.log(survey.data);\r\n let score = getScore(survey.data);\r\n\r\n this.setState({\r\n scoreEcodiseno: score.scoreEcodiseno,\r\n score13430: score.score13430,\r\n score: score.score,\r\n });\r\n }\r\n\r\n addAnswerGoogleSheet(surveydata) {\r\n const doc = new GoogleSpreadsheet(SPREADSHEET_ID);\r\n\r\n const appendSpreadsheet = async (row) => {\r\n try {\r\n await doc.useServiceAccountAuth({\r\n client_email: CLIENT_EMAIL,\r\n private_key: PRIVATE_KEY,\r\n });\r\n // loads document properties and worksheets\r\n await doc.loadInfo();\r\n\r\n //const sheet = doc.sheetsById[SHEET_ID];\r\n //const result = await sheet.addRow(row);\r\n } catch (e) {\r\n console.error(\"Error: \", e);\r\n }\r\n };\r\n\r\n let today = new Date();\r\n\r\n const newRow = {\r\n date: today.toISOString(),\r\n name: this.props.name,\r\n company: this.props.company,\r\n phone: this.props.phone,\r\n email: this.props.email,\r\n scoreEcodiseno: this.state.scoreEcodiseno,\r\n score13430: this.state.score13430,\r\n score: this.state.score,\r\n description: surveydata.description,\r\n certification: getSeal(this.state.score).certification,\r\n jsonData: JSON.stringify(surveydata),\r\n };\r\n\r\n appendSpreadsheet(newRow);\r\n }\r\n\r\n render() {\r\n var surveyRender = !this.state.isCompleted ? (\r\n
\r\n \r\n
\r\n ) : null;\r\n\r\n var onCompleteComponent = this.state.isCompleted ? (\r\n \r\n ) : null;\r\n\r\n var scoreGauges = this.state.isCompleted ? null : (\r\n \r\n );\r\n\r\n return (\r\n
\r\n {surveyRender}\r\n {onCompleteComponent}\r\n {scoreGauges}\r\n
\r\n );\r\n }\r\n}\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport Survey from \"./Survey\";\r\n\r\nconst Evaluation = (props) => {\r\n const [disclaimerAccept, setDisclaimerAccept] = useState(false);\r\n const [personalDataAccept, setPersonalDataAccept] = useState(false);\r\n const [name, setName] = useState(\"\");\r\n const [company, setCompany] = useState(\"\");\r\n const [phone, setPhone] = useState(\"\");\r\n const [email, setEmail] = useState(\"\");\r\n\r\n const afterSubmission = (event) => {\r\n event.preventDefault();\r\n setPersonalDataAccept(!personalDataAccept);\r\n };\r\n\r\n useEffect(() => {\r\n document.title = props.title || \"\";\r\n }, [props.title]);\r\n\r\n var disclaimer = (\r\n
\r\n
\r\n
\r\n
\r\n
Auto-evaluación
\r\n
\r\n

Aviso

\r\n

\r\n La autoevaluación de LOOP ICIPC solo es adecuada para productos:\r\n

\r\n
\r\n

\r\n Fabricados con componentes plásticos

\r\n No contiene plásticos bio/oxo degradables

\r\n Libre de sustancias peligrosas

\r\n

\r\n
\r\n
\r\n

\r\n Los resultados de esta autoevaluación no comprometen al ICIPC\r\n ante la persona o entidad que genera la autoevaluación ni ante\r\n terceros.\r\n

\r\n

\r\n Este es un servicio didáctico para orientación al público\r\n general. Para un análisis detallado,{\" \"}\r\n \r\n por favor contáctanos\r\n \r\n

\r\n
\r\n
\r\n setDisclaimerAccept(!disclaimerAccept)}\r\n >\r\n Acepto\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n\r\n var personalData = (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Información de contacto\r\n
\r\n
\r\n
\r\n \r\n setName(e.target.value)}\r\n required\r\n />\r\n
\r\n
\r\n \r\n setCompany(e.target.value)}\r\n required\r\n />\r\n
\r\n
\r\n \r\n setPhone(e.target.value)}\r\n required\r\n />\r\n
\r\n
\r\n \r\n setEmail(e.target.value)}\r\n required\r\n />\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n\r\n return (\r\n
\r\n {!disclaimerAccept && !personalDataAccept && disclaimer}\r\n {disclaimerAccept && !personalDataAccept && personalData}\r\n {disclaimerAccept && personalDataAccept && }\r\n
\r\n );\r\n};\r\nexport default Evaluation;\r\n","import React from \"react\";\r\n\r\nconst SearchBar = ({ input: keyword, onChange: setKeyword, disabled }) => {\r\n return (\r\n
\r\n setKeyword(e.target.value)}\r\n disabled={disabled}\r\n />\r\n
\r\n );\r\n};\r\n\r\nexport default SearchBar;\r\n","import React from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\n\r\nconst SearchItem = ({\r\n data,\r\n}) => {\r\n var checkProduct;\r\n if (data.product.substr(0, 4) === \"http\"){\r\n checkProduct = \"Productos Varios\";\r\n }\r\n else\r\n {\r\n checkProduct = data.product;\r\n }\r\n return (\r\n
\r\n
\r\n \r\n

{checkProduct}

\r\n \r\n
\r\n
{data.company}
\r\n
\r\n {data.certification} {data.type}\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default SearchItem;\r\n","import React from \"react\";\r\nimport SearchItem from \"./SearchItem\";\r\n\r\nconst SearchCertificateList = ({ certificateList = [] }) => {\r\n return (\r\n
\r\n
\r\n
\r\n

Producto

\r\n
\r\n
Compañía
\r\n
Certificado
\r\n
\r\n {certificateList.map((data, index) => {\r\n if (data) {\r\n return (\r\n \r\n );\r\n }\r\n return null;\r\n })}\r\n
\r\n );\r\n};\r\n\r\nexport default SearchCertificateList;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport SearchBar from \"./SearchBar\";\r\nimport SearchCertificateList from \"./SearchCertificateList\";\r\nimport { GoogleSpreadsheet } from \"google-spreadsheet\";\r\n\r\n// Config variables\r\nconst SPREADSHEET_ID = process.env.REACT_APP_SPREADSHEET_ID;\r\nconst SHEET_ID = process.env.REACT_APP_SHEET_ID_CERTIFICATES;\r\nconst CLIENT_EMAIL = process.env.REACT_APP_GOOGLE_CLIENT_EMAIL;\r\nconst PRIVATE_KEY = process.env.REACT_APP_GOOGLE_SERVICE_PRIVATE_KEY;\r\n\r\nconst Search = (props) => {\r\n const [input, setInput] = useState(\"\");\r\n const [inputDisabled, setinputDisabled] = useState(true);\r\n const [certificateListDefault, setCertificateListDefault] = useState();\r\n const [certificateList, setCertificateList] = useState();\r\n\r\n const fetchData = async () => {\r\n const doc = new GoogleSpreadsheet(SPREADSHEET_ID);\r\n\r\n try {\r\n await doc.useServiceAccountAuth({\r\n client_email: CLIENT_EMAIL,\r\n private_key: PRIVATE_KEY,\r\n });\r\n // loads document properties and worksheets\r\n await doc.loadInfo();\r\n\r\n const sheet = doc.sheetsById[SHEET_ID];\r\n const data = await sheet.getRows();\r\n setCertificateList(data);\r\n setCertificateListDefault(data);\r\n setinputDisabled(false);\r\n } catch (e) {\r\n console.error(\"Error: \", e);\r\n }\r\n };\r\n\r\n const updateInput = async (input) => {\r\n const filtered = certificateListDefault.filter((certificate) => {\r\n return (\r\n certificate.product.toLowerCase().includes(input.toLowerCase()) ||\r\n certificate.company.toLowerCase().includes(input.toLowerCase()) ||\r\n certificate.certification.toLowerCase().includes(input.toLowerCase())\r\n );\r\n });\r\n setInput(input);\r\n setCertificateList(filtered);\r\n };\r\n\r\n useEffect(() => {\r\n fetchData();\r\n document.title = props.title || \"\";\r\n }, [props.title]);\r\n\r\n return (\r\n
\r\n

Directorio de Certificados

\r\n
\r\n

\r\n Digite el nombre de la empresa certificada por el CPR del ICIPC\r\n

\r\n \r\n
\r\n {input.length > 0 && (\r\n \r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default Search;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { Route } from \"react-router-dom\";\r\n\r\nconst Verify = (props) => {\r\n const [search, setSearch] = useState(\"\");\r\n\r\n useEffect(() => {\r\n document.title = props.title || \"\";\r\n }, [props.title]);\r\n\r\n return (\r\n
\r\n

\r\n Verificación de Certificado\r\n

\r\n
\r\n

\r\n Los procesos certificados por el CPR del ICIPC tienen un código único. Por favor digite el código en el siguiente campo.\r\n

\r\n
\r\n setSearch(event.target.value)}\r\n />\r\n
\r\n
\r\n (\r\n {\r\n history.push(\"/verify/\" + search);\r\n }}\r\n >\r\n Verificar\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default Verify;\r\n","export default __webpack_public_path__ + \"static/media/loop-certificate-icipc.cb7cda77.svg\";","import React from \"react\";\r\n\r\nexport default class CertificateItem extends React.Component {\r\n render() {\r\n if (this.props.label.substr(0, 4) === \"http\"){\r\n return (\r\n
\r\n
{this.props.property}:
\r\n \r\n
\r\n );\r\n }\r\n else\r\n {\r\n return (\r\n
\r\n
{this.props.property}:
\r\n
{this.props.label}
\r\n
\r\n );\r\n } \r\n }\r\n}\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { withRouter } from \"react-router\";\r\nimport LogoEcoAAA from \"../images/loop-eco-aaa.svg\";\r\nimport LogoEcoAA from \"../images/loop-eco-aa.svg\";\r\nimport LogoEcoA from \"../images/loop-eco-a.svg\";\r\nimport LogoICIPCLoop from \"../images/loop-certificate-icipc.svg\";\r\nimport CertificateItem from \"./CertificateItem\";\r\nimport QRCode from \"react-qr-code\";\r\nimport { GoogleSpreadsheet } from \"google-spreadsheet\";\r\n\r\nvar certificationType;\r\nvar colorCertificate1 = \"row certificateSeal certificateBackground\";\r\nvar colorCertificate2 = \"card-body row-eq-height certificateBackgroundWhite certificateSeal\";\r\nvar colorCertificate3 = \"certificateSeal\";\r\nvar colorCertificate4 = \"card-body row-eq-height certificateBackgroundWhite certificateSeal\"\r\n\r\n// Config variables\r\nconst SPREADSHEET_ID = process.env.REACT_APP_SPREADSHEET_ID;\r\nconst SHEET_ID = process.env.REACT_APP_SHEET_ID_CERTIFICATES;\r\nconst CLIENT_EMAIL = process.env.REACT_APP_GOOGLE_CLIENT_EMAIL;\r\nconst PRIVATE_KEY = process.env.REACT_APP_GOOGLE_SERVICE_PRIVATE_KEY;\r\n\r\nconst Product = (props) => {\r\n //const [certificateList, setCertificateList] = useState();\r\n const [certificateFound, setCertificateFound] = useState();\r\n const [certificateReady, setCertificateReady] = useState(false);\r\n\r\n const fetchData = async (loopCode) => {\r\n const doc = new GoogleSpreadsheet(SPREADSHEET_ID);\r\n\r\n try {\r\n await doc.useServiceAccountAuth({\r\n client_email: CLIENT_EMAIL,\r\n private_key: PRIVATE_KEY,\r\n });\r\n // loads document properties and worksheets\r\n await doc.loadInfo();\r\n\r\n const sheet = doc.sheetsById[SHEET_ID];\r\n const data = await sheet.getRows();\r\n const result = data.find((certificate) => {\r\n return (\r\n certificate.loopCode.toLowerCase() === loopCode.toLowerCase() ||\r\n certificate.barCode.toLowerCase() === loopCode.toLowerCase()\r\n );\r\n });\r\n setCertificateFound(result);\r\n setCertificateReady(true);\r\n } catch (e) {\r\n console.error(\"Error: \", e);\r\n }\r\n };\r\n\r\n const getCertificationLogo = (certification) => {\r\n certificationType = certification\r\n if (certification === \"A\") {\r\n return (\r\n \r\n );\r\n } else if (certification === \"AA\") {\r\n return (\r\n \r\n );\r\n } else if (certification === \"AAA\") {\r\n return (\r\n \"ICIPC\r\n );\r\n } else if (certification.toLowerCase().includes(\"mayor\")) {\r\n var number;\r\n if(certification.substr(10, 1) === \"%\"){\r\n number = certification.substr(9, 1);\r\n }\r\n else{\r\n number = certification.substr(9, 2);\r\n }\r\n return (\r\n \r\n );\r\n } else if(certification.substr(0, 3) === \"100\"){ \r\n number = \"100\";\r\n return (\r\n \r\n );\r\n }else {\r\n return;\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n fetchData(props.match.params.loopCode);\r\n }, [props.match.params.loopCode]);\r\n\r\n const certificateImages = (certificateFound) => {\r\n if (certificateFound.imageURL1 && certificateFound.imageURL2) {\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n } else if (certificateFound.imageURL1 && !certificateFound.imageURL2) {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n } else if (!certificateFound.imageURL1 && certificateFound.imageURL2) {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n } else {\r\n return;\r\n }\r\n };\r\n\r\n const seal = () => {\r\n if (certificateFound && certificateReady) {\r\n getCertificationLogo(certificateFound.certification)\r\n if(certificationType !== \"A\" && certificationType !== \"AA\" && certificationType !== \"AAA\"){\r\n colorCertificate1 = \"row certificateSealCPR certificateBackgroundCPR\";\r\n colorCertificate2 = \"card-body row-eq-height certificateBackgroundWhite certificateSealCPR\";\r\n colorCertificate3 = \"certificateSealCPR\";\r\n colorCertificate4 = \"card-body row-eq-height certificateBackgroundWhite certificateSealCPR\";\r\n }\r\n else{\r\n colorCertificate1 = \"row certificateSeal certificateBackground\";\r\n colorCertificate2 = \"card-body row-eq-height certificateBackgroundWhite certificateSeal\";\r\n colorCertificate3 = \"certificateSeal\";\r\n colorCertificate4 = \"card-body row-eq-height certificateBackgroundWhite certificateSeal\";\r\n }\r\n return (\r\n
\r\n
\r\n El producto cuenta con certificación LOOP del ICIPC\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Calificación LOOP\r\n
\r\n
\r\n
\r\n

{certificateFound.certification}

\r\n
\r\n {getCertificationLogo(certificateFound.certification)}\r\n

{certificateFound.loopCode}

\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Detalles de la certificación\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n {certificateImages(certificateFound)}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n } else {\r\n if (certificateReady) {\r\n return (\r\n
\r\n El producto no cuenta con certificación LOOP del ICIPC\r\n
\r\n );\r\n } else {\r\n return (\r\n
\r\n Consultando...\r\n
\r\n );\r\n }\r\n }\r\n };\r\n\r\n return
{seal()}
;\r\n};\r\n\r\nexport default withRouter(Product);\r\n","import \"./App.css\";\r\nimport \"bootstrap/dist/css/bootstrap.min.css\";\r\nimport React from \"react\";\r\nimport LogoLOOP from \"./images/logo-loop.svg\";\r\nimport Evaluation from \"./components/Evaluation\";\r\nimport Search from \"./components/Search\";\r\nimport Verify from \"./components/Verify\";\r\nimport Product from \"./components/Product\";\r\nimport {\r\n HashRouter,\r\n Route,\r\n Switch,\r\n Link,\r\n useRouteMatch,\r\n} from \"react-router-dom\";\r\nimport \"survey-react/survey.css\";\r\n\r\nconst pageTitle = \"ICIPC LOOP\";\r\n\r\nfunction MenuLink({ label, to, activeOnlyWhenExact }) {\r\n let match = useRouteMatch({\r\n path: to,\r\n exact: activeOnlyWhenExact,\r\n });\r\n\r\n return (\r\n \r\n {label}\r\n \r\n );\r\n}\r\n\r\nfunction App(props) {\r\n return (\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n\r\n
    \r\n
  • \r\n \r\n
  • \r\n
  • \r\n \r\n
  • \r\n
  • \r\n \r\n
  • \r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n © 2025 ICIPC\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default App;\r\n","const reportWebVitals = onPerfEntry => {\r\n if (onPerfEntry && onPerfEntry instanceof Function) {\r\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\r\n getCLS(onPerfEntry);\r\n getFID(onPerfEntry);\r\n getFCP(onPerfEntry);\r\n getLCP(onPerfEntry);\r\n getTTFB(onPerfEntry);\r\n });\r\n }\r\n};\r\n\r\nexport default reportWebVitals;\r\n","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport './index.css';\r\nimport App from './App';\r\nimport reportWebVitals from './reportWebVitals';\r\n\r\nReactDOM.render(\r\n \r\n \r\n ,\r\n document.getElementById('root')\r\n);\r\n\r\n// If you want to start measuring performance in your app, pass a function\r\n// to log results (for example: reportWebVitals(console.log))\r\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\r\nreportWebVitals();\r\n"],"sourceRoot":""}