Fertigstellen-Button + drawing_created Status-Flow
- DrawIt: Button "Fertigstellen" unter Objektliste setzt Picture-Status auf drawing_created - Bild verschwindet danach aus der Annotieren-Ansicht - GenerateIt: lädt jetzt Directus-Bilder mit status=drawing_created - GenerateIt: zeigt Bild-Vorschau + Directus-Objekte - app.py: PATCH-Endpunkt für Pictures + Status-Parameter im GET Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -4,6 +4,7 @@ import Topbar from '../components/Topbar'
|
||||
import {
|
||||
getDirectusPictures, directusAssetUrl, type DirectusPicture,
|
||||
getDirectusObjects, createDirectusObject, updateDirectusObject, deleteDirectusObject,
|
||||
updatePictureStatus,
|
||||
} from '../api'
|
||||
import { useAuth } from '../context/AuthContext'
|
||||
import type { DirectusObject, Selection, CanvasObject } from '../types'
|
||||
@@ -38,6 +39,7 @@ export default function DrawIt() {
|
||||
const [mode, setMode] = useState<'rect' | 'polygon'>('polygon')
|
||||
const [hasSelection, setHasSelection] = useState(false)
|
||||
const [saving, setSaving] = useState(false)
|
||||
const [finishing, setFinishing] = useState(false)
|
||||
const [status, setStatus] = useState('')
|
||||
const [statusError, setStatusError] = useState(false)
|
||||
|
||||
@@ -106,6 +108,22 @@ export default function DrawIt() {
|
||||
}
|
||||
}
|
||||
|
||||
const finishPicture = async () => {
|
||||
if (!currentPicture || !token) return
|
||||
setFinishing(true)
|
||||
try {
|
||||
await updatePictureStatus(currentPicture.id, 'drawing_created', token)
|
||||
setPictureList(prev => prev.filter(p => p.id !== currentPicture.id))
|
||||
setCurrentIndex(i => Math.max(0, i - 1))
|
||||
setObjects([])
|
||||
showStatus('Bild fertiggestellt.')
|
||||
} catch (e) {
|
||||
showStatus(e instanceof Error ? e.message : 'Fehler.', true)
|
||||
} finally {
|
||||
setFinishing(false)
|
||||
}
|
||||
}
|
||||
|
||||
const saveNoteEdit = async () => {
|
||||
if (!editingNotes || !token) return
|
||||
try {
|
||||
@@ -220,6 +238,19 @@ export default function DrawIt() {
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
|
||||
{objects.length > 0 && (
|
||||
<div className="sidebar-panel">
|
||||
<button
|
||||
className="btn-primary btn-sm btn-block"
|
||||
onClick={finishPicture}
|
||||
disabled={finishing}
|
||||
style={{ background: 'var(--success, #16a34a)' }}
|
||||
>
|
||||
{finishing ? 'Wird fertiggestellt…' : '✅ Fertigstellen'}
|
||||
</button>
|
||||
</div>
|
||||
)}
|
||||
</aside>
|
||||
|
||||
{/* Center: Canvas */}
|
||||
|
||||
Reference in New Issue
Block a user