diff --git a/src/api/review/createReview.ts b/src/api/review/createReview.ts index 8a85e013..d8e31111 100644 --- a/src/api/review/createReview.ts +++ b/src/api/review/createReview.ts @@ -2,7 +2,6 @@ import { Travel } from '@/@types/travel'; import { http } from '../fetcher'; interface WritableTravelResponse { - status: string; content: Travel[]; total: number; currentPage: number; @@ -11,7 +10,7 @@ interface WritableTravelResponse { export const getWritableTravelReview = (size: number, page: number) => { return http.get( - `/travels/reviews/pending?size=${size}&page=${page}`, + `/travels/reviews/pending?limit=${size}&page=${page}`, ); }; diff --git a/src/components/card/travel/TravelPlanCard.tsx b/src/components/card/travel/TravelPlanCard.tsx index bcec3fd8..979cbf3c 100644 --- a/src/components/card/travel/TravelPlanCard.tsx +++ b/src/components/card/travel/TravelPlanCard.tsx @@ -8,8 +8,8 @@ const TravelPlanCard = ({ description, }: Omit) => { return ( -
-
+
+
{`${destination}
-
-
+
+
{destination}
-
- {description} -
+
{description}
); diff --git a/src/components/card/user/UserCard.tsx b/src/components/card/user/UserCard.tsx index 385422e7..62c57f11 100644 --- a/src/components/card/user/UserCard.tsx +++ b/src/components/card/user/UserCard.tsx @@ -27,11 +27,9 @@ const UserCard = ({
{hashTags - .split('#') + ?.split('#') .filter((str) => str.trim() !== '') - .map((str) => ( - - ))} + .map((str) => )}
); diff --git a/src/components/common/skeleton/travelList/SkeletonTravelList.tsx b/src/components/common/skeleton/travelList/SkeletonTravelList.tsx index 54933e56..17dd72e0 100644 --- a/src/components/common/skeleton/travelList/SkeletonTravelList.tsx +++ b/src/components/common/skeleton/travelList/SkeletonTravelList.tsx @@ -3,8 +3,8 @@ import SkeletonTravelCardBig from '../card/SkeletonTravelCardBig'; const SkeletonTravelList = () => { return (
- {[1, 2, 3, 4].map((v) => ( - + {Array.from({ length: 12 }, (_, i) => ( + ))}
); diff --git a/src/components/review/new/SelectTravel.tsx b/src/components/review/new/SelectTravel.tsx index 0002a805..9734cbc3 100644 --- a/src/components/review/new/SelectTravel.tsx +++ b/src/components/review/new/SelectTravel.tsx @@ -21,7 +21,9 @@ const SelectTravel = ({ id, title }: { id?: number; title?: string }) => { const { data: travels, isLoading, + isFetching, isError, + error, hasNextPage, fetchNextPage, } = useCreateReviewSelectTravel(); @@ -58,19 +60,24 @@ const SelectTravel = ({ id, title }: { id?: number; title?: string }) => { }, []); useEffect(() => { - if (inView && hasNextPage) { + if (inView && hasNextPage && !isFetching) { fetchNextPage(); } - }, [inView, hasNextPage, fetchNextPage]); + }, [inView, hasNextPage, fetchNextPage, isFetching]); if (isLoading) { return (
- + 로딩중
); } - if (isError) return
에러
; + + if (isError) return
에러{error?.message}
; + + if (travels?.pages[0].content.length === 0) { + return
다녀온 여행이 없어요
; + } return (
@@ -104,31 +111,27 @@ const SelectTravel = ({ id, title }: { id?: number; title?: string }) => { {travels && travels.pages.map((page) => - page.content.length === 0 ? ( -
다녀온 여행이 없어요
- ) : ( - page.content.map((travel) => ( - - )) - ), + {travel.travelName} +
+ + )), )} {hasNextPage ? (
{ >
- ) : null} + ) : ( +
+ )}
)} diff --git a/src/components/review/new/participant/InputImage.tsx b/src/components/review/new/participant/InputImage.tsx index 78b01517..0aa7aa06 100644 --- a/src/components/review/new/participant/InputImage.tsx +++ b/src/components/review/new/participant/InputImage.tsx @@ -8,7 +8,7 @@ import useCreateReviewStore from '@/store/useCreateReview'; import { compressImage } from '@/utils/compressImage'; const MAX_FILE_COUNT = 5; -const MAX_FILE_SIZE_MB = 2; +const MAX_FILE_SIZE_MB = 5; const ALLOWED_FILE_TYPES = ['image/jpeg', 'image/png', 'image/webp']; const InputImage = () => { diff --git a/src/components/travel/detail/buttons/TravelButtons.tsx b/src/components/travel/detail/buttons/TravelButtons.tsx index d0e9b16a..99e99e09 100644 --- a/src/components/travel/detail/buttons/TravelButtons.tsx +++ b/src/components/travel/detail/buttons/TravelButtons.tsx @@ -127,12 +127,12 @@ const TravelButtons = ({ fill="white" label="여행취소" handler={handleTravelCancel} - className="h-[52px] max-w-[242px]" + className="h-[52px] w-full max-w-[242px]" />
{isShareOpen && } diff --git a/src/components/travel/list/TravelList.tsx b/src/components/travel/list/TravelList.tsx index 435c81d5..f5a10858 100644 --- a/src/components/travel/list/TravelList.tsx +++ b/src/components/travel/list/TravelList.tsx @@ -32,14 +32,8 @@ const TravelList = () => { useEffect(() => { if (inView && hasNextPage) { - // 1초 지연 후에 fetchNextPage 호출 - const timeoutId = setTimeout(() => { - fetchNextPage(); - }, 1000); - - return () => clearTimeout(timeoutId); + fetchNextPage(); } - return undefined; }, [inView, hasNextPage, fetchNextPage]); if (isLoading) { diff --git a/src/queries/review/useCreateReview.ts b/src/queries/review/useCreateReview.ts index d5bb74ae..e812c701 100644 --- a/src/queries/review/useCreateReview.ts +++ b/src/queries/review/useCreateReview.ts @@ -61,7 +61,7 @@ export const useCreateReview = () => { } formData.append('travelId', travelId.toString()); - formData.append('score', countStar.toString()); + formData.append('starRating', countStar.toString()); formData.append('title', title); formData.append('comment', comment); diff --git a/src/queries/review/useCreateReviewSelectTravel.ts b/src/queries/review/useCreateReviewSelectTravel.ts index d70a37dd..211a7ef7 100644 --- a/src/queries/review/useCreateReviewSelectTravel.ts +++ b/src/queries/review/useCreateReviewSelectTravel.ts @@ -3,13 +3,13 @@ import { QUERY_KEYS } from '@/constants/querykeys'; import { useInfiniteQuery } from '@tanstack/react-query'; const useCreateReviewSelectTravel = () => { - const size = 4; + const size = 8; return useInfiniteQuery({ queryKey: QUERY_KEYS.REVIEW.CREATE_REVIEW_SELECT_TRAVEL(size), - queryFn: ({ pageParam = 1 }) => getWritableTravelReview(size, pageParam), - initialPageParam: 1, + queryFn: ({ pageParam = 0 }) => getWritableTravelReview(size, pageParam), + initialPageParam: 0, getNextPageParam: (lastPage, pages) => { - return !lastPage.hasNext ? pages.length + 1 : undefined; + return lastPage.hasNext ? pages.length + 1 : undefined; }, staleTime: Infinity, }); diff --git a/src/utils/buildTravelUrl.ts b/src/utils/buildTravelUrl.ts index eeb065b1..3997cca9 100644 --- a/src/utils/buildTravelUrl.ts +++ b/src/utils/buildTravelUrl.ts @@ -23,7 +23,7 @@ const buildTravelUrl = (filters: Filters, pageParam?: number): string => { params.append('page', String(pageParam)); } - return `/travels?${params.toString()}`; + return `/travels?${params.toString()}&size=12`; }; export default buildTravelUrl;