diff --git a/src/app/debrief/page.tsx b/src/app/debrief/page.tsx index 642d759..b67cbea 100644 --- a/src/app/debrief/page.tsx +++ b/src/app/debrief/page.tsx @@ -1,6 +1,6 @@ 'use client'; -import { useEffect, useState } from 'react'; +import { FormEvent, useEffect, useState } from 'react'; import { useRouter } from 'next/navigation'; import { getCurrentVoyage, saveToHistory, saveCurrentVoyage } from '@/shared/lib/store'; import { Voyage, VoyageStatus } from '@/shared/types'; @@ -38,6 +38,11 @@ export default function DebriefPage() { router.push('/log'); }; + const handleSubmit = (event: FormEvent) => { + event.preventDefault(); + handleSave(); + }; + if (!voyage) return null; const statusOptions: { value: VoyageStatus; label: string; desc: string }[] = [ @@ -53,7 +58,7 @@ export default function DebriefPage() {

이번 항해를 짧게 기록하고 마무리하세요.

-
+
{/* Question 1: Status */}
-
- - + + ); } diff --git a/src/features/boarding/ui/BoardingMissionForm.tsx b/src/features/boarding/ui/BoardingMissionForm.tsx index 8ce2db3..ded32a1 100644 --- a/src/features/boarding/ui/BoardingMissionForm.tsx +++ b/src/features/boarding/ui/BoardingMissionForm.tsx @@ -1,6 +1,6 @@ 'use client'; -import { useState } from 'react'; +import { FormEvent, useState } from 'react'; export function BoardingMissionForm({ onDock, @@ -15,9 +15,19 @@ export function BoardingMissionForm({ }) { const [mission, setMission] = useState(''); const trimmedMission = mission.trim(); + const canSubmit = Boolean(trimmedMission); + + const handleSubmit = (event: FormEvent) => { + event.preventDefault(); + if (!canSubmit) return; + onDock(trimmedMission); + }; return ( -
+
+
); }