diff --git a/src/components/Modal/DeleteModal/DeleteModal.tsx b/src/components/Modal/DeleteModal/DeleteModal.tsx index b7033f9..a56ad69 100644 --- a/src/components/Modal/DeleteModal/DeleteModal.tsx +++ b/src/components/Modal/DeleteModal/DeleteModal.tsx @@ -1,5 +1,6 @@ import { useMutation, useQueryClient } from '@tanstack/react-query'; import { AxiosError } from 'axios'; +import { toast } from 'sonner'; import { deleteReview, deleteWine, DeleteResponse } from '@/api/delete'; import BasicBottomSheet from '@/components/common/BottomSheet/BasicBottomSheet'; @@ -32,10 +33,12 @@ const DeleteModal = ({ type, id, showDeleteModal, setShowDeleteModal }: DeleteMo deleteWineMutation.mutate(id, { onSuccess: () => { queryClient.invalidateQueries({ queryKey: ['wines'] }); //삭제후 관련데이터 바로 갱신 + toast.success('와인이 성공적으로 삭제되었습니다.'); console.log('와인 삭제 성공'); setShowDeleteModal(false); }, onError: (error) => { + toast.error('와인 삭제가 실패하였습니다.'); console.error('와인 삭제 실패', error); }, }); @@ -44,10 +47,12 @@ const DeleteModal = ({ type, id, showDeleteModal, setShowDeleteModal }: DeleteMo onSuccess: () => { queryClient.invalidateQueries({ queryKey: ['reviews'] }); queryClient.invalidateQueries({ queryKey: ['wineDetail'] }); + toast.success('리뷰가 성공적으로 삭제되었습니다.'); console.log('리뷰 삭제 성공'); setShowDeleteModal(false); }, onError: (error) => { + toast.error('리뷰 삭제가 실패하였습니다.'); console.error('리뷰 삭제 실패', error); }, }); diff --git a/src/components/Modal/ReviewModal/AddReviewModal.tsx b/src/components/Modal/ReviewModal/AddReviewModal.tsx index b76fe83..f57917e 100644 --- a/src/components/Modal/ReviewModal/AddReviewModal.tsx +++ b/src/components/Modal/ReviewModal/AddReviewModal.tsx @@ -4,6 +4,7 @@ import { useMutation, useQueryClient } from '@tanstack/react-query'; import { AxiosError } from 'axios'; import Image from 'next/image'; import { useForm } from 'react-hook-form'; +import { toast } from 'sonner'; import { postReview } from '@/api/addreview'; import BasicBottomSheet from '@/components/common/BottomSheet/BasicBottomSheet'; @@ -114,6 +115,7 @@ const AddReviewModal = ({ wineId, wineName }: { wineId: number; wineName: string //mutation function mutationFn: postReview, //실제 서버에 리뷰를 보내는 역할 onSuccess: (data) => { + toast.success('리뷰가 성공적으로 등록되었습니다.'); console.log('리뷰 등록 성공', data); queryClient.invalidateQueries({ queryKey: ['reviews'] }); queryClient.invalidateQueries({ queryKey: ['wineDetail'] }); @@ -121,6 +123,7 @@ const AddReviewModal = ({ wineId, wineName }: { wineId: number; wineName: string setShowRegisterModal(false); }, onError: (error) => { + toast.error('리뷰 등록이 실패하였습니다.'); console.log('리뷰 등록 실패', error); }, }); @@ -213,14 +216,14 @@ const AddReviewModal = ({ wineId, wineName }: { wineId: number; wineName: string })} placeholder='후기를 작성해 주세요' className={cn( - 'relative h-[100px] md:h-[120px] custom-text-md-regular md:custom-text-lg-regular w-full px-[20px] py-[14px] rounded-[16px] bg-white border border-gray-300 outline-none active:border-gray-500 focus:border-gray-500 font-sans resize-none', + 'h-[100px] md:h-[120px] w-full px-[20px] py-[14px] rounded-[16px] bg-white border border-gray-300 outline-none font-sans resize-none', errors.content && 'border-red-500', )} rows={5} /> {errors.content && ( -
{errors.content.message}
+{errors.content.message}
@@ -279,8 +282,8 @@ const AddReviewModal = ({ wineId, wineName }: { wineId: number; wineName: string
기억에 남는 향이 있나요?
{errors.aroma && ( -{errors.aroma.message}