'use client'; 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'; export default function DebriefPage() { const router = useRouter(); const [voyage, setVoyage] = useState(null); const [status, setStatus] = useState(null); const [progress, setProgress] = useState(''); useEffect(() => { const current = getCurrentVoyage(); if (!current) { router.replace('/'); return; } setVoyage(current); }, [router]); const handleSave = () => { if (!voyage || !status) return; const finalVoyage: Voyage = { ...voyage, status: status, debriefProgress: progress, endedAt: voyage.endedAt || Date.now(), // Fallback if missed in flight }; saveToHistory(finalVoyage); saveCurrentVoyage(null); router.push('/log'); }; const handleSubmit = (event: FormEvent) => { event.preventDefault(); handleSave(); }; if (!voyage) return null; const statusOptions: { value: VoyageStatus; label: string; desc: string }[] = [ { value: 'completed', label: '계획대로', desc: '목표를 달성했습니다' }, { value: 'partial', label: '부분 진행', desc: '절반의 성공입니다' }, { value: 'reoriented', label: '방향 재설정', desc: '새로운 발견을 했습니다' }, ]; return (

무사히 궤도에 도착했습니다

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

{/* Question 1: Status */}
{statusOptions.map((opt) => ( ))}
{/* Question 2: Secured */}
setProgress(e.target.value)} placeholder="예: 기획안 목차 구성 완료" className="w-full bg-slate-900/30 border border-slate-800 rounded-lg px-4 py-3 text-slate-200 focus:border-indigo-500 focus:ring-1 focus:ring-indigo-500 outline-none transition-all" />
); }