// src/components/DeckCreator/LuckCardEditor.jsx
// Szerencse kártya szerkesztő
import React, { useState, useEffect } from 'react'
import { FaDice, FaInfoCircle } from 'react-icons/fa'
const consequenceTypes = [
{ value: 0, label: '⬆️ Előre lépés', description: 'A játékos előre lép X mezőt' },
{ value: 1, label: '⬇️ Hátra lépés', description: 'A játékos hátra lép X mezőt' },
{ value: 2, label: '⏸️ Kör kihagyás', description: 'A játékos kihagy egy kört' },
{ value: 3, label: '⏩ Extra kör', description: 'A játékos kap egy extra kört' },
{ value: 5, label: '🏁 Vissza a starthoz', description: 'A játékos visszakerül a starthoz' }
]
export default function LuckCardEditor({ card, onChange }) {
const [cardData, setCardData] = useState({
type: 'LUCK',
text: '',
consequence: { type: 0, value: 1 }
})
useEffect(() => {
if (card) {
setCardData({
type: 'LUCK',
text: card.text || '',
consequence: card.consequence || { type: 0, value: 1 }
})
}
}, [card])
const handleTextChange = (e) => {
const newCardData = {
...cardData,
text: e.target.value
}
setCardData(newCardData)
if (onChange) {
onChange(newCardData)
}
}
const updateConsequence = (field, value) => {
const newCardData = {
...cardData,
consequence: {
...cardData.consequence,
[field]: value
}
}
setCardData(newCardData)
if (onChange) {
onChange(newCardData)
}
}
return (
{/* Info box */}
Szerencse kártya működése:
Amikor egy játékos szerencse mezőre lép, kap egy kártyát amit felolvas.
A kártyán lévő utasítás azonnal teljesül.
Példa: "Órai projektekkel kiváltottál több vizsgát is! Lépj előre 4 mezőt"
{/* Kártya szövege */}
Kártya szövege
Maximális hossz: 200 karakter
{cardData.text.length}/200
{/* Preview */}
{cardData.text.trim() && (
)}
{/* Következmények */}
🎯 Következmények
{/* Consequence Type */}
{consequenceTypes.find(t => t.value === (cardData.consequence?.type ?? 0))?.description}
{/* Consequence Value */}
{[0, 1, 2, 3].includes(cardData.consequence?.type) && (
{Array.from({ length: [0, 1].includes(cardData.consequence?.type) ? 10 : 5 }, (_, i) => i + 1).map(num => (
))}
Érték: {[0, 1].includes(cardData.consequence?.type) ? '1-10' : '1-5'} között
)}
)
}