@@ -2,12 +2,19 @@ import { Header } from '@components/Header';
22import { MatchItem } from '@components/MatchItem' ;
33import { Text } from '@components/shared/Text' ;
44
5+ import { useGamesQuery } from '@hooks/queries/useGamesQuery' ;
56import { useHeaderTitle } from '@hooks/useHeaderTitle' ;
7+ import { useInfiniteScroll } from '@hooks/useInfiniteScroll' ;
8+
9+ import { getGameStartDate } from '@utils/domain' ;
610
711import { PageContent , PageLayout } from './GamesNearPage.styles' ;
812
13+ /** TODO: 내 정보에서 주 활동지역을 가져와서 useGamesQuery에 넘겨줘야 함 */
914export 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