modificaciones de scorm reporte de calificacion y cambio de rutas absolutas a relativas

This commit is contained in:
2026-07-25 02:03:53 -06:00
parent 3ce44d7aac
commit ba8f7e5059
5 changed files with 34 additions and 9 deletions
+7 -1
View File
@@ -4,6 +4,8 @@ import Cover from './components/screens/Cover'
import Game from './components/screens/Game'
import Result from './components/screens/Result'
import { consumirIntento, intentosAgotados } from './hooks/useIntentos'
import { setScore, setLessonStatus, finishSCORM } from './scorm/scorm'
import { useSCORM } from './hooks/useSCORM'
type Screen = 'cover' | 'game' | 'result'
@@ -13,6 +15,7 @@ interface ResultState {
}
export default function App() {
useSCORM()
const [screen, setScreen] = useState<Screen>(() =>
intentosAgotados() ? 'result' : 'cover'
)
@@ -26,7 +29,10 @@ export default function App() {
setScreen('game')
}
function handleGameEnd(aprobado: boolean) {
function handleGameEnd(aprobado: boolean, correctas: number) {
setScore(correctas * 10, 100, 0)
setLessonStatus(aprobado ? 'passed' : 'failed')
finishSCORM()
setResultState({ aprobado, sinIntentos: intentosAgotados() })
setScreen('result')
}
+4 -4
View File
@@ -1,6 +1,6 @@
export const AUDIOS = {
click: '/audios/click.mp3',
wheelSpin: '/audios/wheel-spin.mp3',
correct: '/audios/feedback-correct.mpeg',
incorrect: '/audios/feedback-incorrect.mpeg',
click: './audios/click.mp3',
wheelSpin: './audios/wheel-spin.mp3',
correct: './audios/feedback-correct.mpeg',
incorrect: './audios/feedback-incorrect.mpeg',
} as const
+2 -2
View File
@@ -5,14 +5,14 @@ import QuestionModal from '../game/QuestionModal'
import RuletaSVG from '../game/Ruleta/RuletaSVG'
interface GameProps {
onEnd: (aprobado: boolean) => void
onEnd: (aprobado: boolean, correctas: number) => void
}
export default function Game({ onEnd }: GameProps) {
const { estado, categorias, girar, responder, cerrarFeedback, MAX_PREGUNTAS } = useRuleta()
useEffect(() => {
if (estado.completado) onEnd(estado.aprobado)
if (estado.completado) onEnd(estado.aprobado, estado.correctas)
}, [estado.completado])
function handleGirar() {