1- import React , { useEffect , useState } from 'react' ;
1+ import React , { useEffect } from 'react' ;
22import { useNavigate } from 'react-router-dom' ;
33import { OODDFrame } from '../../components/Frame/Frame' ;
44import HomeTabBar from './HomeTabBar' ;
@@ -7,10 +7,6 @@ import NavBar from '../../components/NavBar';
77import { HomeContainer } from './styles' ;
88import request , { BaseResponse } from '../../apis/core' ;
99
10- import { BottomSheetProps } from '../../components/BottomSheet/dto' ;
11- import { CommentProps } from '../../components/Comment/dto' ;
12- import Comment from '../../components/Comment' ;
13- import BottomSheet from '../../components/BottomSheet/index.tsx' ;
1410import Modal from '../../components/Modal/index.tsx' ;
1511import HeartBottomSheet from './BottomSheets/HeartBottomSheet.tsx' ;
1612import {
@@ -36,6 +32,12 @@ import {
3632 IsOpenReportSuccessModalAtom ,
3733 PostReportAtom ,
3834} from '../../recoil/MeatballBottomSheetAtom.ts' ;
35+ import PostCommentBottomSheet from './BottomSheets/PostCommentBottomSheet.tsx' ;
36+ import {
37+ IsOpenPostCommentBottomSheetAtom ,
38+ IsOpenPostCommentFailModalAtom ,
39+ IsOpenPostCommentSuccessModalAtom ,
40+ } from '../../recoil/PostCommentBottomSheetAtom.ts' ;
3941
4042interface UserResponseType {
4143 id : number ;
@@ -55,9 +57,6 @@ const Home: React.FC = () => {
5557 const navigate = useNavigate ( ) ;
5658
5759 // 모달과 바텀시트 상태 및 로직
58- const [ isCommentModalOpen , setIsCommentModalOpen ] = useState ( false ) ;
59- const [ userName ] = useState < string > ( '' ) ;
60-
6160 const [ isOpenRequestSuccessModal , setIsOpenRequestSuccessModal ] = useRecoilState ( IsOpenRequestSuccessModalAtom ) ;
6261 const [ isOpenRequestFailModal , setIsOpenRequestFailModal ] = useRecoilState ( IsOpenRequestFailModalAtom ) ;
6362 const postRequest = useRecoilValue ( PostRequestAtom ) ;
@@ -70,6 +69,11 @@ const Home: React.FC = () => {
7069 const [ isOpenReportSuccessModal , setIsOpenReportSuccessModal ] = useRecoilState ( IsOpenReportSuccessModalAtom ) ;
7170 const [ isOpenReportFailModal , setIsOpenReportFailModal ] = useRecoilState ( IsOpenReportFailModalAtom ) ;
7271 const postReport = useRecoilValue ( PostReportAtom ) ;
72+ const [ , setIsOpenPostCommentBottomSheet ] = useRecoilState ( IsOpenPostCommentBottomSheetAtom ) ;
73+ const [ isOpenPostCommentSuccessModal , setIsOpenPostCommentSuccessModal ] = useRecoilState (
74+ IsOpenPostCommentSuccessModalAtom ,
75+ ) ;
76+ const [ isOpenPostCommentFailModal , setIsOpenPostCommentFailModal ] = useRecoilState ( IsOpenPostCommentFailModalAtom ) ;
7377
7478 // 로그인 여부에 따라 navigate
7579 useEffect ( ( ) => {
@@ -128,6 +132,21 @@ const Home: React.FC = () => {
128132 content : `요청에 실패했어요\n잠시 뒤 다시 시도해 보세요` ,
129133 } ;
130134
135+ // 코멘트 남기기 버튼
136+ const postCommentSuccessModalProps : ModalProps = {
137+ onClose : ( ) => {
138+ setIsOpenPostCommentSuccessModal ( false ) ;
139+ } ,
140+ content : '코멘트가 전달되었어요' ,
141+ } ;
142+
143+ const postCommentFailModalProps : ModalProps = {
144+ onClose : ( ) => {
145+ setIsOpenPostCommentFailModal ( false ) ;
146+ } ,
147+ content : '일시적인 오류입니다다' ,
148+ } ;
149+
131150 // 신고하기 메뉴
132151 const reportSuccessModalProps : ModalProps = {
133152 onClose : ( ) => {
@@ -144,22 +163,43 @@ const Home: React.FC = () => {
144163 } ;
145164
146165 // 코멘트 남기기 버튼 클릭 시
147- const commentProps : CommentProps = {
148- content : `${ userName } 님의 게시물에 대한 코멘트를 남겨주세요.\n코멘트는 ${ userName } 님에게만 전달됩니다.` ,
149- sendComment : ( comment : string ) => {
150- console . log ( `api에 ${ comment } 전달` ) ;
151- } ,
152- } ;
153-
154- const commentSheetProps : BottomSheetProps = {
155- isOpenBottomSheet : isCommentModalOpen ,
156- isHandlerVisible : true ,
157- Component : Comment ,
158- componentProps : commentProps ,
159- onCloseBottomSheet : ( ) => {
160- setIsCommentModalOpen ( false ) ;
161- } ,
162- } ;
166+ // const commentProps: CommentProps = {
167+ // content: `${userName}님의 게시물에 대한 코멘트를 남겨주세요.\n코멘트는 ${userName}님에게만 전달됩니다.`,
168+ // sendComment: (message: string) => {
169+ // const postNewRequest = async () => {
170+ // if (postRequest) {
171+ // const response = await request.post<ApiDto>('/user-relationships', {
172+ // requesterId: postRequest.requesterId,
173+ // targetId: postRequest.targetId,
174+ // message: message,
175+ // });
176+
177+ // if (response.isSuccess) {
178+ // setIsOpenHeartBottomSheet(false);
179+ // setTimeout(() => {
180+ // setIsOpenRequestSuccessModal(true);
181+ // }, 100);
182+ // } else {
183+ // setIsOpenRequestFailModal(true);
184+ // }
185+ // } else {
186+ // alert('잘못된 요청입니다.');
187+ // }
188+ // };
189+
190+ // postNewRequest();
191+ // },
192+ // };
193+
194+ // const commentSheetProps: BottomSheetProps = {
195+ // isOpenBottomSheet: isCommentModalOpen,
196+ // isHandlerVisible: true,
197+ // Component: Comment,
198+ // componentProps: commentProps,
199+ // onCloseBottomSheet: () => {
200+ // setIsCommentModalOpen(false);
201+ // },
202+ // };
163203
164204 return (
165205 < OODDFrame >
@@ -171,19 +211,21 @@ const Home: React.FC = () => {
171211 { isOpenRequestSuccessModal && < Modal { ...requestSuccessModalProps } /> }
172212 { isOpenRequestFailModal && < Modal { ...requestFailModalProps } /> }
173213
214+ < PostCommentBottomSheet />
215+ { isOpenPostCommentSuccessModal && < Modal { ...postCommentSuccessModalProps } /> }
216+ { isOpenPostCommentFailModal && < Modal { ...postCommentFailModalProps } /> }
217+
174218 < MeatballBottomSheet />
175219 < ReportBottomSheet />
176220 { isOpenReportSuccessModal && < Modal { ...reportSuccessModalProps } /> }
177221 { isOpenReportFailModal && < Modal { ...reportFailModalProps } /> }
178222
179- < BottomSheet { ...commentSheetProps } />
180-
181223 < HomeContainer >
182224 < HomeTopBar />
183225 < HomeTabBar
184226 onOpenBottomSheet = { ( ) => setIsOpenMeatballBottomSheet ( true ) }
185227 onOpenReportSheet = { ( ) => setIsOpenReportBottomSheet ( true ) }
186- onOpenCommentModal = { ( ) => setIsCommentModalOpen ( true ) }
228+ onOpenCommentModal = { ( ) => setIsOpenPostCommentBottomSheet ( true ) }
187229 />
188230 </ HomeContainer >
189231 < NavBar />
0 commit comments