11import DeleteOutlineRoundedIcon from '@mui/icons-material/DeleteOutlineRounded' ;
2- import React from 'react' ;
2+ import React , { useEffect , useState } from 'react' ;
3+ // import { useNavigate } from 'react-router';
34
5+ import { DraftLetter , getDraftLetters } from '@/apis/draftLetters' ;
46import ModalBackgroundWrapper from '@/components/ModalBackgroundWrapper' ;
57import ModalOverlay from '@/components/ModalOverlay' ;
68
@@ -9,14 +11,27 @@ interface ShowDraftModalProps {
911 onClose : ( ) => void ;
1012}
1113
12- const DUMMY_DRAFT = [
13- { id : 1 , title : '취업 때문에 고민이 많아요!!' } ,
14- { id : 2 , title : '배고파서 죽을 거 같아요 😭' } ,
15- { id : 3 , title : '개발하니까 밖에 나갈 일이 없어서 너무 심심하고 피곤해요' } ,
16- { id : 4 , title : '마라샹궈 먹고 싶어요' } ,
17- ] ;
18-
1914const ShowDraftModal = ( { onClose } : ShowDraftModalProps ) => {
15+ const [ draftLetters , setDraftLetters ] = useState < DraftLetter [ ] > ( [ ] ) ;
16+
17+ // const navigate = useNavigate();
18+
19+ // const handleNavigation = (incomingId: number) => {
20+ // navigate(`/board/letter/${incomingId}`, {
21+ // state: { isShareLetterPreview: false },
22+ // });
23+ // };
24+
25+ useEffect ( ( ) => {
26+ getDraftLetters ( )
27+ . then ( ( data ) => {
28+ setDraftLetters ( data || [ ] ) ;
29+ } )
30+ . catch ( ( error ) => {
31+ console . error ( '❌ 임시저장된 편지를 불러오는데 실패했습니다' , error ) ;
32+ } ) ;
33+ } , [ onClose ] ) ;
34+
2035 return (
2136 < ModalOverlay closeOnOutsideClick onClose = { onClose } >
2237 < div className = "flex h-full flex-col items-center justify-center" >
@@ -29,11 +44,12 @@ const ShowDraftModal = ({ onClose }: ShowDraftModalProps) => {
2944 < p className = "body-sb text-gray-80" > 임시저장 편지</ p >
3045 < p className = "caption-r text-black" > 로그아웃 시 임시 저장된 편지는 사라집니다</ p >
3146 </ div >
32- < div className = "mt-6 flex w-[251px] flex-col gap-[10px]" >
33- { DUMMY_DRAFT . map ( ( draft ) => (
47+ < div className = "mt-6 flex max-h-60 min-h-auto w-[251px] flex-col gap-[10px] overflow-y-scroll [&::-webkit-scrollbar]:hidden " >
48+ { draftLetters . map ( ( draft ) => (
3449 < div
3550 className = "text-gray-80 body-m flex h-10 w-full items-center justify-between gap-1 rounded-lg bg-white p-3"
36- key = { draft . id }
51+ key = { draft . letterId }
52+ // onClick={() => handleNavigation(draft.letterId)}
3753 >
3854 < p className = "truncate" > { draft . title } </ p >
3955 < div className = "text-gray-20" >
0 commit comments