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 (

🎮 Játék Modal-ok Demo

{/* Card Display Modal Demos */}

📝 Kártya Megjelenítés

{/* Consequence Modal Demos */}

🎯 Következmények

{/* Step Prediction Modal Demo */}

🎲 Pozíció Tippelés

Tipppeld meg a végleges pozíciót a számítás alapján!

{/* Info Panel */}

ℹ️ Használat a GameScreen-ben

{`// 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}
/>`}
            
{/* Modals */} setIsCardModalOpen(false)} card={cardType === "LUCK" ? luckCard : quizCard} cardType={cardType} onSubmitAnswer={handleCardAnswer} /> setIsConsequenceModalOpen(false)} isCorrect={isCorrect} consequenceType={isCorrect ? 3 : 4} consequenceValue={isCorrect ? 2 : 1} playerAnswer={isCorrect ? "Budapest" : "Debrecen"} correctAnswer="Budapest" explanation={isCorrect ? "Budapest a magyar főváros, 1873-ban egyesült Buda, Pest és Óbuda városa." : "A helyes válasz Budapest. Debrecen Magyarország második legnagyobb városa." } /> setIsStepModalOpen(false)} onSubmitPrediction={handleStepPrediction} currentPosition={20} diceRoll={4} fieldStepValue={2} patternModifier={2} cardText="Tippeld meg, melyik pozícióra fogsz lépni a számítás alapján!" hints={[ "A végső pozíció = jelenlegi pozíció + dobás + mező lépés + zóna módosító", "Ebben a példában: 20 + 4 + 2 + 2 = 28", "A zóna módosító a pozíció alapján változik!" ]} />
) } export default GameModalsDemo