import { IonPage, IonContent, IonHeader, IonTitle, IonToolbar, IonFooter, IonImg, IonItem, IonLabel, IonList, IonCard, IonCardContent, IonCardHeader, IonCardSubtitle, IonCardTitle, IonButton, IonGrid, IonRow, IonCol, IonButtons, IonBackButton, useIonViewWillEnter, IonRadioGroup, IonRadio, IonIcon, IonChip } from '@ionic/react'; import { useParams } from 'react-router'; import React, { useState } from 'react'; import './Questions.css'; import EnciclopediaPR from '../assets/EnciclopediaPR.png'; import RobertoClemente from '../assets/RobertoClemente.jpg'; import { QuizInfo, getQuiz } from '../data/QuizInfo'; import { thumbsDown, thumbsUp } from 'ionicons/icons'; const Questions: React.FC = () => { // Estados para respuestas seleccionadas const [qres1, setQRes1] = useState(); const [qres2, setQRes2] = useState(); const [qres3, setQRes3] = useState(); const [qres4, setQRes4] = useState(); // Arreglos para saber cual radio se selecciono en cada pregunta const selected1:boolean[] = [false, false, false, false]; const selected2:boolean[] = [false, false, false, false]; const selected3:boolean[] = [false, false, false, false]; const selected4:boolean[] = [false, false, false, false]; // Estados para seleccionar iconos de las respuestas seleccionadas const [icon11, setIcon11] = useState(); const [icon12, setIcon12] = useState(); const [icon13, setIcon13] = useState(); const [icon14, setIcon14] = useState(); const [icon21, setIcon21] = useState(); const [icon22, setIcon22] = useState(); const [icon23, setIcon23] = useState(); const [icon24, setIcon24] = useState(); const [icon31, setIcon31] = useState(); const [icon32, setIcon32] = useState(); const [icon33, setIcon33] = useState(); const [icon34, setIcon34] = useState(); const [icon41, setIcon41] = useState(); const [icon42, setIcon42] = useState(); const [icon43, setIcon43] = useState(); const [icon44, setIcon44] = useState(); // Estado para contar cuantas preguntas correctas se obtuvieron const [countres, setCountRes] = useState(0); const [verResPresionado, setVerResPresionado] = useState(false); /* verificarRes() Funcion se encarga de verificar si las respuestas seleccionadas son correctas. Despliega ThumbsUp para seleccion correcta, ThumbsDowmn para seleccion incorrecta. */ const verificarRes = () => { // borrar console logs para el release console.log([qres1, qres2, qres3, qres4]); console.log(countres); // reset a los icons, count por si hubo seleccion anterior let count = 0; setCountRes(count); setVerResPresionado(true); // buton verificar respuestas precionado setIcon11(null); setIcon12(null); setIcon13(null); setIcon14(null); setIcon21(null); setIcon22(null); setIcon23(null); setIcon24(null); setIcon31(null); setIcon32(null); setIcon33(null); setIcon34(null); setIcon41(null); setIcon42(null); setIcon43(null); setIcon44(null); // loop para saber que radio escogio el usuario en cada pregunta let num: number = 0; let i: number; for(i = num; i<4; i++){ if(qres1 === quizInfo?.res1[i]){ selected1[i] = true; } if(qres2 === quizInfo?.res2[i]){ selected2[i] = true; } if(qres3 === quizInfo?.res3[i]){ selected3[i] = true; } if(qres4 === quizInfo?.res4[i]){ selected4[i] = true; } } // Para seleccionar si sale icono correccto o incorrecto en seleccion // de radio. // ======================= PREGUNTA 1 ========================================= // SI usuario seleccionio el primer radio en la pregunta 1 if(selected1[0] && quizInfo?.res1[0] === quizInfo?.correcta1){ setIcon11(); //setCountRes(countres + 1); count++; } else if (selected1[0] && quizInfo?.res1[0] !== quizInfo?.correcta1){ setIcon11() } // SI usuario seleccionio el segundo radio en la pregunta 1 if(selected1[1] && quizInfo?.res1[1] === quizInfo?.correcta1){ setIcon12(); //setCountRes(countres + 1); count++; } else if (selected1[1] && quizInfo?.res1[1] !== quizInfo?.correcta1){ setIcon12() } // SI usuario seleccionio el tercer radio en la pregunta 1 if(selected1[2] && quizInfo?.res1[2] === quizInfo?.correcta1){ setIcon13(); //setCountRes(countres + 1); count++; } else if (selected1[2] && quizInfo?.res1[2] !== quizInfo?.correcta1){ setIcon13() } // SI usuario seleccionio el cuarto radio en la pregunta 1 if(selected1[3] && quizInfo?.res1[3] === quizInfo?.correcta1){ setIcon14(); //setCountRes(countres + 1); count++; } else if (selected1[3] && quizInfo?.res1[3] !== quizInfo?.correcta1){ setIcon14() } // ======================= PREGUNTA 1 ========================================= // ======================= PREGUNTA 2 ========================================= // SI usuario seleccionio el primer radio en la pregunta 2 if(selected2[0] && quizInfo?.res2[0] === quizInfo?.correcta2){ setIcon21(); //setCountRes(countres + 1); count++; } else if (selected2[0] && quizInfo?.res2[0] !== quizInfo?.correcta2){ setIcon21() } // SI usuario seleccionio el segundo radio en la pregunta 2 if(selected2[1] && quizInfo?.res2[1] === quizInfo?.correcta2){ setIcon22(); //setCountRes(countres + 1); count++; } else if (selected2[1] && quizInfo?.res2[1] !== quizInfo?.correcta2){ setIcon22() } // SI usuario seleccionio el tercer radio en la pregunta 2 if(selected2[2] && quizInfo?.res2[2] === quizInfo?.correcta2){ setIcon23(); //setCountRes(countres + 1); count++; } else if (selected2[2] && quizInfo?.res2[2] !== quizInfo?.correcta2){ setIcon23() } // SI usuario seleccionio el cuarto radio en la pregunta 2 if(selected2[3] && quizInfo?.res2[3] === quizInfo?.correcta2){ setIcon24(); //setCountRes(countres + 1); count++; } else if (selected2[3] && quizInfo?.res2[3] !== quizInfo?.correcta2){ setIcon24() } // ======================= PREGUNTA 2 ========================================= // ======================= PREGUNTA 3 ========================================= // SI usuario seleccionio el primer radio en la pregunta 3 if(selected3[0] && quizInfo?.res3[0] === quizInfo?.correcta3){ setIcon31(); //setCountRes(countres + 1); count++; } else if (selected3[0] && quizInfo?.res3[0] !== quizInfo?.correcta3){ setIcon31() } // SI usuario seleccionio el segundo radio en la pregunta 3 if(selected3[1] && quizInfo?.res3[1] === quizInfo?.correcta3){ setIcon32(); //setCountRes(countres + 1); count++; } else if (selected3[1] && quizInfo?.res3[1] !== quizInfo?.correcta3){ setIcon32() } // SI usuario seleccionio el tercer radio en la pregunta 3 if(selected3[2] && quizInfo?.res3[2] === quizInfo?.correcta3){ setIcon33(); //setCountRes(countres + 1); count++; } else if (selected3[2] && quizInfo?.res3[2] !== quizInfo?.correcta3){ setIcon33() } // SI usuario seleccionio el cuerto radio en la pregunta 3 if(selected3[3] && quizInfo?.res3[3] === quizInfo?.correcta3){ setIcon34(); //setCountRes(countres + 1); count++; } else if (selected3[3] && quizInfo?.res3[3] !== quizInfo?.correcta3){ setIcon34() } // ======================= PREGUNTA 3 ========================================= // ======================= PREGUNTA 4 ========================================= // SI usuario seleccionio el primer radio en la pregunta 4 if(selected4[0] && quizInfo?.res4[0] === quizInfo?.correcta4){ setIcon41(); //setCountRes(countres + 1); count++; } else if (selected4[0] && quizInfo?.res4[0] !== quizInfo?.correcta4){ setIcon41() } // SI usuario seleccionio el segundo radio en la pregunta 4 if(selected4[1] && quizInfo?.res4[1] === quizInfo?.correcta4){ setIcon42(); //setCountRes(countres + 1); count++; } else if (selected4[1] && quizInfo?.res4[1] !== quizInfo?.correcta4){ setIcon42() } // SI usuario seleccionio el tercer radio en la pregunta 4 if(selected4[2] && quizInfo?.res4[2] === quizInfo?.correcta4){ setIcon43(); //setCountRes(countres + 1); count++; } else if (selected4[2] && quizInfo?.res4[2] !== quizInfo?.correcta4){ setIcon43() } // SI usuario seleccionio el cuarto radio en la pregunta 4 if(selected4[3] && quizInfo?.res4[3] === quizInfo?.correcta4){ setIcon44(); //setCountRes(countres + 1); count++; } else if (selected4[3] && quizInfo?.res4[3] !== quizInfo?.correcta4){ setIcon44() } // ======================= PREGUNTA 4 ========================================= // Para saber cueantas resspuestas acertó el usuario setCountRes(count); }; // State para desplegar la info del quiz const [quizInfo, setQuiz] = useState(); const params = useParams<{ id: string }>(); useIonViewWillEnter(() => { const quiz = getQuiz(parseInt(params.id, 10)); setQuiz(quiz); }); return ( Quiz { quizInfo ? <>

Quiz sobre la biografia de {quizInfo.title}

Marque una respuesta por pregunta

{quizInfo.pregunta1} setQRes1(e.detail.value)}> {quizInfo.res1[0]} {icon11} {quizInfo.res1[1]} {icon12} {quizInfo.res1[2]} {icon13} {quizInfo.res1[3]} {icon14} {quizInfo.pregunta2} setQRes2(e.detail.value)}> {quizInfo.res2[0]} {icon21} {quizInfo.res2[1]} {icon22} {quizInfo.res2[2]} {icon23} {quizInfo.res2[3]} {icon24} {quizInfo.pregunta3} setQRes3(e.detail.value)}> {quizInfo.res3[0]} {icon31} {quizInfo.res3[1]} {icon32} {quizInfo.res3[2]} {icon33} {quizInfo.res3[3]} {icon34} {quizInfo.pregunta4} setQRes4(e.detail.value)}> {quizInfo.res4[0]} {icon41} {quizInfo.res4[1]} {icon42} {quizInfo.res4[2]} {icon43} {quizInfo.res4[3]} {icon44} {verResPresionado ? ( <> {countres} / 4 respuestas correctas ) : null } :
Quiz not found
} Verificar respuestas
); }; export default Questions;