Skip to content

Commit 731f43f

Browse files
committed
fix: 이벤트 0개 예외 로직 추가 및 API 파라미터 구성 오류 수정, import 경로 수정
1 parent 86d3c8c commit 731f43f

File tree

3 files changed

+28
-24
lines changed

3 files changed

+28
-24
lines changed

src/entities/event/api/event.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ export const searchEvents = async (keyword: string, { page, size }: PaginationPa
1717
params.append('page', page.toString());
1818
params.append('size', size.toString());
1919

20-
const response = await axiosClient.get<ApiResponse<EventItem[]>>(`/events/search?keyword=${params.toString()}`);
20+
const response = await axiosClient.get<ApiResponse<EventItem[]>>(`/events/search?${params.toString()}`);
2121

2222
return response.data;
2323
};

src/features/home/ui/EventSliderSection.tsx

Lines changed: 26 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import EventCard from '../../../shared/ui/EventCard';
44
import IconButton from '../../../../design-system/ui/buttons/IconButton';
55
import rightButton from '../../../../public/assets/main/RightButton.svg';
66
import leftButton from '../../../../public/assets/main/LeftButton.svg';
7-
import { EventItem } from '../../../entities/event/api/event';
7+
import { EventItem } from '../../../entities/event/model/event';
88

99
interface EventSliderSectionProps {
1010
title: string;
@@ -32,27 +32,31 @@ const EventSliderSection = ({ title, events }: EventSliderSectionProps) => {
3232
<div className="relative w-full px-6">
3333
<h2 className="sm:mb-3 md:mb-3.5 lg:mb-4 font-bold sm:text-sm md:text-base lg:text-lg">{title}</h2>
3434
<div className="flex gap-4">
35-
{events
36-
.slice(startIndex, startIndex + maxCardsToShow)
37-
.concat(
38-
startIndex + maxCardsToShow > events.length
39-
? events.slice(0, (startIndex + maxCardsToShow) % events.length)
40-
: []
41-
)
42-
.map((event: EventItem) => (
43-
<EventCard
44-
key={event.id}
45-
id={event.id}
46-
img={event.bannerImageUrl}
47-
eventTitle={event.title}
48-
dDay={event.remainDays}
49-
host={event.hostChannelName}
50-
eventDate={event.startDate}
51-
location={event.address}
52-
hashtags={event.hashtags}
53-
onClick={() => navigate(`/event-details/${event.id}`)}
54-
/>
55-
))}
35+
{events.length === 0 ? (
36+
<div className="w-full text-center text-gray-500">표시할 이벤트가 없습니다.</div>
37+
) : (
38+
events
39+
.slice(startIndex, startIndex + maxCardsToShow)
40+
.concat(
41+
startIndex + maxCardsToShow > events.length
42+
? events.slice(0, (startIndex + maxCardsToShow) % events.length)
43+
: []
44+
)
45+
.map((event: EventItem) => (
46+
<EventCard
47+
key={event.id}
48+
id={event.id}
49+
img={event.bannerImageUrl}
50+
eventTitle={event.title}
51+
dDay={event.remainDays}
52+
host={event.hostChannelName}
53+
eventDate={event.startDate}
54+
location={event.address}
55+
hashtags={event.hashtags}
56+
onClick={() => navigate(`/event-details/${event.id}`)}
57+
/>
58+
))
59+
)}
5660
</div>
5761
{startIndex !== 0 && (
5862
<IconButton

src/shared/hooks/useInfiniteScroll.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { useInfiniteQuery } from '@tanstack/react-query';
2-
import { PaginationParams, EventFilters } from '../../entities/event/api/event';
2+
import { PaginationParams, EventFilters } from '../../entities/event/model/event';
33

44
interface UseInfiniteScrollProps<T> {
55
queryKey: string[];

0 commit comments

Comments
 (0)