File tree Expand file tree Collapse file tree 3 files changed +41
-55
lines changed
Expand file tree Collapse file tree 3 files changed +41
-55
lines changed Original file line number Diff line number Diff line change @@ -28,31 +28,12 @@ export interface IArticle {
2828
2929export interface IArticlesByDateResponse {
3030 content : IArticle [ ] ;
31- empty : boolean ;
32- first : boolean ;
33- last : boolean ;
34- number : number ;
35- numberOfElements : number ;
36- pageable : {
37- offset : number ;
38- pageNumber : number ;
39- pageSize : number ;
40- paged : boolean ;
41- unpaged : boolean ;
42- sort : {
43- empty : boolean ;
44- sorted : boolean ;
45- unsorted : boolean ;
46- } ;
31+ page : {
32+ size : number ;
33+ number : number ;
34+ totalElements : number ;
35+ totalPages : number ;
4736 } ;
48- size : number ;
49- sort : {
50- empty : boolean ;
51- sorted : boolean ;
52- unsorted : boolean ;
53- } ;
54- totalElements : number ;
55- totalPages : number ;
5637}
5738
5839export interface ITopicResponse {
Original file line number Diff line number Diff line change @@ -47,29 +47,31 @@ export const Pagination = ({
4747 } ;
4848
4949 return (
50- < Flex justify = "center" >
51- < PaginationContainer hideShadow = { hideShadow } marginTop = { marginTop } >
52- { isShowingArrows && (
53- < LeftArrow src = { ArrowButton } onClick = { handlePrev } />
54- ) }
55- < Spacer width = { 12 } h = { 0 } />
56- < PageList >
57- { visiblePageNumbers . map ( ( page ) => (
58- < PageNumber
59- key = { page }
60- isActive = { page === currentPageProp + 1 }
61- onClick = { ( ) => handlePageChange ( page - 1 ) }
62- >
63- { page }
64- </ PageNumber >
65- ) ) }
66- </ PageList >
67- < Spacer width = { 12 } h = { 0 } />
68- { isShowingArrows && (
69- < RightArrow src = { ArrowButton } onClick = { handleNext } />
70- ) }
71- </ PaginationContainer >
72- </ Flex >
50+ totalPages > 0 && (
51+ < Flex justify = "center" >
52+ < PaginationContainer hideShadow = { hideShadow } marginTop = { marginTop } >
53+ { isShowingArrows && (
54+ < LeftArrow src = { ArrowButton } onClick = { handlePrev } />
55+ ) }
56+ < Spacer width = { 12 } h = { 0 } />
57+ < PageList >
58+ { visiblePageNumbers . map ( ( page ) => (
59+ < PageNumber
60+ key = { page }
61+ isActive = { page === currentPageProp + 1 }
62+ onClick = { ( ) => handlePageChange ( page - 1 ) }
63+ >
64+ { page }
65+ </ PageNumber >
66+ ) ) }
67+ </ PageList >
68+ < Spacer width = { 12 } h = { 0 } />
69+ { isShowingArrows && (
70+ < RightArrow src = { ArrowButton } onClick = { handleNext } />
71+ ) }
72+ </ PaginationContainer >
73+ </ Flex >
74+ )
7375 ) ;
7476} ;
7577
Original file line number Diff line number Diff line change @@ -65,7 +65,7 @@ const TeamDashboardPage = () => {
6565 } ) ;
6666 // 가장 비용이 적은 캐싱
6767 if ( isPaginationReady && articlesData ) {
68- totalPageCache = articlesData . totalPages ;
68+ totalPageCache = articlesData . page . totalPages ;
6969 }
7070
7171 const onClickCalendarDate = ( newDate : string ) => {
@@ -137,13 +137,16 @@ const TeamDashboardPage = () => {
137137 onShowTopicDetail = { handleShowTopicDetail }
138138 onShowArticleDetail = { handleShowArticleDetail }
139139 />
140- < Pagination
141- totalPages = { articlesData ?. totalPages ?? totalPageCache }
142- currentPageProp = { page }
143- onPageChange = { handlePageChange }
144- hideShadow = { isMobile }
145- marginTop = "-70px"
146- />
140+ { articlesData && (
141+ < Pagination
142+ totalPages = { articlesData ?. page . totalPages ?? totalPageCache }
143+ currentPageProp = { page }
144+ onPageChange = { handlePageChange }
145+ hideShadow = { isMobile }
146+ marginTop = "-70px"
147+ />
148+ ) }
149+
147150 < Spacer h = { isMobile ? 30 : 40 } />
148151 { currentView === 'topic' && (
149152 < TopicDetail teamId = { Number ( teamId ) } selectedDate = { selectedDate } />
You can’t perform that action at this time.
0 commit comments