Skip to content

Commit 6121fce

Browse files
committed
feat: GamesNearPage api 연동
1 parent 9ac622e commit 6121fce

File tree

1 file changed

+23
-19
lines changed

1 file changed

+23
-19
lines changed

src/pages/GamesNearPage/GamesNearPage.tsx

Lines changed: 23 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,19 @@ import { Header } from '@components/Header';
22
import { MatchItem } from '@components/MatchItem';
33
import { Text } from '@components/shared/Text';
44

5+
import { useGamesQuery } from '@hooks/queries/useGamesQuery';
56
import { useHeaderTitle } from '@hooks/useHeaderTitle';
7+
import { useInfiniteScroll } from '@hooks/useInfiniteScroll';
8+
9+
import { getGameStartDate } from '@utils/domain';
610

711
import { PageContent, PageLayout } from './GamesNearPage.styles';
812

13+
/** TODO: 내 정보에서 주 활동지역을 가져와서 useGamesQuery에 넘겨줘야 함 */
914
export const GamesNearPage = () => {
1015
const { entryRef, showHeaderTitle } = useHeaderTitle<HTMLDivElement>();
16+
const { games, fetchNextPage } = useGamesQuery({});
17+
const lastElementRef = useInfiniteScroll<HTMLDivElement>(fetchNextPage);
1118

1219
return (
1320
<PageLayout>
@@ -18,27 +25,24 @@ export const GamesNearPage = () => {
1825
내 근처 게스트 매치
1926
</Text>
2027
</div>
21-
{Array(20)
22-
.fill(null)
23-
.map((_, i) => (
28+
{games.map((game) => {
29+
const membersProfileImageUrls = game.members.map(
30+
(member) => member.profileImageUrl
31+
);
32+
return (
2433
<MatchItem
25-
key={i}
26-
matchId="1"
27-
startTime={new Date()}
28-
timeMinutes={60}
29-
mainAddress="서울특별시 송파구 송파나루길 206"
30-
memberCount={6}
31-
maxMemberCount={10}
32-
membersProfileImageUrls={[
33-
'https://picsum.photos/500',
34-
'https://picsum.photos/500',
35-
'https://picsum.photos/500',
36-
'https://picsum.photos/500',
37-
'https://picsum.photos/500',
38-
'https://picsum.photos/500',
39-
]}
34+
key={game.id}
35+
matchId={String(game.id)}
36+
startTime={getGameStartDate(game.playDate, game.playStartTime)}
37+
timeMinutes={game.playTimeMinutes}
38+
mainAddress={game.mainAddress}
39+
memberCount={game.memberCount}
40+
maxMemberCount={game.maxMemberCount}
41+
membersProfileImageUrls={membersProfileImageUrls}
4042
/>
41-
))}
43+
);
44+
})}
45+
<div ref={lastElementRef} />
4246
</PageContent>
4347
</PageLayout>
4448
);

0 commit comments

Comments
 (0)