import React, { useState } from "react" import CardDisplayModal from "./CardDisplayModal" import ConsequenceModal from "./ConsequenceModal" import StepPredictionModal from "./StepPredictionModal" /** * Demo oldal a játék modal-ok tesztelésére */ const GameModalsDemo = () => { // Card Display Modal const [isCardModalOpen, setIsCardModalOpen] = useState(false) const [cardType, setCardType] = useState("QUESTION") // Consequence Modal const [isConsequenceModalOpen, setIsConsequenceModalOpen] = useState(false) const [isCorrect, setIsCorrect] = useState(true) // Step Prediction Modal const [isStepModalOpen, setIsStepModalOpen] = useState(false) // Example cards const quizCard = { type: 0, question: "Mi Magyarország fővárosa?", answerOptions: [ { answer: "A", text: "Debrecen", correct: false }, { answer: "B", text: "Budapest", correct: true }, { answer: "C", text: "Szeged", correct: false }, { answer: "D", text: "Pécs", correct: false } ], hint: "A Duna partján fekszik" } const textCard = { type: 2, question: "Hány éves vagy?", hint: "Számmal válaszolj" } const luckCard = { text: "Szerencsés vagy! +2 lépés előre! 🍀", consequence: { type: 3, value: 2 } } const handleCardAnswer = (answer) => { console.log("Válasz:", answer) setIsCardModalOpen(false) // Következmény megjelenítése setTimeout(() => { setIsCorrect(answer === "B") setIsConsequenceModalOpen(true) }, 500) } const handleStepPrediction = (prediction) => { console.log("Tipp:", prediction) setIsStepModalOpen(false) // Példa: Számított pozíció = 20 + 4 + 2 + 2 = 28 const actualPosition = 28 const isCorrect = prediction === actualPosition // Következmény megjelenítése setTimeout(() => { setIsCorrect(isCorrect) setIsConsequenceModalOpen(true) }, 500) } return (
Tipppeld meg a végleges pozíciót a számítás alapján!
{`// Import-ok
import CardDisplayModal from "./CardDisplayModal"
import ConsequenceModal from "./ConsequenceModal"
import StepPredictionModal from "./StepPredictionModal"
// State-ek
const [isCardModalOpen, setIsCardModalOpen] = useState(false)
const [currentCard, setCurrentCard] = useState(null)
const [isConsequenceModalOpen, setIsConsequenceModalOpen] = useState(false)
const [consequenceData, setConsequenceData] = useState(null)
// WebSocket event
useEffect(() => {
if (socket) {
socket.on('game:card-drawn', (data) => {
setCurrentCard(data.card)
setIsCardModalOpen(true)
})
socket.on('game:answer-result', (data) => {
setConsequenceData(data)
setIsConsequenceModalOpen(true)
})
}
}, [socket])
// Render
setIsCardModalOpen(false)}
card={currentCard}
cardType="QUESTION"
onSubmitAnswer={handleSubmitAnswer}
/>
setIsConsequenceModalOpen(false)}
{...consequenceData}
/>`}