Refactor: DeckCreator komponensek típus kezelésének egységesítése
- Frissítve a DeckHeader típusai a backend formátumra (QUESTION, LUCK, JOKER) - Frissítve a CardsList és Editor komponensek típus kezelése - Egyszerűsítve a kártya létrehozás és mentés logika - Az új kártya gomb mindig a pakli típusának megfelelő kártyát hozza létre
This commit is contained in:
@@ -22,7 +22,7 @@ export default function CardEditor({ card, isCreating, cardType, onSave, onCance
|
||||
}
|
||||
|
||||
switch (type) {
|
||||
case 'task':
|
||||
case 'QUESTION':
|
||||
return {
|
||||
...baseData,
|
||||
subType: 'quiz',
|
||||
@@ -31,7 +31,7 @@ export default function CardEditor({ card, isCreating, cardType, onSave, onCance
|
||||
correctAnswer: 0,
|
||||
explanation: ''
|
||||
}
|
||||
case 'joker':
|
||||
case 'JOKER':
|
||||
return {
|
||||
...baseData,
|
||||
title: '',
|
||||
@@ -40,7 +40,7 @@ export default function CardEditor({ card, isCreating, cardType, onSave, onCance
|
||||
actionType: 'skip',
|
||||
usage: 'once'
|
||||
}
|
||||
case 'luck':
|
||||
case 'LUCK':
|
||||
return {
|
||||
...baseData,
|
||||
event: '',
|
||||
@@ -75,7 +75,7 @@ export default function CardEditor({ card, isCreating, cardType, onSave, onCance
|
||||
}
|
||||
|
||||
const validateCard = (data) => {
|
||||
if (data.type === 'task') {
|
||||
if (data.type === 'QUESTION') {
|
||||
if (!data.question && !data.statement) {
|
||||
alert("❌ Kérdés vagy állítás megadása kötelező!")
|
||||
return false
|
||||
@@ -84,12 +84,12 @@ export default function CardEditor({ card, isCreating, cardType, onSave, onCance
|
||||
alert("❌ Minden válaszlehetőséget ki kell tölteni!")
|
||||
return false
|
||||
}
|
||||
} else if (data.type === 'joker') {
|
||||
} else if (data.type === 'JOKER') {
|
||||
if (!data.text || !data.text.trim()) {
|
||||
alert("❌ Joker kártya szövege nem lehet üres!")
|
||||
return false
|
||||
}
|
||||
} else if (data.type === 'luck') {
|
||||
} else if (data.type === 'LUCK') {
|
||||
if (!data.text || !data.text.trim()) {
|
||||
alert("❌ Szerencse kártya szövege nem lehet üres!")
|
||||
return false
|
||||
@@ -128,19 +128,19 @@ export default function CardEditor({ card, isCreating, cardType, onSave, onCance
|
||||
<div className="flex items-center justify-between">
|
||||
<div className="flex items-center gap-3">
|
||||
<div className="text-2xl">
|
||||
{cardData.type === 'task' && '📋'}
|
||||
{cardData.type === 'joker' && '🃏'}
|
||||
{cardData.type === 'luck' && '🎲'}
|
||||
{cardData.type === 'QUESTION' && '📋'}
|
||||
{cardData.type === 'JOKER' && '🃏'}
|
||||
{cardData.type === 'LUCK' && '🎲'}
|
||||
</div>
|
||||
<div>
|
||||
<h2 className="text-xl font-bold text-[color:var(--color-text)]">
|
||||
{isCreating ? 'Új' : 'Szerkesztés'} {' '}
|
||||
{cardData.type === 'task' && 'Feladat kártya'}
|
||||
{cardData.type === 'joker' && 'Joker kártya'}
|
||||
{cardData.type === 'luck' && 'Szerencse kártya'}
|
||||
{cardData.type === 'QUESTION' && 'Feladat kártya'}
|
||||
{cardData.type === 'JOKER' && 'Joker kártya'}
|
||||
{cardData.type === 'LUCK' && 'Szerencse kártya'}
|
||||
</h2>
|
||||
<div className="text-[color:var(--color-text-muted)] text-sm">
|
||||
{cardData.type === 'task' && cardData.subType && (
|
||||
{cardData.type === 'QUESTION' && cardData.subType && (
|
||||
<>
|
||||
{cardData.subType === 'quiz' && 'Quiz (A/B/C/D)'}
|
||||
{cardData.subType === 'truefalse' && 'Igaz/Hamis'}
|
||||
@@ -196,21 +196,21 @@ export default function CardEditor({ card, isCreating, cardType, onSave, onCance
|
||||
) : (
|
||||
/* Edit Mode */
|
||||
<div className="h-full overflow-y-auto p-6">
|
||||
{cardData.type === 'task' && (
|
||||
{cardData.type === 'QUESTION' && (
|
||||
<TaskCardEditor
|
||||
card={cardData}
|
||||
onChange={updateCardData}
|
||||
/>
|
||||
)}
|
||||
|
||||
{cardData.type === 'joker' && (
|
||||
{cardData.type === 'JOKER' && (
|
||||
<JokerCardEditor
|
||||
card={cardData}
|
||||
onChange={updateCardData}
|
||||
/>
|
||||
)}
|
||||
|
||||
{cardData.type === 'luck' && (
|
||||
{cardData.type === 'LUCK' && (
|
||||
<LuckCardEditor
|
||||
card={cardData}
|
||||
onChange={updateCardData}
|
||||
|
||||
Reference in New Issue
Block a user