1- import { FC , useCallback , useContext , useMemo } from 'react'
1+ import { FC , useCallback , useContext , useMemo , useState } from 'react'
22import { find } from 'lodash'
33import { NavigateFunction , Params , useNavigate , useParams } from 'react-router-dom'
44import classNames from 'classnames'
@@ -27,6 +27,7 @@ import { Project } from '../../models/Project'
2727
2828import { CopilotRequestModal } from './copilot-request-modal'
2929import styles from './CopilotRequestsPage.module.scss'
30+ import { Sort } from '~/apps/admin/src/platform/gamification-admin/src/game-lib'
3031
3132const CopilotTableActions : FC < { request : CopilotRequest } > = props => {
3233 const navigate : NavigateFunction = useNavigate ( )
@@ -136,6 +137,10 @@ const CopilotTableActions: FC<{request: CopilotRequest}> = props => {
136137const CopilotRequestsPage : FC = ( ) => {
137138 const navigate : NavigateFunction = useNavigate ( )
138139 const routeParams : Params < string > = useParams ( )
140+ const [ sort , setSort ] = useState < Sort > ( {
141+ direction : 'desc' ,
142+ fieldName : 'createdAt' ,
143+ } ) ;
139144
140145 const { profile } : ProfileContextData = useContext ( profileContext )
141146 const isAdminOrPM : boolean = useMemo (
@@ -148,7 +153,7 @@ const CopilotRequestsPage: FC = () => {
148153 isValidating : requestsLoading ,
149154 hasMoreCopilotRequests,
150155 setSize,
151- size } : CopilotRequestsResponse = useCopilotRequests ( )
156+ size } : CopilotRequestsResponse = useCopilotRequests ( sort )
152157
153158 const viewRequestDetails = useMemo ( ( ) => (
154159 routeParams . requestId && find ( requests , { id : + routeParams . requestId } ) as CopilotRequest
@@ -234,6 +239,10 @@ const CopilotRequestsPage: FC = () => {
234239 setSize ( size + 1 )
235240 }
236241
242+ const onToggleSort = ( s : Sort ) => {
243+ setSort ( s ) ;
244+ }
245+
237246 // header button config
238247 const addNewRequestButton : ButtonProps = {
239248 label : 'New Copilot Request' ,
@@ -260,6 +269,7 @@ const CopilotRequestsPage: FC = () => {
260269 data = { tableData }
261270 moreToLoad = { hasMoreCopilotRequests }
262271 onLoadMoreClick = { loadMore }
272+ onToggleSort = { onToggleSort }
263273 />
264274 { requestsLoading && < LoadingCircles /> }
265275 { viewRequestDetails && (
0 commit comments