11import { useState } from 'react' ;
22
33import { getFriendInfo , getFriendsList , getReceivedRequest , getSentRequest , postFriendRequest } from '@/api/friends' ;
4+ import useGetUserInfo from '@/pages/FriendsPage/components/UserProfile/hooks/useGetUserInfo' ;
45
56import * as S from './styles' ;
67
@@ -12,6 +13,7 @@ interface ResultMessage {
1213}
1314
1415const AddFriendForm = ( ) => {
16+ const { userInfo } = useGetUserInfo ( ) ;
1517 const [ inputData , setInputData ] = useState ( '' ) ;
1618 const [ resultMessage , setResultMessage ] = useState < ResultMessage | null > ( null ) ;
1719
@@ -28,19 +30,25 @@ const AddFriendForm = () => {
2830 getReceivedRequest ( ) ,
2931 ] ) ;
3032
31- // 1. 이미 친구로 등록된 사용자인지 확인
33+ // 1. 자신을 친구로 추가하려 하는지 확인
34+ if ( userInfo ?. email === inputData ) {
35+ setResultMessage ( { type : 'fail' , content : '본인은 추가할 수 없어요.' } ) ;
36+ return null ;
37+ }
38+
39+ // 2. 이미 친구로 등록된 사용자인지 확인
3240 if ( friends && friends . some ( ( friend ) => friend . email === inputData ) ) {
3341 setResultMessage ( { type : 'fail' , content : '이미 친구로 등록된 사용자예요.' } ) ;
3442 return null ;
3543 }
3644
37- // 2 . 이미 친구 요청을 보낸 사용자인지 확인
45+ // 3 . 이미 친구 요청을 보낸 사용자인지 확인
3846 if ( sentRequests && sentRequests . some ( ( request ) => request . email === inputData ) ) {
3947 setResultMessage ( { type : 'fail' , content : '이미 친구 요청을 보냈어요. 상대방의 응답을 기다려주세요.' } ) ;
4048 return null ;
4149 }
4250
43- // 3 . 상대가 이미 친구 요청을 보냈는지 확인
51+ // 4 . 상대가 이미 친구 요청을 보냈는지 확인
4452 if ( receivedRequests && receivedRequests . some ( ( request ) => request . email === inputData ) ) {
4553 setResultMessage ( { type : 'fail' , content : '상대방이 이미 친구 요청을 보냈어요. 친구 요청을 확인해주세요.' } ) ;
4654 return null ;
0 commit comments