1
- import { FC , useCallback , useContext , useMemo } from 'react'
1
+ import { FC , useCallback , useContext , useMemo , useState } from 'react'
2
2
import { find } from 'lodash'
3
3
import { NavigateFunction , Params , useNavigate , useParams } from 'react-router-dom'
4
4
import classNames from 'classnames'
@@ -27,6 +27,7 @@ import { Project } from '../../models/Project'
27
27
28
28
import { CopilotRequestModal } from './copilot-request-modal'
29
29
import styles from './CopilotRequestsPage.module.scss'
30
+ import { Sort } from '~/apps/admin/src/platform/gamification-admin/src/game-lib'
30
31
31
32
const CopilotTableActions : FC < { request : CopilotRequest } > = props => {
32
33
const navigate : NavigateFunction = useNavigate ( )
@@ -136,6 +137,10 @@ const CopilotTableActions: FC<{request: CopilotRequest}> = props => {
136
137
const CopilotRequestsPage : FC = ( ) => {
137
138
const navigate : NavigateFunction = useNavigate ( )
138
139
const routeParams : Params < string > = useParams ( )
140
+ const [ sort , setSort ] = useState < Sort > ( {
141
+ direction : 'desc' ,
142
+ fieldName : 'createdAt' ,
143
+ } ) ;
139
144
140
145
const { profile } : ProfileContextData = useContext ( profileContext )
141
146
const isAdminOrPM : boolean = useMemo (
@@ -148,7 +153,7 @@ const CopilotRequestsPage: FC = () => {
148
153
isValidating : requestsLoading ,
149
154
hasMoreCopilotRequests,
150
155
setSize,
151
- size } : CopilotRequestsResponse = useCopilotRequests ( )
156
+ size } : CopilotRequestsResponse = useCopilotRequests ( sort )
152
157
153
158
const viewRequestDetails = useMemo ( ( ) => (
154
159
routeParams . requestId && find ( requests , { id : + routeParams . requestId } ) as CopilotRequest
@@ -234,6 +239,10 @@ const CopilotRequestsPage: FC = () => {
234
239
setSize ( size + 1 )
235
240
}
236
241
242
+ const onToggleSort = ( s : Sort ) => {
243
+ setSort ( s ) ;
244
+ }
245
+
237
246
// header button config
238
247
const addNewRequestButton : ButtonProps = {
239
248
label : 'New Copilot Request' ,
@@ -260,6 +269,7 @@ const CopilotRequestsPage: FC = () => {
260
269
data = { tableData }
261
270
moreToLoad = { hasMoreCopilotRequests }
262
271
onLoadMoreClick = { loadMore }
272
+ onToggleSort = { onToggleSort }
263
273
/>
264
274
{ requestsLoading && < LoadingCircles /> }
265
275
{ viewRequestDetails && (
0 commit comments