diff --git a/SerpentRace_Frontend/src/components/DeckCreator/CardEditor.jsx b/SerpentRace_Frontend/src/components/DeckCreator/CardEditor.jsx index ff6e2293..2fc5cbe3 100644 --- a/SerpentRace_Frontend/src/components/DeckCreator/CardEditor.jsx +++ b/SerpentRace_Frontend/src/components/DeckCreator/CardEditor.jsx @@ -20,7 +20,8 @@ export default function CardEditor({ card, isCreating, cardType, onSave, onCance id: null, type: type, points: 10, - timeLimit: 30 + timeLimit: 30, + consequence: { type: 0, value: 1 } } switch (type) { @@ -31,7 +32,8 @@ export default function CardEditor({ card, isCreating, cardType, onSave, onCance question: '', options: ['', '', '', ''], correctAnswer: 0, - explanation: '' + explanation: '', + wrongConsequence: { type: 1, value: 1 } } case 'JOKER': return { @@ -40,7 +42,8 @@ export default function CardEditor({ card, isCreating, cardType, onSave, onCance description: '', effect: '', actionType: 'skip', - usage: 'once' + usage: 'once', + wrongConsequence: { type: 1, value: 1 } } case 'LUCK': return { diff --git a/SerpentRace_Frontend/src/components/DeckCreator/CardsList.jsx b/SerpentRace_Frontend/src/components/DeckCreator/CardsList.jsx index b391b5cc..30ea9d16 100644 --- a/SerpentRace_Frontend/src/components/DeckCreator/CardsList.jsx +++ b/SerpentRace_Frontend/src/components/DeckCreator/CardsList.jsx @@ -263,14 +263,6 @@ export default function CardsList({
📊 Összesen: {cards.length} kártya
- - {cards.length > 0 && ( -
- 📋 {cards.filter(c => c.type === 'QUESTION').length} - 🃏 {cards.filter(c => c.type === 'JOKER').length} - 🎲 {cards.filter(c => c.type === 'LUCK').length} -
- )} diff --git a/SerpentRace_Frontend/src/components/DeckCreator/JokerCardEditor.jsx b/SerpentRace_Frontend/src/components/DeckCreator/JokerCardEditor.jsx index 3d23a1af..5f8118e6 100644 --- a/SerpentRace_Frontend/src/components/DeckCreator/JokerCardEditor.jsx +++ b/SerpentRace_Frontend/src/components/DeckCreator/JokerCardEditor.jsx @@ -4,17 +4,29 @@ import React, { useState, useEffect } from 'react' import { FaTheaterMasks, FaInfoCircle, FaUsers } 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 JokerCardEditor({ card, onChange }) { const [cardData, setCardData] = useState({ type: 'JOKER', - text: '' + text: '', + consequence: { type: 0, value: 1 }, + wrongConsequence: { type: 1, value: 1 } }) useEffect(() => { if (card) { setCardData({ type: 'JOKER', - text: card.text || '' + text: card.text || '', + consequence: card.consequence || { type: 0, value: 1 }, + wrongConsequence: card.wrongConsequence || { type: 1, value: 1 } }) } }, [card]) @@ -31,6 +43,36 @@ export default function JokerCardEditor({ card, onChange }) { } } + const updateConsequence = (field, value) => { + const newCardData = { + ...cardData, + consequence: { + ...cardData.consequence, + [field]: value + } + } + setCardData(newCardData) + + if (onChange) { + onChange(newCardData) + } + } + + const updateWrongConsequence = (field, value) => { + const newCardData = { + ...cardData, + wrongConsequence: { + ...cardData.wrongConsequence, + [field]: value + } + } + setCardData(newCardData) + + if (onChange) { + onChange(newCardData) + } + } + // Példa joker kártyák const exampleCards = [ "Felelsz vagy mersz? (Az előző játékos kérdez)", @@ -57,18 +99,10 @@ export default function JokerCardEditor({ card, onChange }) { } return ( -
+
+ {/* Info box */}
- {/* Header */} -
- -

- Joker Kártya Szerkesztő -

-
- - {/* Info box */} -
+
@@ -86,28 +120,33 @@ export default function JokerCardEditor({ card, onChange }) {
+
- {/* Card text input */} -
-
- -