Preserve isolated local drafts across navigation and reload

This commit is contained in:
aiagent
2026-10-19 22:47:17 -07:00
parent 9d69629bc8
commit 6a36a49290
16 changed files with 174 additions and 38 deletions
+2 -1
View File
@@ -7,7 +7,8 @@ export type DecisionDraft = { option: string | null; comment: string; revision:
export type ChatDraft = { text: string; sending: boolean; error: string; attempt?: { text: string; key: string } }
export function writable(decision: Decision) { return ['open', 'needs_reconsideration'].includes(decisionStatus(decision)) }
export function submissionBody(decision: Decision, draft: DecisionDraft) {
const revision = decision.revision ?? 1
const revision = decision.revision
if (!Number.isInteger(revision) || (revision ?? 0) < 1) return null
if (!writable(decision) || draft.sending || draft.conflict || draft.revision !== revision) return null
if (draft.option && !decision.options.some(option => option.id === draft.option)) return null
if (!draft.option && !draft.comment.trim()) return null