{"version":3,"sources":["assets/media/png/bot.png","services/Generales.jsx","services/Rutas.jsx","components/page/chatContainer/partials/ChatHeader.jsx","components/page/chatContainer/partials/BubbleTextUser.jsx","components/page/chatContainer/partials/BubbleGruposSistemas.jsx","components/page/chatContainer/partials/Imagen.jsx","components/page/chatContainer/partials/Liga.jsx","components/page/chatContainer/partials/Documento.jsx","components/page/chatContainer/partials/Enlaces.jsx","components/page/chatContainer/partials/BubbleSistemasPorGrupo.jsx","components/page/chatContainer/partials/BubbleTemas.jsx","components/page/chatContainer/partials/BubbleTextBot.jsx","components/page/chatContainer/partials/BubbleOpciones.jsx","components/page/chatContainer/partials/ChatAudio.jsx","components/page/chatContainer/partials/BubbleRespuestas.jsx","components/page/chatContainer/partials/BubbleText.jsx","components/page/chatContainer/partials/BubbleSayHi.jsx","components/page/chatContainer/partials/BubbleLoading/index.jsx","components/page/chatContainer/partials/ChatBody.jsx","components/page/chatContainer/partials/ChatFooter.jsx","services/Chatbot.service.jsx","components/page/chatContainer/hooks/useChat.jsx","components/page/chatContainer/index.jsx","App.jsx","index.js"],"names":["module","exports","__webpack_require__","p","zeroFill","number","width","toString","length","Array","test","join","Generales","getTime","horas","Date","getHours","minutos","getMinutes","concat","Rutas","ChatHeader","props","React","createElement","Fragment","id","className","src","alt","href","target","rel","BubbleTextUser","_ref","options","text","BubbleGruposSistemas","map","value","key","uuidv4","data-level","nivel","onClick","getSistemasPorGrupo","grupoSistemaId","nombre","Imagen","imagen","enlace","replace","ActivaElementoId","style","maxWidth","Liga","liga","fill","split","pop","Documento","documento","urlBase","parseSrcDocument","Enlaces","enlaces","item","tipoElementoId","BubbleSistemasPorGrupo","i","row","getTemas","sistemaId","nombreSistema","configuracion","botonAtras","regresarInicio","BubbleTemas","getOpciones","temaId","nombreTema","BubbleTextBot","_props$options","respDiccionario","valor","includes","idDiccionario","push","respuesta","BubbleOpciones","getRespuestas","opcionId","opcion","ChatAudio","isPlaying","setIsPlaying","useState","useEffect","audioSpeech","play","onended","pause","BubbleRespuestas","theObj","ValidateAudioSpeech","load","ClearAudio","prop","cleanAudioSpeech","data","__html","formatoHTML","subNivel","disabled","respuestaId","AudioComponent","isLoadingAudio","dangerouslySetInnerHTML","BubbleText","opciones","speech","chatGPT","BubbleSayHi","nomchat","BubbleLoading","data-title","ChatBody","ref","scrollBottomRef","limpiaAudio","chatAudio","isLoadingChatAnswers","setOptions","ChatFooter","name","type","placeholder","maxLength","onKeyDown","e","getContenido","ChatBotService","async","fetch","method","body","JSON","stringify","url","then","response","json","catch","error","console","warn","IdGrupo","IdSistema","IdTema","IdOpcion","IdRespuesta","Pregunta","ip","strRespuesta","Respuesta","formData","FormData","append","INITIAL_STATE_SPEECH","audioStream","contentType","useChat","useRef","setOpciones","historialOpciones","setHistorialOpciones","datos","setDatos","opcionesNivel","setOpcionesNivel","setConfiguracion","setSpeech","setIsLoadingAudio","isLoadingGroups","setIsLoadingGroups","isLoadingTopics","setIsLoadingTopics","isLoadingOptions","setIsLoadingOptions","isLoadingAnswer","setIsLoadingAnswer","setAudioSpeech","setnomchat","postConfiguracion","document","getElementById","textContent","nombreChat","determinaNivel","addOption","res","respuestaPadreId","log","Audio","getSpeech","llenarOpcionesVacias","undefined","getGruposSistemas","valor1","option","postPreguntasAbiertas","setTimeout","accionAtras","padre","filter","filtro","orden","seleccionaOpcion","ChatContainerIndex","App","ReactDOM","createRoot","render","StrictMode"],"mappings":"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","file":"static/js/main.aa7b35f8.chunk.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/media/bot.b7b3acd2.png\";","const myOpenChat = () => {\r\n let element = document.getElementById(\"chat-general-container\");\r\n element.classList.toggle(\"chat-general-view\");\r\n};\r\n\r\nconst showMyMinChat = () => {\r\n let element = document.getElementById(\"robot-btn-max-container\");\r\n element.classList.add(\"chat-general-view\");\r\n let robotBtnContainer = document.getElementById(\"robot-btn-container\");\r\n robotBtnContainer.hidden = true;\r\n let chatGeneralContainer = document.getElementById(\"chat-general-container\");\r\n chatGeneralContainer.classList.remove(\"chat-general-view\");\r\n};\r\n\r\nconst showRobotBtn = () => {\r\n let robotBtnContainer = document.getElementById(\"robot-btn-container\");\r\n robotBtnContainer.hidden = false;\r\n let chatGeneralContainer = document.getElementById(\"chat-general-container\");\r\n chatGeneralContainer.classList.remove(\"chat-general-view\");\r\n let element = document.getElementById(\"robot-btn-max-container\");\r\n element.classList.remove(\"chat-general-view\");\r\n};\r\n\r\nconst getTime = () => {\r\n let horas = zeroFill(new Date().getHours(), 2);\r\n let minutos = zeroFill(new Date().getMinutes(), 2);\r\n return `${horas}:${minutos} ${horas > 11 ? \"pm\" : \"am\"}`;\r\n};\r\n\r\nconst zeroFill = (number, width) => {\r\n width -= number.toString().length;\r\n if (width > 0) {\r\n return new Array(width + (/\\./.test(number) ? 2 : 1)).join(\"0\") + number;\r\n }\r\n return number + \"\";\r\n};\r\n\r\nexport const Generales = {\r\n myOpenChat,\r\n showMyMinChat,\r\n showRobotBtn,\r\n getTime,\r\n};\r\n","const RutaVirtual = \"http://sswvsaad01//Temporales/\";\r\nconst SVGMaximize =\r\n \"https://www.te.gob.mx/media/files/ChatBot/svg/maximize-icon.svg\";\r\nconst SVGBodyBot =\r\n \"https://www.te.gob.mx/media/files/ChatBot/svg/NormaBody.png\";\r\nconst SVGIconBot =\r\n \"https://www.te.gob.mx/media/files/ChatBot/svg/IconNorma.png\";\r\nconst SVGIconUser =\r\n \"https://www.te.gob.mx/media/files/ChatBot/svg/skinUser.svg\";\r\nconst SVGIconChat =\r\n \"https://www.te.gob.mx/media/files/ChatBot/svg/skinRobot.svg\";\r\nconst SVGIconChatPause =\r\n \"https://www.te.gob.mx/media/files/ChatBot/svg/skinRobotPause.svg\";\r\nconst SVGMinimizaIcon =\r\n \"https://www.te.gob.mx/media/files/ChatBot/svg/minimizeIcon.svg\";\r\nconst SVGarrowUpRightFromSqare =\r\n \"https://www.te.gob.mx/media/files/ChatBot/svg/arrow-up-right-from-square-solid.svg\";\r\nconst SVGFilePDFSolid =\r\n \"https://www.te.gob.mx/media/files/ChatBot/svg/file-pdf-solid.svg\";\r\nconst SVGQuitIcon =\r\n \"https://www.te.gob.mx/media/files/ChatBot/svg/closeIcon.svg\";\r\nconst SVGSendIcon =\r\n \"https://www.te.gob.mx/media/files/ChatBot/svg/sendIcon.svg\";\r\nconst SVGDictionaryIcon =\r\n \"https://www.te.gob.mx/media/files/ChatBot/svg/dictionaryIcon.svg\";\r\nconst SVGPlayIcon =\r\n \"https://www.te.gob.mx/media/files/ChatBot/svg/play_icon.svg\";\r\nconst RutaDiccionario =\r\n \"https://www.te.gob.mx/media/files/ChatBot/Diccionario/Diccionario.pdf\";\r\nconst RutaSpeech = \"https://www.te.gob.mx/CHATBOT_ML/MachineLearning/\";\r\n\r\n//const RutaSpeech = \"https://localhost:44367/MachineLearning/\"\r\n\r\n//const SVGIconChat = \"http://10.10.35.26/Repositorios/ChatBot/svg/IconNorma.png\";\r\n//const SVGArmBot = \"http://10.10.35.26/Repositorios/ChatBot/svg/arm-bot.svg\";\r\n//const SVGMouthBot = \"http://10.10.35.26/Repositorios/ChatBot/svg/mouth-bot.svg\";\r\n//const SVGEyesBot = \"http://10.10.35.26/Repositorios/ChatBot/svg/eyes-bot.svg\";\r\n\r\n//#region PRODUCCION\r\n// const URL = \"http://10.10.106.15/CHATBOT_API_QA/api/Chatbot/\";\r\n// const RutaFisica = \"\\\\10.10.106.15\\\\e$\\\\Repositorios\\\\\";\r\n//#endregion\r\n\r\n//region DESARROLLO\r\n//const URL = \"https://localhost:5001/api/Chatbot/\";\r\nconst URL = \"https://www.te.gob.mx/CHATBOT_API_QA/api/Chatbot/\";\r\n\r\nconst RutaFisica = \"D:\\\\Temporales\\\\ChatBOT\\\\\";\r\n//#endregion\r\n\r\nexport const Rutas = {\r\n URL,\r\n SVGMaximize,\r\n // SVGArmBot,\r\n SVGBodyBot,\r\n //SVGMouthBot,\r\n //SVGEyesBot,\r\n SVGarrowUpRightFromSqare,\r\n SVGFilePDFSolid,\r\n SVGIconChat,\r\n SVGIconChatPause,\r\n SVGIconBot,\r\n SVGMinimizaIcon,\r\n SVGQuitIcon,\r\n SVGSendIcon,\r\n SVGIconUser,\r\n SVGDictionaryIcon,\r\n SVGPlayIcon,\r\n RutaFisica,\r\n RutaVirtual,\r\n RutaDiccionario,\r\n RutaSpeech,\r\n};\r\n","import React, { Fragment } from \"react\";\r\nimport { Generales } from \"../../../../services/Generales\";\r\nimport { Rutas } from \"../../../../services/Rutas\";\r\n\r\nconst ChatHeader = (props) => {\r\n const ValidateAudioSpeech = (audioSpeech) => {\r\n if (audioSpeech != null) {\r\n audioSpeech.load();\r\n }\r\n };\r\n\r\n return (\r\n \r\n
\r\n
\r\n
\r\n {/* \"ojos\r\n \"boca */}\r\n \r\n
\r\n

\r\n Chatbot\r\n

\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n {/* {\r\n ValidateAudioSpeech(props?.audioSpeech);\r\n // props?.cleanAudioSpeech();\r\n Generales.showRobotBtn();\r\n }}\r\n style={{\r\n backgroundImage: `url(${Rutas.SVGMinimizaIcon})`,\r\n backgroundSize: \"cover\", // Ajusta según tus preferencias\r\n }}\r\n >\r\n {\r\n ValidateAudioSpeech(props?.audioSpeech);\r\n // props?.cleanAudioSpeech();\r\n Generales.showMyMinChat();\r\n }}\r\n style={{\r\n backgroundImage: `url(${Rutas.SVGQuitIcon})`,\r\n backgroundSize: \"cover\", // Ajusta según tus preferencias\r\n }}\r\n > */}\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default ChatHeader;\r\n","import React from \"react\";\r\nimport { Generales } from \"../../../../services/Generales\";\r\nimport { Rutas } from \"../../../../services/Rutas\";\r\n\r\nconst BubbleTextUser = ({ options }) => {\r\n return (\r\n
\r\n
\r\n
\r\n

{options[0].text}

\r\n
\r\n
\r\n {Generales.getTime()}\r\n
\r\n
\r\n\r\n
\r\n
\r\n \"icono\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default BubbleTextUser;\r\n","import React, { Fragment } from \"react\";\r\nimport { v4 as uuidv4 } from \"uuid\";\r\n\r\nconst BubbleGruposSistemas = (props) => {\r\n return (\r\n \r\n {props.options.map((value) => (\r\n \r\n props.getSistemasPorGrupo(\r\n value.grupoSistemaId,\r\n `${value.nombre}`\r\n )\r\n }\r\n >\r\n {`${value.nombre}`}\r\n \r\n ))}\r\n \r\n );\r\n};\r\n\r\nexport default BubbleGruposSistemas;\r\n","import React from \"react\";\r\nimport { Rutas } from \"../../../../services/Rutas\";\r\nimport Bot from '../../../../assets/media/png/bot.png';\r\n\r\nconst Imagen = ({ imagen }) => {\r\n return (\r\n
\r\n
\r\n
\r\n \"icono-chat\"\r\n
\r\n
\r\n
\r\n
\r\n

Click para tamaño completo.

\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default Imagen;\r\n","import React from \"react\";\r\nimport Bot from \"../../../../assets/media/png/bot.png\";\r\nimport { Rutas } from \"../../../../services/Rutas\";\r\n\r\nconst Liga = ({ liga }) => {\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 {liga.enlace.split(\"/\").pop()}\r\n  {\" \"}\r\n \r\n \r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default Liga;\r\n","import React from \"react\";\r\nimport { Rutas } from \"../../../../services/Rutas\";\r\n\r\nconst Documento = ({ documento }) => {\r\n const parseSrcDocument = (urlBase) =>\r\n `https://docs.google.com/viewerng/viewer?url=${urlBase.replace(\r\n Rutas.RutaFisica,\r\n Rutas.RutaVirtual\r\n )}&embedded=true`;\r\n\r\n return (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n

Click para abrir en otra ventana.

\r\n \r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default Documento;\r\n","import React, { Fragment } from \"react\";\r\nimport { v4 as uuidv4 } from \"uuid\";\r\nimport Imagen from \"./Imagen\";\r\nimport Liga from \"./Liga\";\r\nimport Documento from \"./Documento\";\r\n\r\nconst Enlaces = (props) => {\r\n return (\r\n \r\n {props.enlace.enlaces.map((item) =>\r\n item.tipoElementoId == 1 ? (\r\n \r\n ) : item.tipoElementoId == 2 ? (\r\n \r\n ) : (\r\n \r\n )\r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default Enlaces;\r\n","import React, { Fragment } from \"react\";\r\nimport { v4 as uuidv4 } from \"uuid\";\r\nimport Enlaces from \"./Enlaces\";\r\n\r\nconst BubbleSistemasPorGrupo = (props) => {\r\n return (\r\n \r\n {props.options.map((value, i, row) => (\r\n \r\n \r\n props.getTemas(value.sistemaId, `${value.nombreSistema}`)\r\n }\r\n >\r\n {`${value.nombreSistema}`}\r\n \r\n \r\n {i + 1 === row.length && props.configuracion.nivel < 1 ? (\r\n \r\n \r\n props.botonAtras(props.options[props.options.length - 1])\r\n }\r\n >\r\n Atrás\r\n \r\n props.regresarInicio()}\r\n >\r\n Regresar al inicio\r\n \r\n \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n ))}\r\n \r\n );\r\n};\r\n\r\nexport default BubbleSistemasPorGrupo;\r\n","import React, { Fragment } from \"react\";\r\nimport { v4 as uuidv4 } from \"uuid\";\r\nimport Enlaces from \"./Enlaces\";\r\n\r\nconst BubbleTemas = (props) => {\r\n return (\r\n \r\n {props.options.map((value, i, row) => (\r\n \r\n {\r\n props.getOpciones(value.temaId, `${value.nombreTema}`)\r\n }\r\n }\r\n >\r\n {`${value.nombreTema}`}\r\n \r\n \r\n {i + 1 === row.length && props.configuracion.nivel < 2 ? (\r\n \r\n \r\n props.botonAtras(props.options[props.options.length - 1])\r\n }\r\n >\r\n Atrás\r\n \r\n props.regresarInicio()}\r\n >\r\n Regresar al inicio\r\n \r\n \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n ))}\r\n \r\n );\r\n};\r\n\r\nexport default BubbleTemas;\r\n","import React, { Fragment,useState } from \"react\";\r\nimport { Generales } from \"../../../../services/Generales\";\r\nimport BubbleTextoGrande from \"./BubbleTextoGrande\";\r\nimport Bot from '../../../../assets/media/png/bot.png';\r\nimport { Rutas } from \"../../../../services/Rutas\";\r\n\r\nconst BubbleTextBot = (props) => {\r\n const respDiccionario=[];\r\n return (\r\n \r\n {\r\n props?.options.length ?\r\n props?.options?.map((valor) => (\r\n <>\r\n {\r\n !respDiccionario.includes(valor.idDiccionario)?\r\n (respDiccionario.push(valor.idDiccionario))?\r\n ( \r\n
\r\n
\r\n
\r\n \"icono-chat\"\r\n
\r\n
\r\n
\r\n
\r\n

{valor.respuesta}

\r\n {/*valor.respuesta.length > 200 ? (\r\n \r\n ) : ( \r\n

{valor.respuesta}

\r\n )*/} \r\n
\r\n
{Generales.getTime()}
\r\n
\r\n
\r\n ):('')\r\n :('') \r\n }\r\n \r\n ))\r\n : null}\r\n
\r\n );\r\n};\r\n\r\nexport default BubbleTextBot;\r\n","import React from \"react\";\r\nimport { v4 as uuidv4 } from \"uuid\";\r\nimport Enlaces from \"./Enlaces\";\r\n\r\nconst BubbleOpciones = (props) => {\r\n return (\r\n
\r\n {props.options.map((value, i, row) => (\r\n
\r\n\r\n {\r\n props.getRespuestas(value.opcionId, 0, `${value.opcion}`)\r\n }\r\n }\r\n >\r\n {`${value.opcion}`}\r\n \r\n\r\n \r\n\r\n\r\n {i + 1 === row.length && props.configuracion.nivel < 3 ? (\r\n\r\n
\r\n {\r\n props.botonAtras(props.options[props.options.length - 1])\r\n }\r\n }\r\n >\r\n Atrás\r\n \r\n props.regresarInicio()}\r\n >\r\n Regresar al inicio\r\n \r\n
\r\n ) : (\r\n null\r\n )}\r\n\r\n\r\n
\r\n ))}\r\n
\r\n );\r\n};\r\n\r\nexport default BubbleOpciones;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { Rutas } from \"../../../../services/Rutas\";\r\n\r\nexport const ChatAudio = (props) => {\r\n const [isPlaying, setIsPlaying] = useState(true);\r\n\r\n /*\r\n useEffect(() => {\r\n if (props.audioSpeech != null) {\r\n props.audioSpeech.play();\r\n setIsPlaying(true);\r\n setTimeout(() => {\r\n setIsPlaying(false)\r\n }, props.audioSpeech.duration * 1000);\r\n }\r\n }, [props.audioSpeech])\r\n*/\r\n\r\n useEffect(() => {\r\n if (props.audioSpeech != null) {\r\n props.audioSpeech.play();\r\n props.audioSpeech.onended = () => {\r\n setIsPlaying(false);\r\n };\r\n } else {\r\n setIsPlaying(false);\r\n }\r\n }, []);\r\n\r\n return (\r\n
\r\n {props.audioSpeech != null ? (\r\n {\r\n setIsPlaying(!isPlaying);\r\n if (isPlaying) return props.audioSpeech.pause();\r\n return props.audioSpeech.play();\r\n }}\r\n >\r\n {isPlaying ? (\r\n \"Pausar\"\r\n ) : (\r\n \"Reproducir\"\r\n )}\r\n {/**/}\r\n \r\n ) : (\r\n \r\n )}\r\n
\r\n );\r\n};\r\n","import React, { Fragment } from \"react\";\r\nimport { v4 as uuidv4 } from \"uuid\";\r\nimport Enlaces from \"./Enlaces\";\r\nimport { ChatAudio as AudioComponent } from \"./ChatAudio\";\r\n// import Bot from \"../../../../assets/media/png/bot.png\";\r\n// import { Rutas } from \"../../../../services/Rutas\";\r\n\r\nconst BubbleRespuestas = (props) => {\r\n let theObj = \"\";\r\n // console.log(audio)\r\n const formatoHTML = (data) => {\r\n theObj = { __html: data };\r\n };\r\n\r\n const ValidateAudioSpeech = (audioSpeech) => {\r\n if (audioSpeech != null) {\r\n audioSpeech.load();\r\n }\r\n };\r\n\r\n const ClearAudio = (prop) => {\r\n if (prop) {\r\n return prop?.cleanAudioSpeech();\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n {props.options.map((value, i, row) => (\r\n \r\n {formatoHTML(value.respuesta)}\r\n {value.subNivel ? (\r\n \r\n \r\n props.getRespuestas(\r\n value.opcionId,\r\n value.respuestaId,\r\n `${value.respuesta}`\r\n )\r\n }\r\n >\r\n {`${value.respuesta}`}\r\n \r\n \r\n ) : (\r\n
\r\n
\r\n
\r\n \r\n {/*\"icono-chat\"*/}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {/* {value.respuesta.length > 230 ? (\r\n \r\n ) : ( */}\r\n

\r\n {/* )} */}\r\n
\r\n
\r\n
\r\n
\r\n )}\r\n \r\n {i + 1 === row.length && props.configuracion.nivel < 4 ? (\r\n
\r\n {\r\n ValidateAudioSpeech(props?.audioSpeech);\r\n ClearAudio(props);\r\n props.botonAtras(props.options[props.options.length - 1]);\r\n }}\r\n >\r\n Atrás\r\n \r\n {\r\n ValidateAudioSpeech(props?.audioSpeech);\r\n ClearAudio(props);\r\n props.regresarInicio();\r\n }}\r\n >\r\n Regresar al inicio\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\nexport default BubbleRespuestas;\r\n","import React, { Fragment, useState } from \"react\";\r\nimport { v4 as uuidv4 } from \"uuid\";\r\nimport BubbleTextUser from \"./BubbleTextUser\";\r\nimport BubbleGruposSistemas from \"./BubbleGruposSistemas\";\r\nimport BubbleSistemasPorGrupo from \"./BubbleSistemasPorGrupo\";\r\nimport BubbleTemas from \"./BubbleTemas\";\r\nimport BubbleTextBot from \"./BubbleTextBot\";\r\nimport BubbleOpciones from \"./BubbleOpciones\";\r\nimport BubbleRespuestas from \"./BubbleRespuestas\";\r\n\r\nconst BubbleText = (props) => {\r\n // const [audioChat, setAudioChat] = useState(null);\r\n\r\n // const [audio, setAudio] = useState(null);\r\n // const [audioUrl, setAudioUrl] = useState(\"\")\r\n // const cleanAudioChat = () => setAudioChat(null)\r\n\r\n // useEffect(() => {\r\n // if(props.speech.audioStream !== \"\") {\r\n // setAudioChat(new Audio(`data:audio/mpeg;base64,${props?.speech?.audioStream}`))\r\n // }\r\n\r\n // }, [props?.speech.audioStream])\r\n return (\r\n
\r\n {props.opciones.map((item) => {\r\n return (\r\n \r\n {item?.length > 0 ? (\r\n item[0].nivel === 1 ? (\r\n \r\n ) : item[0].nivel === 2 ? (\r\n \r\n ) : item[0].nivel === 3 ? (\r\n \r\n ) : item[0].nivel === 4 ? (\r\n \r\n ) : item[0].nivel === 5 ? (\r\n \r\n ) : item[0].chatGPT ? (\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\nexport default BubbleText;\r\n","\r\nimport Bot from '../../../../assets/media/png/bot.png';\r\nimport React from \"react\";\r\nimport { Rutas } from '../../../../services/Rutas';\r\n// import ChatBody from \"./ChatBody\";\r\n\r\nconst BubbleSayHi = (props) => {\r\n const { nomchat } = props || {};\r\n return (\r\n
\r\n
\r\n
\r\n \"icono-chat\"\r\n
\r\n
\r\n
\r\n
\r\n

¡Hola, soy {nomchat}, ¿En qué puedo ayudarte?

\r\n
\r\n
\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default BubbleSayHi;\r\n","import React from \"react\";\nimport { Rutas } from \"../../../../../services/Rutas\";\n\nimport \"./BubbleLoading.css\";\n\nconst BubbleLoading = () => {\n return (\n
\n \"icono-chat\"\n
\n
\n
\n
\n
\n
\n
\n
\n );\n};\n\nexport default BubbleLoading;\n","import React, { Fragment } from \"react\";\r\nimport BubbleText from \"./BubbleText\";\r\nimport BubbleSayHi from \"./BubbleSayHi\";\r\nimport BubbleLoading from \"./BubbleLoading\";\r\n\r\nconst ChatBody = (props) => {\r\n return (\r\n \r\n
\r\n \r\n \r\n {props.isLoadingChatAnswers && }\r\n {/* */}\r\n {/*
*/}\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default ChatBody;\r\n","import React from \"react\";\r\nimport { Rutas } from \"../../../../services/Rutas\";\r\n\r\nconst ChatFooter = (props) => {\r\n // const nivel = props.opciones.length ? props?.opciones.length > 1 ? props?.opciones[1] : null : null\r\n return (\r\n
\r\n
\r\n {\r\n if (e.key === \"Enter\") {\r\n props.getContenido();\r\n }\r\n }}\r\n />\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default ChatFooter;\r\n","import { Rutas } from \"./Rutas\";\r\n\r\nconst PostConfiguracion = async () => {\r\n let url = \"ChatBot\";\r\n return await fetch(`${Rutas.URL}PostConfiguracion/${url}`, {\r\n method: \"POST\",\r\n body: JSON.stringify({\r\n url: url,\r\n }),\r\n })\r\n .then((response) => response.json())\r\n .then((response) => {\r\n return response;\r\n })\r\n .catch((error) => console.warn(error));\r\n};\r\n\r\nconst GetGruposSistemas = async () => {\r\n return await fetch(`${Rutas.URL}GetGruposSistemas`)\r\n .then((response) => response.json())\r\n .then((response) => {\r\n return response;\r\n })\r\n .catch((error) => console.warn(error));\r\n};\r\n\r\nconst GetSistemasPorGrupo = async (IdGrupo) => {\r\n return await fetch(`${Rutas.URL}GetSistemasPorGrupo/${IdGrupo}`)\r\n .then((response) => response.json())\r\n .then((response) => {\r\n return response;\r\n })\r\n .catch((error) => console.warn(error));\r\n};\r\n\r\nconst GetTemas = async (IdSistema) => {\r\n return await fetch(`${Rutas.URL}GetTemas/${IdSistema}`)\r\n .then((response) => response.json())\r\n .then((response) => {\r\n return response;\r\n })\r\n .catch((error) => console.warn(error));\r\n};\r\n\r\nconst GetOpciones = async (IdTema) => {\r\n return await fetch(`${Rutas.URL}GetOpciones/${IdTema}`)\r\n .then((response) => response.json())\r\n .then((response) => {\r\n return response;\r\n })\r\n .catch((error) => console.warn(error));\r\n};\r\n\r\nconst GetRespuestas = async (IdOpcion, IdRespuesta) => {\r\n return await fetch(`${Rutas.URL}GetRespuestas/${IdOpcion}/${IdRespuesta}`)\r\n .then((response) => response.json())\r\n .then((response) => {\r\n return response;\r\n })\r\n .catch((error) => console.warn(error));\r\n};\r\n\r\n/* const GetSpeech = async (Respuesta) => {\r\n let strRespuesta = Respuesta.replace(/(\\r\\n|\\n|\\r|-)/gm, \"\"); \r\n let strRutas=Rutas.RutaSpeech;\r\n let strVoice=\"Mia\";\r\n // debugger;\r\n return await fetch(`${Rutas.RutaSpeech}GetSpeechToText?Respuesta=${strRespuesta}&voice=${strVoice}`)\r\n .then((response) => response.json())\r\n .then((response) => {\r\n return response;\r\n })\r\n .catch((error) => { \r\n console.warn(error)\r\n return null\r\n }); \r\n}; */\r\n\r\nconst GetSpeech = async (Respuesta) => {\r\n let strRespuesta = Respuesta.replace(/(\\r\\n|\\n|\\r|-)/gm, \"\");\r\n let formData = new FormData();\r\n formData.append(\"respuesta\", strRespuesta);\r\n formData.append(\"voice\", \"Mia\");\r\n debugger;\r\n try {\r\n return await fetch(`${Rutas.RutaSpeech}GetSpeechToText`, {\r\n method: \"POST\",\r\n body: formData,\r\n })\r\n .then((response) => response.json())\r\n .then((response) => {\r\n return response;\r\n });\r\n } catch (error) {\r\n console.error(error);\r\n return null;\r\n }\r\n};\r\n\r\nconst PostPreguntasAbiertas = async (Pregunta, ip) => {\r\n return await fetch(`${Rutas.URL}PostPreguntasAbiertas/${Pregunta}`, {\r\n method: \"POST\",\r\n body: JSON.stringify({\r\n Pregunta,\r\n }),\r\n }).catch((error) => console.warn(error));\r\n};\r\n\r\nconst GetRespuestaGPT = async () => {\r\n return await fetch(`${Rutas.URL}GetRespuestaGPT`)\r\n .then((response) => response.json())\r\n .then((response) => {\r\n return response;\r\n })\r\n .catch((error) => console.warn(error));\r\n};\r\n\r\nconst GetPreguntasAbiertas = async () => {\r\n return await fetch(`${Rutas.URL}GetPreguntasAbiertas`)\r\n .then((response) => response.json())\r\n .then((response) => {\r\n return response;\r\n })\r\n .catch((error) => console.warn(error));\r\n};\r\n\r\nexport const ChatBotService = {\r\n PostConfiguracion,\r\n GetGruposSistemas,\r\n GetSistemasPorGrupo,\r\n GetTemas,\r\n GetOpciones,\r\n GetRespuestas,\r\n PostPreguntasAbiertas,\r\n GetRespuestaGPT,\r\n GetPreguntasAbiertas,\r\n GetSpeech,\r\n};\r\n","/* eslint-disable default-case */\r\nimport React, { useRef, useState } from \"react\";\r\nimport { ChatBotService } from \"../../../../services/Chatbot.service\";\r\nimport BubbleText from \"../partials/BubbleText\";\r\n\r\nconst INITIAL_STATE_SPEECH = { audioStream: \"\", contentType: \"\" };\r\n\r\nexport const useChat = () => {\r\n //#region states\r\n const scrollBottomRef = useRef(null);\r\n let [opciones, setOpciones] = useState([]);\r\n const [historialOpciones, setHistorialOpciones] = useState([]);\r\n const [datos, setDatos] = useState({ opcion: \"\" });\r\n let [opcionesNivel, setOpcionesNivel] = useState([]);\r\n let [configuracion, setConfiguracion] = useState({});\r\n // let [speech, setSpeech] = useState({});\r\n const [speech, setSpeech] = useState(INITIAL_STATE_SPEECH);\r\n const [isLoadingAudio, setIsLoadingAudio] = useState(true);\r\n const [isLoadingGroups, setIsLoadingGroups] = useState(false);\r\n const [isLoadingTopics, setIsLoadingTopics] = useState(false);\r\n const [isLoadingOptions, setIsLoadingOptions] = useState(false);\r\n const [isLoadingAnswer, setIsLoadingAnswer] = useState(false);\r\n const [audioSpeech, setAudioSpeech] = useState(null);\r\n let [nomchat, setnomchat] = useState(\"\");\r\n\r\n //#endregion\r\n\r\n //#region services\r\n const postConfiguracion = () => {\r\n ChatBotService.PostConfiguracion().then((response) => {\r\n document.getElementById(\"chatbot-name\").textContent =\r\n response[0].nombreChat;\r\n setnomchat(response[0].nombreChat);\r\n setConfiguracion((configuracion = response[0]));\r\n determinaNivel(response[0]);\r\n });\r\n };\r\n\r\n const getGruposSistemas = async () => {\r\n try {\r\n const res = await ChatBotService.GetGruposSistemas();\r\n setOpcionesNivel((opcionesNivel = res));\r\n setOpciones([...opciones, res]);\r\n } catch (error) {\r\n console.warn(error);\r\n }\r\n // ChatBotService\r\n // .GetGruposSistemas()\r\n // .then((response) => {\r\n // setOpcionesNivel((opcionesNivel = response));\r\n // setOpciones([...opciones, response]);\r\n // });\r\n // scrollBottom();\r\n };\r\n\r\n const getSistemasPorGrupo = async (grupoSistemaId, text) => {\r\n setOpciones((opciones = []));\r\n if (text !== \"\") addOption(text);\r\n setIsLoadingGroups(true);\r\n try {\r\n const res = await ChatBotService.GetSistemasPorGrupo(grupoSistemaId);\r\n setHistorialOpciones([...historialOpciones, res]);\r\n setOpcionesNivel((opcionesNivel = res));\r\n setOpciones([...opciones, res]);\r\n } catch (error) {\r\n console.warn(error);\r\n } finally {\r\n setIsLoadingGroups(false);\r\n }\r\n // ChatBotService\r\n // .GetSistemasPorGrupo(grupoSistemaId)\r\n // .then((response) => {\r\n // setHistorialOpciones([...historialOpciones, response]);\r\n // setOpcionesNivel((opcionesNivel = response));\r\n // setOpciones([...opciones, response]);\r\n // });\r\n // scrollBottom();\r\n };\r\n\r\n const getTemas = async (sistemaId, text) => {\r\n setOpciones((opciones = []));\r\n if (text !== \"\") addOption(text);\r\n setIsLoadingTopics(true);\r\n try {\r\n const res = await ChatBotService.GetTemas(sistemaId);\r\n setHistorialOpciones([...historialOpciones, res]);\r\n setOpcionesNivel((opcionesNivel = res));\r\n setOpciones([...opciones, res]);\r\n } catch (error) {\r\n console.warn(error);\r\n } finally {\r\n setIsLoadingTopics(false);\r\n }\r\n\r\n // ChatBotService\r\n // .GetTemas(sistemaId)\r\n // .then((response) => {\r\n // setHistorialOpciones([...historialOpciones, response]);\r\n // setOpcionesNivel((opcionesNivel = response));\r\n // setOpciones([...opciones, response]);\r\n // });\r\n // scrollBottom();\r\n };\r\n\r\n const getOpciones = async (temaId, text) => {\r\n setOpciones((opciones = []));\r\n if (text !== \"\") addOption(text);\r\n setIsLoadingOptions(true);\r\n try {\r\n const res = await ChatBotService.GetOpciones(temaId);\r\n setHistorialOpciones([...historialOpciones, res]);\r\n setOpcionesNivel((opcionesNivel = res));\r\n setOpciones([...opciones, res]);\r\n } catch (error) {\r\n } finally {\r\n setIsLoadingOptions(false);\r\n }\r\n // ChatBotService\r\n // .GetOpciones(temaId)\r\n // .then((response) => {\r\n // setHistorialOpciones([...historialOpciones, response]);\r\n // setOpcionesNivel((opcionesNivel = response));\r\n // setOpciones([...opciones, response]);\r\n // });\r\n // scrollBottom();\r\n };\r\n\r\n const getSpeech = async (respuesta) => {\r\n try {\r\n ChatBotService.GetSpeech(respuesta).then((response) => {\r\n if (response) {\r\n setAudioSpeech(\r\n new Audio(`data:audio/mpeg;base64,${response?.audioStream}`)\r\n );\r\n setSpeech(response);\r\n } else {\r\n cleanAudioSpeech();\r\n }\r\n setIsLoadingAudio(false);\r\n });\r\n // debugger\r\n /* console.log(res)\r\n if(res == null) {\r\n return setAudioSpeech(null)\r\n }\r\n setAudioSpeech(new Audio(`data:audio/mpeg;base64,${res?.audioStream}`))\r\n setIsLoadingAudio(false);\r\n setSpeech(res); */\r\n } catch (error) {\r\n setAudioSpeech(null);\r\n console.warn(error);\r\n }\r\n };\r\n\r\n const getRespuestas = async (opcionId, respuestaPadreId, text) => {\r\n console.log(\"Respuestas: \", opcionId);\r\n cleanAudioSpeech();\r\n setOpciones((opciones = []));\r\n if (text !== \"\") {\r\n addOption(text);\r\n }\r\n setIsLoadingAnswer(true);\r\n try {\r\n const res = await ChatBotService.GetRespuestas(\r\n opcionId,\r\n respuestaPadreId\r\n );\r\n if (JSON.stringify(res) !== JSON.stringify(opcionesNivel)) {\r\n setHistorialOpciones([...historialOpciones, res]);\r\n setOpcionesNivel((opcionesNivel = res));\r\n setOpciones([...opciones, res]);\r\n getSpeech(res[0].respuesta);\r\n } else {\r\n llenarOpcionesVacias();\r\n }\r\n } catch (error) {\r\n console.warn(error);\r\n } finally {\r\n setIsLoadingAnswer(false);\r\n }\r\n // ChatBotService\r\n // .GetRespuestas(opcionId, respuestaPadreId)\r\n // .then((response) => {\r\n // if (JSON.stringify(response) !== JSON.stringify(opcionesNivel)) {\r\n // ChatBotService.GetSpeech(response[0].respuesta)\r\n // .then((response) => {\r\n // // console.log(response, \"response\")\r\n // setIsLoadingAudio(false)\r\n // setSpeech(response);\r\n // // setSpeech([(speech = response)]);\r\n // });\r\n // setHistorialOpciones([...historialOpciones, response]);\r\n // setOpcionesNivel((opcionesNivel = response));\r\n // setOpciones([...opciones, response]);\r\n // } else {\r\n // llenarOpcionesVacias();\r\n // }\r\n // }\r\n // );\r\n // scrollBottom();\r\n };\r\n\r\n const chatGPT = (data) => {\r\n setOpciones([...opciones, data]);\r\n };\r\n //#endregion\r\n\r\n //#region functions\r\n const determinaNivel = (data) => {\r\n if (data !== undefined) {\r\n switch (data.nivel) {\r\n case 0:\r\n getGruposSistemas();\r\n break;\r\n case 1:\r\n getSistemasPorGrupo(data.valor1, \"\");\r\n break;\r\n case 2:\r\n getTemas(data.valor1, \"\");\r\n break;\r\n }\r\n }\r\n };\r\n\r\n const limpiaAudio = () => {\r\n let element = document.getElementById(\"CtrlPlay\");\r\n element.load();\r\n };\r\n\r\n const scrollBottom = () => {\r\n // let element = document.getElementById(\"body-chatbot\");\r\n return scrollBottomRef.current?.scrollIntoView({ behavior: \"smooth\" });\r\n\r\n // element?.scrollTo(0, element.scrollHeight );\r\n };\r\n\r\n const addOption = (option) => {\r\n opciones.push([{ nivel: 0, text: option }]);\r\n };\r\n\r\n const postPreguntasAbiertas = async () => {\r\n ChatBotService.PostPreguntasAbiertas(datos.opcion);\r\n try {\r\n const res = await ChatBotService.GetPreguntasAbiertas(datos.opcion);\r\n setTimeout(() => {\r\n chatGPT(res);\r\n }, 500);\r\n } catch (error) {\r\n console.warn(error);\r\n }\r\n // setTimeout(() => {\r\n\r\n // ChatBotService.GetPreguntasAbiertas(datos.opcion)\r\n // .then((response) => {\r\n // chatGPT(response);\r\n // });\r\n\r\n // }, 500);\r\n };\r\n\r\n const llenarOpcionesVacias = () => {\r\n setOpciones([...opciones, []]);\r\n return ;\r\n };\r\n\r\n // const handleInputchange = (event) => {\r\n // setDatos({\r\n // ...datos,\r\n // [event.target.name]: event.target.value,\r\n // });\r\n // };\r\n\r\n const seleccionaOpcion = (item) => {\r\n let {\r\n orden,\r\n grupoSistemaId,\r\n sistemaId,\r\n temaId,\r\n opcionId,\r\n respuestaPadreId,\r\n nombre,\r\n nombreSistema,\r\n nombreTema,\r\n opcion,\r\n respuesta,\r\n nivel,\r\n } = item[0] || {};\r\n\r\n switch (nivel) {\r\n case 1:\r\n getSistemasPorGrupo(grupoSistemaId, `${orden} - ${nombre}`);\r\n break;\r\n case 2:\r\n getTemas(sistemaId, `${orden} - ${nombreSistema}`);\r\n break;\r\n case 3:\r\n getOpciones(temaId, `${orden} - ${nombreTema}`);\r\n break;\r\n case 4:\r\n debugger;\r\n getRespuestas(opcionId, 0, `${orden} - ${opcion}`);\r\n break;\r\n case 5:\r\n getRespuestas(opcionId, respuestaPadreId, `${orden} - ${respuesta}`);\r\n break;\r\n }\r\n };\r\n\r\n const limpiarDatos = () => {\r\n document.getElementById(\"chat-input\").value = \"\";\r\n setDatos({\r\n opcion: \"\",\r\n });\r\n };\r\n\r\n const getContenido = () => {\r\n setDatos((datos.opcion = document.getElementById(\"chat-input\").value));\r\n\r\n if (datos.opcion !== \"\") {\r\n addOption(datos.opcion);\r\n postPreguntasAbiertas();\r\n let item = opcionesNivel.filter((item) => item.orden === datos.opcion);\r\n if (item.length > 0) {\r\n seleccionaOpcion(item);\r\n }\r\n // scrollBottom();\r\n }\r\n limpiarDatos();\r\n };\r\n\r\n const botonAtras = (opcion) => {\r\n let padre = {};\r\n let item = {};\r\n historialOpciones.map((valor) => {\r\n if (!valor.chatGPT) {\r\n switch (opcion.nivel) {\r\n case 4:\r\n item = valor.filter(\r\n (filtro) =>\r\n filtro.nivel === opcion.nivel - 1 &&\r\n filtro.temaId === opcion.padre\r\n );\r\n\r\n if (item[0] !== undefined) {\r\n padre = item[0];\r\n }\r\n\r\n break;\r\n case 5:\r\n if (opcion.respuestaPadreId === 0) {\r\n item = valor.filter(\r\n (filtro) =>\r\n filtro.nivel === opcion.nivel - 1 &&\r\n filtro.opcionId === opcion.opcionId\r\n );\r\n if (item[0] != null) {\r\n padre = item[0];\r\n }\r\n } else {\r\n item = valor.filter(\r\n (filtro) =>\r\n filtro.nivel === opcion.nivel &&\r\n filtro.opcionId === opcion.opcionId &&\r\n filtro.respuestaId === opcion.respuestaPadreId\r\n );\r\n if (item[0] != null) {\r\n padre = item[0];\r\n }\r\n }\r\n\r\n break;\r\n }\r\n }\r\n });\r\n accionAtras(padre);\r\n };\r\n\r\n const accionAtras = (data) => {\r\n switch (data.nivel) {\r\n case 3:\r\n getTemas(data.padre, \"\");\r\n break;\r\n case 4:\r\n getOpciones(data.padre, \"\");\r\n break;\r\n case 5:\r\n getRespuestas(data.opcionId, 0, \"\");\r\n break;\r\n }\r\n };\r\n\r\n const regresarInicio = () => {\r\n setOpciones((opciones = []));\r\n postConfiguracion();\r\n };\r\n\r\n const cleanAudioSpeech = () => {\r\n setAudioSpeech(null);\r\n setSpeech(INITIAL_STATE_SPEECH);\r\n };\r\n\r\n return {\r\n getTemas,\r\n getOpciones,\r\n getRespuestas,\r\n opciones,\r\n configuracion,\r\n botonAtras,\r\n regresarInicio,\r\n speech,\r\n limpiaAudio,\r\n scrollBottomRef,\r\n getSistemasPorGrupo,\r\n postConfiguracion,\r\n getContenido,\r\n isLoadingGroups,\r\n isLoadingTopics,\r\n isLoadingOptions,\r\n isLoadingAnswer,\r\n isLoadingAudio,\r\n audioSpeech,\r\n cleanAudioSpeech,\r\n nomchat,\r\n };\r\n};\r\n","/* eslint-disable react-hooks/exhaustive-deps */\r\nimport React, { Fragment, useEffect, useState } from \"react\";\r\nimport ChatHeader from \"./partials/ChatHeader\";\r\nimport ChatBody from \"./partials/ChatBody\";\r\nimport \"../../../assets/css/bootstrap.min.css\";\r\nimport \"../../../assets/css/style.css\";\r\nimport \"../../../assets/css/style_responsive.css\";\r\nimport ChatFooter from \"./partials/ChatFooter\";\r\nimport { useChat } from \"./hooks/useChat\";\r\n\r\nconst ChatContainerIndex = () => {\r\n const {\r\n getSistemasPorGrupo,\r\n getTemas,\r\n getOpciones,\r\n getRespuestas,\r\n opciones,\r\n configuracion,\r\n botonAtras,\r\n regresarInicio,\r\n speech,\r\n limpiaAudio,\r\n scrollBottomRef,\r\n postConfiguracion,\r\n getContenido,\r\n chatAudio,\r\n audioSpeech,\r\n cleanAudioSpeech,\r\n nomchat,\r\n isLoadingAudio,\r\n isLoadingGroups,\r\n isLoadingTopics,\r\n isLoadingOptions,\r\n isLoadingAnswer,\r\n } = useChat();\r\n\r\n useEffect(() => {\r\n postConfiguracion();\r\n }, []);\r\n\r\n return (\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default ChatContainerIndex;\r\n","import React from \"react\";\r\nimport ChatContainerIndex from \"./components/page/chatContainer/index\";\r\n// import RobotBtnIndex from \"./components/page/robotBtn\";\r\n// import RobotMinIndex from \"./components/page/robotMin\";\r\n\r\nfunction App() {\r\n return (\r\n
\r\n
\r\n {/* Se comento para que se muestre en la pagina */}\r\n {/* */}\r\n {/* */}\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default App;\r\n","import React from 'react';\r\nimport ReactDOM from 'react-dom/client';\r\nimport './index.css';\r\nimport App from './App';\r\n\r\nconst root = ReactDOM.createRoot(document.getElementById('chatBotApp'));\r\nroot.render(\r\n \r\n \r\n \r\n);\r\n"],"sourceRoot":""}