Fix: reloadQW awaitet purgeOrphans vor dem Reload

Purge lief parallel zum Reload – Fragen wurden vor der Bereinigung geladen.
Globaler Bereinigen-Button lädt jetzt auch direkt neu.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-26 20:56:34 +02:00
parent 50d5377fb5
commit a1e2a01fad

View File

@@ -180,11 +180,15 @@ export default function GenerateIt() {
getObjectWords(selectedObjId, token).then(setObjWords).catch(console.error)
}, [selectedObjId, token])
const reloadQW = (objId: string) => {
const reloadQW = async (objId: string) => {
if (!token) return
purgeOrphans(objId, token).catch(console.error)
getObjectQuestions(objId, token).then(setQuestions).catch(console.error)
getObjectWords(objId, token).then(setObjWords).catch(console.error)
await purgeOrphans(objId, token).catch(console.error)
const [qs, ws] = await Promise.all([
getObjectQuestions(objId, token).catch(() => [] as ObjectQuestion[]),
getObjectWords(objId, token).catch(() => [] as ObjectWord[]),
])
setQuestions(qs)
setObjWords(ws)
}
const handleDeleteQuestion = async (qId: string) => {
@@ -348,6 +352,7 @@ export default function GenerateIt() {
try {
const r = await purgeAllOrphans(token)
alert(`Bereinigt: ${r.orphans_removed} verwaiste Einträge entfernt`)
if (selectedObjId) await reloadQW(selectedObjId)
} catch (e: unknown) {
alert(`Fehler: ${e instanceof Error ? e.message : e}`)
}