Loading repository data…
Loading repository data…
Seb-RM / repository
Esta es una aplicación que simula una conversación de chat con un robot que cuenta chistes. Utiliza una API externa para obtener bromas aleatorias y las presenta de manera interactiva.
¡Bienvenido al Robot Joke Generator! Esta es una aplicación web sencilla y divertida que simula una conversación de chat con un robot que cuenta chistes. Utiliza una API externa para obtener bromas aleatorias y las presenta de manera interactiva, creando una experiencia amigable y entretenida.
La aplicación permite a los usuarios interactuar con un robot virtual presionando un botón para solicitar una broma. El robot responde con chistes divertidos obtenidos de la API de icanhazdadjoke, simulando un chat en tiempo real. Es perfecta para momentos de ocio o para demostrar conceptos básicos de desarrollo web.
Para utilizar la aplicación:
index.html en tu navegador web.El corazón de la aplicación está en el archivo script.js. Aquí se destaca la función generateJoke, que maneja la lógica principal:
async function generateJoke() {
jokeBtn.disabled = true; // Deshabilita el botón para evitar clics múltiples
const message = createMessageElement("Hey Robot, tell me a joke!"); // Crea el mensaje del usuario
appendMessage(message); // Añade el mensaje al chat
const joke = createMessageElement(); // Crea el elemento para la broma
setElementContent(joke, '<i class="fa-solid fa-ellipsis"></i>'); // Muestra indicador de carga
appendMessage(joke); // Añade al chat
const res = await fetch("https://icanhazdadjoke.com/", { // Petición asíncrona a la API
headers: {
Accept: "application/json", // Especifica formato JSON
},
});
if (res.ok) { // Si la respuesta es exitosa
const data = await res.json(); // Parsea la respuesta JSON
setElementContent(joke, data.joke); // Establece el contenido de la broma
jokeBtn.disabled = false; // Rehabilita el botón
}
}
Conceptos Aplicados:
async/await para manejar peticiones HTTP sin bloquear la interfaz.function createMessageElement(content) {
const element = document.createElement("div"); // Crea un nuevo elemento div
element.classList.add("message"); // Añade clase base
if (content) {
element.classList.add("response"); // Si hay contenido, es mensaje del usuario
setElementContent(element, content);
} else {
element.classList.add("joke"); // Si no, es broma del robot
}
return element;
}
function setElementContent(element, content) {
element.innerHTML = content; // Establece el contenido HTML del elemento
}
function appendMessage(element) {
chat.appendChild(element); // Añade el elemento al contenedor del chat
}
Estas funciones demuestran el manejo eficiente del DOM, creando elementos dinámicos y actualizando el contenido de la página en tiempo real.
Clona el Repositorio:
git clone https://github.com/Seb-RM/Javascript_Html_CSS-Robot-Joke-Generator.git
Navega al Directorio:
cd robot-joke-generator
Abre en el Navegador:
index.html directamente en tu navegador web.¡Diviértete generando bromas con el Robot Joke Generator! 😄