import React from "react" import { motion, AnimatePresence } from "framer-motion" /** * ConsequenceModal - Következmények megjelenítése (jó/rossz válasz után) * * @param {Object} props * @param {boolean} props.isOpen - Modal megjelenítése * @param {Function} props.onClose - Modal bezárása * @param {boolean} props.isCorrect - Helyes volt-e a válasz * @param {string} props.consequence - Következmény szövege * @param {number} props.consequenceType - Következmény típusa: * 0 = MOVE_FORWARD (előre lépés) * 1 = MOVE_BACKWARD (hátra lépés) * 2 = LOSE_TURN (körkihagyás) * 3 = EXTRA_TURN (extra kör) * 5 = GO_TO_START (vissza a starthoz) * @param {number} props.consequenceValue - Következmény értéke (hány mező/kör) * @param {string} props.playerAnswer - Játékos válasza * @param {string} props.correctAnswer - Helyes válasz * @param {string} props.explanation - Magyarázat */ const ConsequenceModal = ({ isOpen, onClose, isCorrect, consequence, consequenceType, consequenceValue, playerAnswer, correctAnswer, explanation }) => { const getConsequenceIcon = (type) => { switch(type) { case 0: return "🚀" // MOVE_FORWARD case 1: return "⬅️" // MOVE_BACKWARD case 2: return "😴" // LOSE_TURN case 3: return "🎉" // EXTRA_TURN case 5: return "🏁" // GO_TO_START default: return "📢" } } const getConsequenceText = (type, value) => { switch(type) { case 0: return `${value} mezőt léphetsz előre! 🚀` case 1: return `${value} mezőt lépsz vissza! �` case 2: return `${value} kört ki kell hagyni! �` case 3: return `${value} extra kör jár neked! 🎉` case 5: return "Vissza a starthoz! 🏁" default: return consequence || "Következmény" } } const getBgGradient = () => { if (isCorrect) { return "from-green-600 via-teal-600 to-green-600" } return "from-red-600 via-orange-600 to-red-600" } const getBorderColor = () => { if (isCorrect) return "border-green-500/50" return "border-red-500/50" } if (!isOpen) return null return ( {isOpen && (
{/* Backdrop */} {/* Modal Content */} {/* Header with result */}
{isCorrect ? "✅" : "❌"}

{isCorrect ? "Helyes válasz!" : "Helytelen válasz!"}

{isCorrect ? "Gratulálunk! 🎉" : "Ne add fel! 💪"}

{/* Content */}
{/* Player Answer */} {playerAnswer && (
💭

A te válaszod:

{playerAnswer}

)} {/* Correct Answer - ha helytelen volt */} {!isCorrect && correctAnswer && (
✔️

A helyes válasz:

{correctAnswer}

)} {/* Explanation */} {explanation && (
💡

Magyarázat:

{explanation}

)} {/* Consequence */}
{getConsequenceIcon(consequenceType)}

Következmény:

{getConsequenceText(consequenceType, consequenceValue)}

{/* Close Button */}
)} ) } export default ConsequenceModal