diff --git a/src/components/modal/dateCourseSearchFilterModal.tsx b/src/components/modal/dateCourseSearchFilterModal.tsx index 4ccd896..c8b97ea 100644 --- a/src/components/modal/dateCourseSearchFilterModal.tsx +++ b/src/components/modal/dateCourseSearchFilterModal.tsx @@ -1,6 +1,6 @@ -// DateCourseSearchFilterModal.tsx import { useMemo } from 'react'; -import { useLocation } from 'react-router-dom'; +import { Navigate, useLocation } from 'react-router-dom'; +import ClipLoader from 'react-spinners/ClipLoader'; import { DateCourseQuestion } from '@/constants/dateCourseQuestion'; @@ -80,12 +80,12 @@ export default function DateCourseSearchFilterModal({ onClose }: TProps) { transportation, userPreferredKeywords, size: 5, - page: 1, + page: 0, isBookmarked, }; - const { data: courseData } = useGetCourse(commonParams); - const { data: bookmarkedData } = useGetBookmarkedCourse(commonParams); + const { data: courseData, isLoading: courseDataLoading, error: courseDataError } = useGetCourse(commonParams); + const { data: bookmarkedData, isLoading: bookmarkDataLoading, error: bookmarkDataError } = useGetBookmarkedCourse(commonParams); const data = isBookmarked ? bookmarkedData : courseData; @@ -162,6 +162,10 @@ export default function DateCourseSearchFilterModal({ onClose }: TProps) { } }; + if (bookmarkDataError || courseDataError) { + return ; + } + return (
@@ -180,9 +184,13 @@ export default function DateCourseSearchFilterModal({ onClose }: TProps) { ))}
- + {bookmarkDataLoading || courseDataLoading ? ( + + ) : ( + + )}
diff --git a/src/pages/dateCourse/CoursePage.tsx b/src/pages/dateCourse/CoursePage.tsx index eab7b5b..32837a8 100644 --- a/src/pages/dateCourse/CoursePage.tsx +++ b/src/pages/dateCourse/CoursePage.tsx @@ -1,5 +1,6 @@ import { useState } from 'react'; -import { useNavigate } from 'react-router-dom'; +import { Navigate, useNavigate } from 'react-router-dom'; +import ClipLoader from 'react-spinners/ClipLoader'; import useGetBookmarkedCourse from '@/hooks/course/useGetBookmarkedCourse'; import { useUserGrade } from '@/hooks/home/useUserGrade'; @@ -15,11 +16,11 @@ import useModalStore from '@/store/useModalStore'; export default function Course() { const navigate = useNavigate(); const { openModal } = useModalStore(); - const [current, setCurrent] = useState(1); + const [current, setCurrent] = useState(0); const { budget, datePlaces, dateDurationTime, startTime, mealTypes, transportation, userPreferredKeywords } = useFilterStore(); - // 수정 예정 - const { data } = useGetBookmarkedCourse({ + + const { data, isLoading, error } = useGetBookmarkedCourse({ page: current, size: 5, budget, @@ -31,7 +32,13 @@ export default function Course() { startTime, isBookmarked: true, }); + const { data: gradeData } = useUserGrade(); + + if (error) { + return ; + } + return (
@@ -64,12 +71,20 @@ export default function Course() {
-
- {data?.result.dateCourseList.map((course, idx) => { - return ; - })} -
- + {isLoading ? ( +
+ +
+ ) : ( + <> +
+ {data?.result.dateCourseList.map((course, idx) => { + return ; + })} +
+ + + )} diff --git a/src/pages/dateCourse/FindDateCourse.tsx b/src/pages/dateCourse/FindDateCourse.tsx index 6ae4177..64d7c7b 100644 --- a/src/pages/dateCourse/FindDateCourse.tsx +++ b/src/pages/dateCourse/FindDateCourse.tsx @@ -1,5 +1,6 @@ import { useEffect, useState } from 'react'; -import { useNavigate } from 'react-router-dom'; +import { Navigate, useNavigate } from 'react-router-dom'; +import ClipLoader from 'react-spinners/ClipLoader'; import useGetCourse from '@/hooks/course/useGetCourse'; @@ -14,14 +15,14 @@ import useModalStore from '@/store/useModalStore'; function FindDateCourse() { const { openModal } = useModalStore(); - const [current, setCurrent] = useState(1); + const [current, setCurrent] = useState(0); const navigate = useNavigate(); const { budget, datePlaces, dateDurationTime, startTime, mealTypes, transportation, userPreferredKeywords } = useFilterStore(); useEffect(() => { setCurrent(1); }, [budget, datePlaces, dateDurationTime, startTime, mealTypes, transportation, userPreferredKeywords]); - const { data: courseData } = useGetCourse({ + const { data, isLoading, error } = useGetCourse({ page: current, size: 5, budget, @@ -34,6 +35,10 @@ function FindDateCourse() { isBookmarked: false, }); + if (error) { + return ; + } + return (
@@ -51,12 +56,20 @@ function FindDateCourse() { 검색 필터
-
- {courseData?.result.dateCourseList.map((course) => { - return ; - })} -
- + {isLoading ? ( +
+ +
+ ) : ( + <> +
+ {data?.result?.dateCourseList.map((course, idx) => { + return ; + })} +
+ + + )}