deckek elmentodnek sqlbe
This commit is contained in:
@@ -0,0 +1,15 @@
|
|||||||
|
import { apiClient } from './userApi'
|
||||||
|
|
||||||
|
// Create a new deck in the backend
|
||||||
|
export const createDeck = async (deck) => {
|
||||||
|
try {
|
||||||
|
const response = await apiClient.post('/decks', deck)
|
||||||
|
return response.data
|
||||||
|
} catch (err) {
|
||||||
|
throw err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export default {
|
||||||
|
createDeck
|
||||||
|
}
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
import axios from "axios"
|
import axios from "axios"
|
||||||
|
|
||||||
export const API_CONFIG = {
|
export const API_CONFIG = {
|
||||||
baseURL: import.meta.env.VITE_API_URL + "/api",
|
baseURL: (import.meta.env.VITE_API_URL ? import.meta.env.VITE_API_URL : '') + "/api",
|
||||||
wsURL: "http://localhost:3000",
|
wsURL: "http://localhost:3000",
|
||||||
timeout: 10000,
|
timeout: 10000,
|
||||||
retryAttempts: 3,
|
retryAttempts: 3,
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import Navbar from "../../components/Navbar/Navbar.jsx"
|
|||||||
import DeckHeader from "../../components/DeckCreator/DeckHeader.jsx"
|
import DeckHeader from "../../components/DeckCreator/DeckHeader.jsx"
|
||||||
import CardsList from "../../components/DeckCreator/CardsList.jsx"
|
import CardsList from "../../components/DeckCreator/CardsList.jsx"
|
||||||
import CardEditor from "../../components/DeckCreator/CardEditor.jsx"
|
import CardEditor from "../../components/DeckCreator/CardEditor.jsx"
|
||||||
|
import { createDeck } from '../../api/deckApi'
|
||||||
|
|
||||||
export default function DeckCreator() {
|
export default function DeckCreator() {
|
||||||
const { deckId } = useParams() // URL-ből deck ID (új deck esetén undefined)
|
const { deckId } = useParams() // URL-ből deck ID (új deck esetén undefined)
|
||||||
@@ -86,12 +87,23 @@ export default function DeckCreator() {
|
|||||||
|
|
||||||
const handleSaveDeck = async () => {
|
const handleSaveDeck = async () => {
|
||||||
try {
|
try {
|
||||||
// TODO: API mentés
|
|
||||||
console.log("Deck mentése:", deck)
|
console.log("Deck mentése:", deck)
|
||||||
alert("✅ Deck sikeresen mentve!")
|
|
||||||
|
const payload = {
|
||||||
|
name: deck.name,
|
||||||
|
type: (deck.type || 'Question').toString().toUpperCase(),
|
||||||
|
ctype: deck.privacy === 'public' ? 'PUBLIC' : 'PRIVATE',
|
||||||
|
description: deck.description || '',
|
||||||
|
cards: deck.cards.map(c => ({ ...c, text: c.question || c.statement || c.text || '' }))
|
||||||
|
}
|
||||||
|
|
||||||
|
const saved = await createDeck(payload)
|
||||||
|
setDeck(prev => ({ ...prev, id: saved.id ?? prev.id, creationdate: saved.creationdate ?? prev.creationdate, updatedate: saved.updatedate ?? prev.updatedate }))
|
||||||
|
console.log('Deck saved (backend):', saved)
|
||||||
|
alert('✅ Deck sikeresen mentve!')
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error("Mentési hiba:", error)
|
console.error('Mentési hiba:', error)
|
||||||
alert("❌ Hiba történt a mentés során!")
|
alert('❌ Hiba történt a mentés során: ' + (error?.response?.data?.error || error.message || String(error)))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user