Skip to content

Conversation

edalvb
Copy link

@edalvb edalvb commented Aug 16, 2025

Descripción

Este pull request introduce una nueva funcionalidad de evaluación interactiva para los artículos del blog. El objetivo es mejorar la participación del usuario y ofrecer una herramienta para que los lectores puedan autoevaluar su comprensión del contenido.

Los cambios principales incluyen:

  • PostActionsSheet.jsx: Un nuevo componente que se muestra al final de cada post. Contiene un botón "Evaluar" que despliega una hoja modal desde la parte inferior de la pantalla. Utiliza createPortal para renderizar el modal en el body, asegurando que se muestre correctamente sobre todo el contenido.

  • Quiz.jsx: El componente principal que gestiona toda la lógica del cuestionario. Sus responsabilidades incluyen:

    • Cargar las preguntas y respuestas desde un archivo JSON correspondiente al slug del post.
    • Mostrar las preguntas una por una, junto con una barra de progreso.
    • Manejar la selección de respuestas del usuario, proporcionando retroalimentación visual inmediata (correcto/incorrecto).
    • Calcular y mostrar la puntuación final en una pantalla de resultados, que incluye un gráfico circular de progreso y un resumen detallado de las respuestas.
    • Permite reiniciar el cuestionario y navegar entre preguntas.
  • Integración en [post]/page.jsx: Se ha modificado la página de los posts para incluir el nuevo componente PostActionsSheet al final del contenido.

  • Datos de Quiz (/public/quiz/qa/): Se han añadido tres archivos JSON como ejemplo, conteniendo las preguntas y alternativas para los posts "qué-es-react", "cuáles-son-las-características-principales-de-react" y "qué-significa-exactamente-que-sea-declarativo".

Checklist

  • Creado el componente principal Quiz.jsx con la lógica para cargar preguntas, gestionar respuestas y mostrar resultados.
  • Implementado PostActionsSheet.jsx, una hoja modal que se abre con createPortal para iniciar la evaluación.
  • Integrado el botón "Evaluar" en la página de los artículos ([post]/page.jsx).
  • Añadidos los archivos JSON con el contenido inicial para los cuestionarios.
  • Asegurada la funcionalidad completa del quiz: desde la selección de respuestas hasta la visualización de la puntuación final.
  • Implementada la accesibilidad básica en el modal (cierre con Escape y ARIA attributes).
  • El estado del quiz (carga, error, finalizado) se maneja adecuadamente.

This commit introduces an interactive quiz feature to allow users to test their understanding of the post content.

Key changes include:
- A new `PostActionsSheet` component is added to the end of posts, which opens a modal to start the evaluation. It uses `createPortal` to ensure proper stacking context.
- The core `Quiz` component is created to manage the entire evaluation flow. It fetches questions from a dedicated JSON file based on the post's slug, tracks progress and score, and displays a results summary with a visual score indicator.
- The post page (`[post]/page.jsx`) is updated to include the new action sheet.
- Data for quizzes is structured in JSON files within `/public/quiz/qa/`, making it easy to add new evaluations for other posts.
Copy link

vercel bot commented Aug 16, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Preview Updated (UTC)
preguntas-entrevista-react Ready Ready Preview Aug 16, 2025 10:02am

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant