From 7dab7d77827ba12c003c4bea30f4cfbee39988cf Mon Sep 17 00:00:00 2001 From: Michael Chihlas Date: Fri, 13 Feb 2026 09:38:04 -0500 Subject: [PATCH] feat(frontend): add next_steps to types, completion modal, and detail page - Add next_steps to Session, SessionUpdate, SessionComplete, SessionExport types - Add Next Steps textarea to SessionOutcomeModal - Update TreeNavigationPage consumer callback for next_steps - Display next_steps with whitespace-pre-wrap on SessionDetailPage Co-Authored-By: Claude Opus 4.6 --- .../session/SessionOutcomeModal.tsx | 19 ++++++++++++++++++- frontend/src/pages/SessionDetailPage.tsx | 6 ++++++ frontend/src/pages/TreeNavigationPage.tsx | 2 +- frontend/src/types/session.ts | 6 ++++++ 4 files changed, 31 insertions(+), 2 deletions(-) diff --git a/frontend/src/components/session/SessionOutcomeModal.tsx b/frontend/src/components/session/SessionOutcomeModal.tsx index b6252a03..ba414f01 100644 --- a/frontend/src/components/session/SessionOutcomeModal.tsx +++ b/frontend/src/components/session/SessionOutcomeModal.tsx @@ -6,7 +6,7 @@ import type { SessionOutcome } from '@/types' interface SessionOutcomeModalProps { isOpen: boolean onClose: () => void - onSubmit: (data: { outcome: SessionOutcome; outcome_notes?: string }) => Promise + onSubmit: (data: { outcome: SessionOutcome; outcome_notes?: string; next_steps?: string }) => Promise isSubmitting?: boolean } @@ -30,10 +30,12 @@ export function SessionOutcomeModal({ const formData = new FormData(formRef.current) const outcome = (formData.get('session-outcome') as SessionOutcome | null) ?? 'resolved' const outcomeNotes = ((formData.get('outcome-notes') as string | null) ?? '').trim() + const nextSteps = ((formData.get('next-steps') as string | null) ?? '').trim() await onSubmit({ outcome, outcome_notes: outcomeNotes || undefined, + next_steps: nextSteps || undefined, }) } @@ -113,6 +115,21 @@ export function SessionOutcomeModal({ )} /> + +
+ +