feat(tickets): Erst-Text nach Antwort sperren, nur neueste Antwort editierbar

Sobald ein Ticket eine Antwort hat, ist der ursprüngliche Ticket-Text nicht
mehr bearbeitbar. Editierbar ist dann nur noch die neueste Antwort — und auch
die nur, bis die KI darauf reagiert hat (Status verlässt „Answered"). Ältere
Antworten im Verlauf (thread) bleiben wie bisher schreibgeschützt.

Regressionstest + Answered-Mock-Ticket ergänzt.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-23 10:32:04 +02:00
parent 6b264a9b71
commit a0fa33da42
3 changed files with 44 additions and 4 deletions

View File

@@ -535,9 +535,11 @@ function TicketCard({ ticket, onToggleStatus, onSaveMessage, onAnswer, onDelete
const canAmend = !!ticket.answer && ticket.status === 'Answered'
// Antwort-Formular zeigen: neue Antwort, aktives Ändern, oder ein gepufferter Änderungs-Entwurf.
const showAnswerForm = canAnswerNew || answerEditing || (canAmend && !!answerDraft)
// Bearbeiten (Beschreibung) ist gesperrt, solange eine Rückfrage offen ist (NeedsInfo):
// dann soll die Züchterin ANTWORTEN, nicht den Text ändern.
const canEditMessage = ticket.status !== 'NeedsInfo'
// Der ursprüngliche Ticket-Text ist nur bearbeitbar, SOLANGE es noch keine Antwort gibt
// UND keine Rückfrage offen ist (NeedsInfo). Sobald die Züchterin geantwortet hat (oder die
// KI nachgefragt hat), bleibt der Erst-Text fix — editierbar ist dann nur noch die neueste
// Antwort (und auch die nur, bis die KI darauf reagiert hat, s. canAmend).
const canEditMessage = !ticket.answer && ticket.status !== 'NeedsInfo'
function startAmend() {
if (!answerDraft) setAnswerDraft(ticket.answer ?? '')