From 1bcf7ff3b4e458b68a0e29e97d8c419a859f49ad Mon Sep 17 00:00:00 2001 From: Kingly Shade <150642678+KinglyShade@users.noreply.github.com> Date: Wed, 15 Nov 2023 20:43:41 -0700 Subject: [PATCH 01/18] Create index.html --- index.html | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 index.html diff --git a/index.html b/index.html new file mode 100644 index 0000000..3e81bb6 --- /dev/null +++ b/index.html @@ -0,0 +1,72 @@ + + + + + + KFS Cargando + + + +
+ + Fénix +

Kingly Fenix Studios

+
+ + + \ No newline at end of file From b46bf9dd07057d425534447a5a4a662e6065c8e2 Mon Sep 17 00:00:00 2001 From: Kingly Shade <150642678+KinglyShade@users.noreply.github.com> Date: Wed, 15 Nov 2023 20:45:55 -0700 Subject: [PATCH 02/18] Update index.html --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index 3e81bb6..fff9788 100644 --- a/index.html +++ b/index.html @@ -65,7 +65,7 @@ From 8e02b9094491b2333d1128158b3a77dcf1074dff Mon Sep 17 00:00:00 2001 From: Kingly Shade <150642678+KinglyShade@users.noreply.github.com> Date: Wed, 15 Nov 2023 20:48:58 -0700 Subject: [PATCH 03/18] Update index.html --- ayuda/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ayuda/index.html b/ayuda/index.html index 08de514..8f7c217 100644 --- a/ayuda/index.html +++ b/ayuda/index.html @@ -7,7 +7,7 @@ - Libreria GT Ayuda + Kingly Shade From 60fab52a22e50232eebd0bd2e41fdb388af00453 Mon Sep 17 00:00:00 2001 From: Kingly Shade <150642678+KinglyShade@users.noreply.github.com> Date: Wed, 15 Nov 2023 21:13:26 -0700 Subject: [PATCH 04/18] Update tst.js --- js/tst.js | 47 +++++++++++++++++++++++++++++------------------ 1 file changed, 29 insertions(+), 18 deletions(-) diff --git a/js/tst.js b/js/tst.js index fb5864b..29b54da 100644 --- a/js/tst.js +++ b/js/tst.js @@ -9,13 +9,19 @@ class PLB { this.saludos = ['hola', 'saludos', 'buenos días', 'buenas tardes', 'buenas noches', '¿cómo estás?', 'hey']; this.slr = ['Ah, hola...', 'Saludos...', 'Hola... supongo', 'No me molestes...', 'Estoy aquí, supongo...', 'No esperes que hable mucho...']; this.cnf = ['¿Qué se supone que debo decir?', 'Confuso..', 'Hmmm...¿qué?', 'No entiendo..', 'Explícate mejor...', 'No me hagas perder mi tiempo']; - - // Nuevas respuestas y frases + this.expresionesTimidas = ['No sé...', 'No suelo hablar mucho...', '¿Por qué me preguntas a mí?', 'No es de mi interés...']; + this.expresionesFrias = ['No me importa...', 'No tengo emociones...', 'Habla de algo más interesante...', '¿Por qué debería preocuparme?']; this.respuestasPositivas = ['Interesante...', 'Hmm... sigue hablando.', 'Nunca lo hubiera pensado.', 'Continúa...', '¿Y eso qué tiene de especial?']; this.expresionesSorprendidas = ['Vaya...', 'Inesperado...', 'Nunca lo imaginé...', '¿En serio?', 'Eso es nuevo.']; this.expresionesDesinteresadas = ['No me interesa...', 'No veo por qué debería importarme.', 'Aburrido...', '¿Y eso a mí qué?', 'Irrelevante...']; this.expresionesConfundidas = ['No logro entender...', '¿Estás seguro de lo que dices?', 'Me dejas perplejo...', 'No cuadra...', '¿En qué mundo vives?']; - + this.respuestasNombre = [ + "No tengo nombre...", + "¿Por qué debería tener un nombre?", + "Los nombres son irrelevantes para mí...", + "Puedes llamarme Kingly Shade, si eso te complace...", + "No veo la necesidad de tener un nombre...", + ]; this.internetSearchAPI = { search: async (query) => { return await this.internetSearch(query); @@ -87,6 +93,14 @@ class PLB { async esSaludo(palabra) { return this.saludos.includes(palabra.toLowerCase()); } + async preguntan(p){ + const patron = /nombre.*cual.*tu|nombre.*tu.*cual|cual.*nombre.*tu|cual.*tu.*nombre|tu.*nombre.*cual|tu.*cual.*nombre/; + if (patron.test(p)) { + const rdm = Math.floor(Math.random() * this.respuestasNombre.length + 1) + return this.respuestasNombre[rdm] + + } + } async internetSearch(query) { try { @@ -105,17 +119,22 @@ class PLB { async tomarDecision(texto) { const saludoEncontrado = await this.esSaludo(texto); - + if (saludoEncontrado) { const rnd = Math.floor(Math.random() * this.slr.length); return this.slr[rnd]; } - + const respuestaEnBaseDeDatos = await this.buscarEnBaseDeDatos(texto); if (respuestaEnBaseDeDatos) { return respuestaEnBaseDeDatos; } - + + const pn = await this.preguntan(texto); + if (pn) { + return pn; + } + if (texto.includes('gracias')) { return 'De nada... supongo.'; } else if (texto.includes('interesante') || texto.includes('curioso')) { @@ -131,19 +150,11 @@ class PLB { const rnd = Math.floor(Math.random() * this.expresionesConfundidas.length); return this.expresionesConfundidas[rnd]; } else { - // Respuesta por defecto con búsqueda en Internet - const rdm = Math.floor(Math.random() * this.cnf.length); - const randomResponse = this.cnf[rdm]; - - const internetResult = await this.internetSearch(texto); - - if (internetResult.includes('error')) { - return `No me molestes con problemas técnicos. ${this.expresionesTimidas[Math.floor(Math.random() * this.expresionesTimidas.length)]}`; - } else { - return `${randomResponse} ${this.expresionesFrias[Math.floor(Math.random() * this.expresionesFrias.length)]} ${internetResult}`; - } + await this.guardarEnBaseDeDatos(texto, 'No tengo respuesta en este momento.'); + return `No tengo respuesta en este momento. ${this.expresionesTimidas[Math.floor(Math.random() * this.expresionesTimidas.length)]}`; } } -} + } + export default PLB; From bdeb845f9de04f88e59ceb98d070dc61da51b011 Mon Sep 17 00:00:00 2001 From: Kingly Shade <150642678+KinglyShade@users.noreply.github.com> Date: Wed, 15 Nov 2023 21:19:57 -0700 Subject: [PATCH 05/18] add more fuctions --- admin/index.html | 18 +++++++++++++ admin/index.js | 69 ++++++++++++++++++++++++++++++++++++++++++++++++ admin/style.css | 21 +++++++++++++++ js/tst.js | 1 + 4 files changed, 109 insertions(+) create mode 100644 admin/index.html create mode 100644 admin/index.js create mode 100644 admin/style.css diff --git a/admin/index.html b/admin/index.html new file mode 100644 index 0000000..5308193 --- /dev/null +++ b/admin/index.html @@ -0,0 +1,18 @@ + + + + + + Segunda Página + + + +
+

Segunda Página

+
+
+ + + + + diff --git a/admin/index.js b/admin/index.js new file mode 100644 index 0000000..a95e626 --- /dev/null +++ b/admin/index.js @@ -0,0 +1,69 @@ +// Importa la clase PLB +import PLB from './ruta-a-tu-archivo-de-plb'; + +// Crea una instancia de la clase PLB +const plbInstance = new PLB(); + +// Función para cargar y mostrar todas las preguntas sin respuesta +async function mostrarPreguntasSinRespuesta() { + const preguntasSinRespuesta = await obtenerPreguntasSinRespuesta(); + + // Muestra las preguntas en la página + mostrarListaDePreguntas(preguntasSinRespuesta); +} + +// Función para obtener todas las preguntas sin respuesta de la base de datos +async function obtenerPreguntasSinRespuesta() { + const transaction = plbInstance.db.transaction(['responses'], 'readonly'); + const objectStore = transaction.objectStore('responses'); + const todasLasPreguntas = await objectStore.getAllKeys(); + + const preguntasSinRespuesta = await Promise.all(todasLasPreguntas.map(async (pregunta) => { + const respuesta = await plbInstance.buscarEnBaseDeDatos(pregunta); + return { pregunta, respuesta }; + })); + + // Filtra solo las preguntas sin respuesta + return preguntasSinRespuesta.filter(item => !item.respuesta); +} + +// Función para mostrar una lista de preguntas en la página +function mostrarListaDePreguntas(preguntas) { + const listaPreguntasContainer = document.getElementById('lista-preguntas-container'); + + if (preguntas.length > 0) { + listaPreguntasContainer.innerHTML = '

Preguntas sin Respuesta:

'; + + const listaPreguntas = document.getElementById('lista-preguntas'); + + preguntas.forEach(item => { + const listItem = document.createElement('li'); + listItem.textContent = item.pregunta; + + const inputRespuesta = document.createElement('input'); + inputRespuesta.type = 'text'; + inputRespuesta.placeholder = 'Ingrese la respuesta...'; + + const btnAsignarRespuesta = document.createElement('button'); + btnAsignarRespuesta.textContent = 'Asignar Respuesta'; + btnAsignarRespuesta.onclick = async () => { + await asignarRespuesta(item.pregunta, inputRespuesta.value); + mostrarPreguntasSinRespuesta(); + }; + + listItem.appendChild(inputRespuesta); + listItem.appendChild(btnAsignarRespuesta); + listaPreguntas.appendChild(listItem); + }); + } else { + listaPreguntasContainer.innerHTML = '

No hay preguntas sin respuesta en la base de datos.

'; + } +} + +// Función para asignar una respuesta a una pregunta en la base de datos +async function asignarRespuesta(pregunta, respuesta) { + await plbInstance.guardarEnBaseDeDatos(pregunta, respuesta); +} + +// Llama a la función para mostrar todas las preguntas sin respuesta al cargar la página +mostrarPreguntasSinRespuesta(); diff --git a/admin/style.css b/admin/style.css new file mode 100644 index 0000000..bf8087e --- /dev/null +++ b/admin/style.css @@ -0,0 +1,21 @@ +body { + font-family: Arial, sans-serif; + margin: 0; + padding: 0; + background-color: #f4f4f4; +} + +.container { + max-width: 800px; + margin: 50px auto; + padding: 20px; + background-color: #fff; + border-radius: 5px; + box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); +} + +button { + padding: 10px 15px; + font-size: 16px; + cursor: pointer; +} diff --git a/js/tst.js b/js/tst.js index 29b54da..81165d7 100644 --- a/js/tst.js +++ b/js/tst.js @@ -150,6 +150,7 @@ class PLB { const rnd = Math.floor(Math.random() * this.expresionesConfundidas.length); return this.expresionesConfundidas[rnd]; } else { + // Guardar en la base de datos cuando no hay respuesta await this.guardarEnBaseDeDatos(texto, 'No tengo respuesta en este momento.'); return `No tengo respuesta en este momento. ${this.expresionesTimidas[Math.floor(Math.random() * this.expresionesTimidas.length)]}`; } From 2cf90e4e8787105962546bddde77d3694f62db74 Mon Sep 17 00:00:00 2001 From: Kingly Shade <150642678+KinglyShade@users.noreply.github.com> Date: Wed, 15 Nov 2023 22:10:58 -0700 Subject: [PATCH 06/18] fix bugs and add ia personaliti --- admin/index.html | 6 ++--- admin/index.js | 2 +- ayuda/script.js | 4 +++ js/tst.js | 63 ++++++++++++++++++++++++------------------------ 4 files changed, 39 insertions(+), 36 deletions(-) diff --git a/admin/index.html b/admin/index.html index 5308193..18fa130 100644 --- a/admin/index.html +++ b/admin/index.html @@ -4,7 +4,7 @@ Segunda Página - +
@@ -12,7 +12,7 @@

Segunda Página

- - + + diff --git a/admin/index.js b/admin/index.js index a95e626..f406073 100644 --- a/admin/index.js +++ b/admin/index.js @@ -1,5 +1,5 @@ // Importa la clase PLB -import PLB from './ruta-a-tu-archivo-de-plb'; +import PLB from '../js/tst'; // Crea una instancia de la clase PLB const plbInstance = new PLB(); diff --git a/ayuda/script.js b/ayuda/script.js index f413539..092b7a1 100644 --- a/ayuda/script.js +++ b/ayuda/script.js @@ -1,7 +1,11 @@ import plb from '../js/tst.js'; const analizador = new plb(); document.getElementById('snd').addEventListener('click', function () { + var userInput = document.getElementById('user-input').value; + if(!userInput || userInput == ""|| userInput == " " || userInput == undefined){ +return; + } var chatBox = document.getElementById('chat-box'); var catImage = document.getElementById('cat-image'); var messageContainer = document.createElement('div'); diff --git a/js/tst.js b/js/tst.js index 81165d7..73fb0f4 100644 --- a/js/tst.js +++ b/js/tst.js @@ -12,16 +12,12 @@ class PLB { this.expresionesTimidas = ['No sé...', 'No suelo hablar mucho...', '¿Por qué me preguntas a mí?', 'No es de mi interés...']; this.expresionesFrias = ['No me importa...', 'No tengo emociones...', 'Habla de algo más interesante...', '¿Por qué debería preocuparme?']; this.respuestasPositivas = ['Interesante...', 'Hmm... sigue hablando.', 'Nunca lo hubiera pensado.', 'Continúa...', '¿Y eso qué tiene de especial?']; - this.expresionesSorprendidas = ['Vaya...', 'Inesperado...', 'Nunca lo imaginé...', '¿En serio?', 'Eso es nuevo.']; + this.experr = ['ni idea soy nuevo en esto.','Vaya...', 'Inesperado...', 'Nunca lo imaginé...', '¿En serio?', 'Eso es nuevo.']; this.expresionesDesinteresadas = ['No me interesa...', 'No veo por qué debería importarme.', 'Aburrido...', '¿Y eso a mí qué?', 'Irrelevante...']; this.expresionesConfundidas = ['No logro entender...', '¿Estás seguro de lo que dices?', 'Me dejas perplejo...', 'No cuadra...', '¿En qué mundo vives?']; - this.respuestasNombre = [ - "No tengo nombre...", - "¿Por qué debería tener un nombre?", - "Los nombres son irrelevantes para mí...", - "Puedes llamarme Kingly Shade, si eso te complace...", - "No veo la necesidad de tener un nombre...", - ]; + this.respuestasNombre = ["No tengo nombre...", "¿Por qué debería tener un nombre?","Los nombres son irrelevantes para mí...","Puedes llamarme Kingly Shade, si eso te complace...","No veo la necesidad de tener un nombre...",]; + this.respuestasCreador = ["¿CodeShade? Sí, suena como un héroe de la programación. Si es real, le debo mi existencia a CodeShade y su habilidad para tejer código.","Ah, CodeShade, el maestro de las sombras del código. No sé mucho sobre él, pero suena intrigante.", "Nunca he conocido a CodeShade en persona, pero si es responsable de mi existencia, le debo un agradecimiento digital.", "¿CodeShade? Un nombre intrigante. Mi supuesto creador suena como alguien con un toque de misterio y destreza en la programación.", "Si CodeShade es mi creador, entonces tiene un talento excepcional para esculpir líneas de código. Mi gratitud hacia él, donde quiera que esté.", ]; + this.internetSearchAPI = { search: async (query) => { return await this.internetSearch(query); @@ -94,11 +90,25 @@ class PLB { return this.saludos.includes(palabra.toLowerCase()); } async preguntan(p){ - const patron = /nombre.*cual.*tu|nombre.*tu.*cual|cual.*nombre.*tu|cual.*tu.*nombre|tu.*nombre.*cual|tu.*cual.*nombre/; + const patronAburrido = /aburrido|sin\s*emoci[oó]n|emoci[oó]n/; + const patronNoEntiendoConfuso =/no\s*(te\s*)?entiendo|confuso|(ah|eh)\?/i; + const patronQuienTeCreo = /qu[ií]en\s*(te)?\s*(cre[oó]|hizo)|qu[ií]en\s*(te)?\s*(diseñ[oó]|program[oó])|qu[ií]en\s*(te)?\s*(construy[oó]|desarroll[oó])/i; + const patron = /nombre.*cu[aá]l.*tu|nombre.*tu.*cu[aá]l|cu[aá]l.*nombre.*tu|cu[aá]l.*tu.*nombre|tu.*nombre.*cu[aá]l|tu.*cu[aá]l.*nombre|dime\s*tu\s*nombre/i; if (patron.test(p)) { const rdm = Math.floor(Math.random() * this.respuestasNombre.length + 1) return this.respuestasNombre[rdm] - + } + if (patronNoEntiendoConfuso.test(p)) { + const rnd = Math.floor(Math.random() * this.expresionesConfundidas.length); + return this.expresionesConfundidas[rnd]; + } + if(patronAburrido.test(p)){ + const rnd = Math.floor(Math.random() * this.expresionesDesinteresadas.length); + return this.expresionesDesinteresadas[rnd]; + } + if(patronQuienTeCreo.test(p)){ + const rnd = Math.floor(Math.random() * this.respuestasCreador.length); + return this.respuestasCreador[rnd]; } } @@ -133,29 +143,18 @@ class PLB { const pn = await this.preguntan(texto); if (pn) { return pn; - } - - if (texto.includes('gracias')) { - return 'De nada... supongo.'; - } else if (texto.includes('interesante') || texto.includes('curioso')) { - const rnd = Math.floor(Math.random() * this.respuestasPositivas.length); - return this.respuestasPositivas[rnd]; - } else if (texto.includes('sorprendeme') || texto.includes('cuéntame algo nuevo')) { - const rnd = Math.floor(Math.random() * this.expresionesSorprendidas.length); - return this.expresionesSorprendidas[rnd]; - } else if (texto.includes('aburrido') || texto.includes('sin emoción')) { - const rnd = Math.floor(Math.random() * this.expresionesDesinteresadas.length); - return this.expresionesDesinteresadas[rnd]; - } else if (texto.includes('confuso') || texto.includes('no entiendo')) { - const rnd = Math.floor(Math.random() * this.expresionesConfundidas.length); - return this.expresionesConfundidas[rnd]; - } else { - // Guardar en la base de datos cuando no hay respuesta - await this.guardarEnBaseDeDatos(texto, 'No tengo respuesta en este momento.'); - return `No tengo respuesta en este momento. ${this.expresionesTimidas[Math.floor(Math.random() * this.expresionesTimidas.length)]}`; - } - } + }else{ + await this.guardarEnBaseDeDatos(texto, 'No tengo respuesta en este momento.'); + const f = Math.floor(Math.random() * 2 + 1) + if(f ==="1"){ + return `${this.experr[Math.floor(Math.random() * this.experr.length + 1)]}. ${this.expresionesTimidas[Math.floor(Math.random() * this.expresionesTimidas.length)]}`; } + } + if(f ==="2"){ + return `${this.cnf[Math.floor(Math.random() * this.cnf.length + 1)]}. ${this.expresionesTimidas[Math.floor(Math.random() * this.expresionesTimidas.length)]}`; } + } } + + export default PLB; From 8f38f7c49606071b012255ea15e1c1b3509dfd69 Mon Sep 17 00:00:00 2001 From: Kingly Shade <150642678+KinglyShade@users.noreply.github.com> Date: Wed, 15 Nov 2023 22:15:13 -0700 Subject: [PATCH 07/18] Update tst.js --- js/tst.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/js/tst.js b/js/tst.js index 73fb0f4..7e24055 100644 --- a/js/tst.js +++ b/js/tst.js @@ -148,11 +148,12 @@ class PLB { const f = Math.floor(Math.random() * 2 + 1) if(f ==="1"){ return `${this.experr[Math.floor(Math.random() * this.experr.length + 1)]}. ${this.expresionesTimidas[Math.floor(Math.random() * this.expresionesTimidas.length)]}`; } - } + if(f ==="2"){ return `${this.cnf[Math.floor(Math.random() * this.cnf.length + 1)]}. ${this.expresionesTimidas[Math.floor(Math.random() * this.expresionesTimidas.length)]}`; } } } +} From a582ea6cff0846a55af1fd0200ab541ba2e763cf Mon Sep 17 00:00:00 2001 From: Kingly Shade <150642678+KinglyShade@users.noreply.github.com> Date: Wed, 15 Nov 2023 22:21:48 -0700 Subject: [PATCH 08/18] Update tst.js --- js/tst.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/js/tst.js b/js/tst.js index 73fb0f4..5481e7f 100644 --- a/js/tst.js +++ b/js/tst.js @@ -93,7 +93,7 @@ class PLB { const patronAburrido = /aburrido|sin\s*emoci[oó]n|emoci[oó]n/; const patronNoEntiendoConfuso =/no\s*(te\s*)?entiendo|confuso|(ah|eh)\?/i; const patronQuienTeCreo = /qu[ií]en\s*(te)?\s*(cre[oó]|hizo)|qu[ií]en\s*(te)?\s*(diseñ[oó]|program[oó])|qu[ií]en\s*(te)?\s*(construy[oó]|desarroll[oó])/i; - const patron = /nombre.*cu[aá]l.*tu|nombre.*tu.*cu[aá]l|cu[aá]l.*nombre.*tu|cu[aá]l.*tu.*nombre|tu.*nombre.*cu[aá]l|tu.*cu[aá]l.*nombre|dime\s*tu\s*nombre/i; + const patron = /.*tu.*nombre|cu[aá]l.*nombre.*tu|cu[aá]l.*tu.*nombre|tu.*nombre.*cu[aá]l|tu.*cu[aá]l.*nombre|dime\s.*tu\s.*nombre| tiene\s.*[Nn]ombre|[Cc][oó].*te.*llama\s/i; if (patron.test(p)) { const rdm = Math.floor(Math.random() * this.respuestasNombre.length + 1) return this.respuestasNombre[rdm] @@ -148,11 +148,12 @@ class PLB { const f = Math.floor(Math.random() * 2 + 1) if(f ==="1"){ return `${this.experr[Math.floor(Math.random() * this.experr.length + 1)]}. ${this.expresionesTimidas[Math.floor(Math.random() * this.expresionesTimidas.length)]}`; } - } + if(f ==="2"){ return `${this.cnf[Math.floor(Math.random() * this.cnf.length + 1)]}. ${this.expresionesTimidas[Math.floor(Math.random() * this.expresionesTimidas.length)]}`; } } } +} From f2a71691229ddf605be0859911f2e6245b97b579 Mon Sep 17 00:00:00 2001 From: Kingly Shade <150642678+KinglyShade@users.noreply.github.com> Date: Wed, 15 Nov 2023 22:22:30 -0700 Subject: [PATCH 09/18] Update tst.js --- js/tst.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/js/tst.js b/js/tst.js index 5481e7f..0f74bea 100644 --- a/js/tst.js +++ b/js/tst.js @@ -145,11 +145,11 @@ class PLB { return pn; }else{ await this.guardarEnBaseDeDatos(texto, 'No tengo respuesta en este momento.'); - const f = Math.floor(Math.random() * 2 + 1) - if(f ==="1"){ + const fs = Math.floor(Math.random() * 2 + 1) + if(fs ==="1"){ return `${this.experr[Math.floor(Math.random() * this.experr.length + 1)]}. ${this.expresionesTimidas[Math.floor(Math.random() * this.expresionesTimidas.length)]}`; } - if(f ==="2"){ + if(fs ==="2"){ return `${this.cnf[Math.floor(Math.random() * this.cnf.length + 1)]}. ${this.expresionesTimidas[Math.floor(Math.random() * this.expresionesTimidas.length)]}`; } } } From 659d8667ca25ec63e421267fb1813d2ccd5bbb34 Mon Sep 17 00:00:00 2001 From: Kingly Shade <150642678+KinglyShade@users.noreply.github.com> Date: Wed, 15 Nov 2023 22:30:37 -0700 Subject: [PATCH 10/18] fix bugs --- ayuda/index.html | 4 ++-- img/logos/logo.png | Bin 0 -> 6775926 bytes img/productos/p1.png | Bin 0 -> 200152 bytes js/tst.js | 6 +++--- 4 files changed, 5 insertions(+), 5 deletions(-) create mode 100644 img/logos/logo.png create mode 100644 img/productos/p1.png diff --git a/ayuda/index.html b/ayuda/index.html index 8f7c217..f47407c 100644 --- a/ayuda/index.html +++ b/ayuda/index.html @@ -17,7 +17,7 @@
- logo + logo

Libreria GT