diff --git a/src/components/Detail/BottomFixedBtn/BottomFixedBtn.tsx b/src/components/Detail/BottomFixedBtn/BottomFixedBtn.tsx index 03fe6779..1d94bc0a 100644 --- a/src/components/Detail/BottomFixedBtn/BottomFixedBtn.tsx +++ b/src/components/Detail/BottomFixedBtn/BottomFixedBtn.tsx @@ -7,15 +7,26 @@ import {isModalOpenState, modalContentState} from '@/recoil/vote/alertModal'; import {BottomFixedBtnProps} from '@/types/detail'; import {Cookies} from 'react-cookie'; import {useNavigate} from 'react-router-dom'; +import {usePostPlaces} from '@/hooks/Spaces/space'; +import CustomToast from '@/components/CustomToast/CustomToast'; +import {useState} from 'react'; -function BottomFixedBtn({onOpen}: BottomFixedBtnProps) { +function BottomFixedBtn({onOpen, placeId}: BottomFixedBtnProps) { const setIsModalOpen = useSetRecoilState(isModalOpenState); const setModalContent = useSetRecoilState(modalContentState); + const [isDisabled, setIsDisabled] = useState(false); const cookies = new Cookies(); const isLogin = cookies.get('isLogin'); const navigate = useNavigate(); + const showToast = CustomToast(); + + const params = new URLSearchParams(location.search); + + const tripId: number = Number(params.get('tripId')); + const journeyId: number = Number(params.get('journyId')); + const notLoginContent = { title: '로그인이 필요한 기능입니다.', subText: '로그인하고 모든 서비스를 이용해 보세요! ', @@ -33,23 +44,52 @@ function BottomFixedBtn({onOpen}: BottomFixedBtnProps) { setModalContent({...notLoginContent}); }; + const {mutateAsync: addToJourneyMutateAsync} = usePostPlaces(); + + const handleAddJourney = async () => { + const res = await addToJourneyMutateAsync({spaceId: tripId, journeyId: journeyId, placeIds: [placeId]}); + console.log('일정추가 res', res); + showToast('일정에 추가가 완료되었습니다.', true, '바로가기', () => navigate(`/trip/${tripId}`)); + }; + return (
-
{ - if (isLogin) { - onOpen(); - } else { - showNotLoginModal(); - } - }} - > - 이 장소 후보로 등록하기 -
+ {tripId && journeyId ? ( + + ) : ( + + )}
); } diff --git a/src/pages/Detail/Detail.tsx b/src/pages/Detail/Detail.tsx index 945c75e7..d9602a0c 100644 --- a/src/pages/Detail/Detail.tsx +++ b/src/pages/Detail/Detail.tsx @@ -106,6 +106,7 @@ function Detail() { false, ) } + placeId={placeInfo.id} /> void; + placeId: number; } export interface RegistrationSlideProps {