kartyatorles popup

This commit is contained in:
2025-10-22 14:24:24 +02:00
parent 825e9d1a08
commit 3ad9ba3e3f
3 changed files with 138 additions and 68 deletions
@@ -32,10 +32,8 @@ export default function DeckCreator() {
// Betöltés (később API-ból)
useEffect(() => {
if (deckId) {
// TODO: Betöltés API-ból
loadDeck(deckId)
} else {
// Új deck
setDeck({
id: null,
name: "Új Deck",
@@ -99,19 +97,25 @@ export default function DeckCreator() {
}
const saved = await createDeck(payload)
setDeck(prev => ({ ...prev, id: saved.id ?? prev.id, creationdate: saved.creationdate ?? prev.creationdate, updatedate: saved.updatedate ?? prev.updatedate }))
setDeck(prev => ({
...prev,
id: saved.id ?? prev.id,
creationdate: saved.creationdate ?? prev.creationdate,
updatedate: saved.updatedate ?? prev.updatedate
}))
console.log('Deck saved (backend):', saved)
notifySuccess(' Deck sikeresen mentve!')
notifySuccess('Deck sikeresen mentve!')
} catch (error) {
console.error('Mentési hiba:', error)
notifyError(' Hiba történt a mentés során: ' + (error?.response?.data?.error || error.message || String(error)))
notifyError('Hiba történt a mentés során: ' + (error?.response?.data?.error || error.message || String(error)))
}
}
// 🔧 Itt korábban volt confirm(), de most eltávolítottuk
const handleBack = () => {
if (confirm("Biztosan visszamész? A nem mentett változtatások elvesznek.")) {
navigate("/decks")
}
// Egyszerű visszalépés — ha akarsz, később adhatunk hozzá saját modalt
navigate("/decks")
}
const handleCreateCard = (cardType) => {
@@ -144,7 +148,7 @@ export default function DeckCreator() {
// Meglévő kártya frissítése
setDeck(prev => ({
...prev,
cards: prev.cards.map(card =>
cards: prev.cards.map(card =>
card.id === cardData.id ? cardData : card
)
}))
@@ -152,26 +156,25 @@ export default function DeckCreator() {
}
}
// 🔧 Itt is confirm() volt — most a CardsList popupja kezeli a megerősítést
const handleDeleteCard = (cardId) => {
if (confirm("Biztosan törlöd ezt a kártyát?")) {
setDeck(prev => ({
...prev,
cards: prev.cards.filter(card => card.id !== cardId)
}))
if (selectedCard?.id === cardId) {
setSelectedCard(null)
}
setDeck(prev => ({
...prev,
cards: prev.cards.filter(card => card.id !== cardId)
}))
if (selectedCard?.id === cardId) {
setSelectedCard(null)
}
}
return (
<div className="w-full min-h-screen bg-[color:var(--color-background)] flex flex-col">
<Navbar />
<main className="flex-1 flex flex-col">
{/* Deck Header */}
<DeckHeader
<DeckHeader
deck={deck}
onUpdate={handleDeckUpdate}
onSave={handleSaveDeck}
@@ -211,4 +214,4 @@ export default function DeckCreator() {
</main>
</div>
)
}
}