1
- import { Accordion , Box } from '@rocket.chat/fuselage' ;
1
+ import { Accordion , Box , Pagination } from '@rocket.chat/fuselage' ;
2
2
import type { ReactElement } from 'react' ;
3
3
import { useTranslation } from 'react-i18next' ;
4
4
5
5
import AppLogsItem from './AppLogsItem' ;
6
+ import { CustomScrollbars } from '../../../../../components/CustomScrollbars' ;
7
+ import { usePagination } from '../../../../../components/GenericTable/hooks/usePagination' ;
6
8
import { useFormatDateAndTime } from '../../../../../hooks/useFormatDateAndTime' ;
7
9
import AccordionLoading from '../../../components/AccordionLoading' ;
8
10
import { useLogs } from '../../../hooks/useLogs' ;
9
11
10
12
const AppLogs = ( { id } : { id : string } ) : ReactElement => {
11
13
const { t } = useTranslation ( ) ;
12
14
const formatDateAndTime = useFormatDateAndTime ( ) ;
13
- const { data, isSuccess, isError, isLoading } = useLogs ( id ) ;
15
+ const { current, itemsPerPage, setItemsPerPage : onSetItemsPerPage , setCurrent : onSetCurrent , ...paginationProps } = usePagination ( ) ;
16
+ const { data, isSuccess, isError, isLoading } = useLogs ( { appId : id , current, itemsPerPage } ) ;
14
17
15
18
return (
16
19
< >
@@ -21,17 +24,28 @@ const AppLogs = ({ id }: { id: string }): ReactElement => {
21
24
</ Box >
22
25
) }
23
26
{ isSuccess && (
24
- < Accordion width = '100%' alignSelf = 'center' >
25
- { data ?. logs ?. map ( ( log ) => (
26
- < AppLogsItem
27
- key = { log . _createdAt }
28
- title = { `${ formatDateAndTime ( log . _createdAt ) } : "${ log . method } " (${ log . totalTime } ms)` }
29
- instanceId = { log . instanceId }
30
- entries = { log . entries }
31
- />
32
- ) ) }
33
- </ Accordion >
27
+ < CustomScrollbars >
28
+ < Accordion width = '100%' alignSelf = 'center' >
29
+ { data ?. logs ?. map ( ( log ) => (
30
+ < AppLogsItem
31
+ key = { log . _createdAt }
32
+ title = { `${ formatDateAndTime ( log . _createdAt ) } : "${ log . method } " (${ log . totalTime } ms)` }
33
+ instanceId = { log . instanceId }
34
+ entries = { log . entries }
35
+ />
36
+ ) ) }
37
+ </ Accordion >
38
+ </ CustomScrollbars >
34
39
) }
40
+ < Pagination
41
+ divider
42
+ current = { current }
43
+ itemsPerPage = { itemsPerPage }
44
+ count = { data ?. total || 0 }
45
+ onSetItemsPerPage = { onSetItemsPerPage }
46
+ onSetCurrent = { onSetCurrent }
47
+ { ...paginationProps }
48
+ />
35
49
</ >
36
50
) ;
37
51
} ;
0 commit comments