@@ -341,11 +341,11 @@ function DataTableWithBazzaFilters() {
341341 const pageIndex = Number . parseInt ( searchParams . get ( 'page' ) ?? '0' , 10 ) ;
342342 const pageSize = Number . parseInt ( searchParams . get ( 'pageSize' ) ?? '10' , 10 ) ;
343343 const sortField = searchParams . get ( 'sortField' ) ;
344- const sortDesc = searchParams . get ( 'sortDesc ' ) === 'true' ;
344+ const sortOrder = ( searchParams . get ( 'sortOrder ' ) || 'asc' ) as 'asc' | 'desc' ; // 'asc' or 'desc'
345345
346346 // --- Pagination and Sorting State ---
347347 const pagination = { pageIndex, pageSize } ;
348- const sorting = sortField ? [ { id : sortField , desc : sortDesc } ] : [ ] ;
348+ const sorting = sortField ? [ { id : sortField , desc : sortOrder === 'desc' } ] : [ ] ;
349349
350350 // --- Event Handlers: update URL directly ---
351351 const handlePaginationChange : OnChangeFn < PaginationState > = ( updaterOrValue ) => {
@@ -359,10 +359,10 @@ function DataTableWithBazzaFilters() {
359359 const next = typeof updaterOrValue === 'function' ? updaterOrValue ( sorting ) : updaterOrValue ;
360360 if ( next . length > 0 ) {
361361 searchParams . set ( 'sortField' , next [ 0 ] . id ) ;
362- searchParams . set ( 'sortDesc ' , next [ 0 ] . desc ? 'true ' : 'false ' ) ;
362+ searchParams . set ( 'sortOrder ' , next [ 0 ] . desc ? 'desc ' : 'asc ' ) ;
363363 } else {
364364 searchParams . delete ( 'sortField' ) ;
365- searchParams . delete ( 'sortDesc ' ) ;
365+ searchParams . delete ( 'sortOrder ' ) ;
366366 }
367367 navigate ( `${ location . pathname } ?${ searchParams . toString ( ) } ` , { replace : true } ) ;
368368 } ;
@@ -441,10 +441,10 @@ const handleDataFetch = async ({ request }: LoaderFunctionArgs): Promise<DataRes
441441 const page = dataTableRouterParsers . page . parse ( params . get ( 'page' ) ) ?? 0 ;
442442 let pageSize = dataTableRouterParsers . pageSize . parse ( params . get ( 'pageSize' ) ) ?? 10 ;
443443 const sortField = params . get ( 'sortField' ) ; // Get raw string or null
444- const sortDesc = params . get ( 'sortDesc ' ) === 'true' ; // Convert to boolean
444+ const sortOrder = ( params . get ( 'sortOrder ' ) || 'asc' ) as 'asc' | 'desc' ; // 'asc' or 'desc'
445445 const filtersParam = params . get ( 'filters' ) ;
446446
447- console . log ( 'handleDataFetch - Parsed Parameters:' , { page, pageSize, sortField, sortDesc , filtersParam } ) ;
447+ console . log ( 'handleDataFetch - Parsed Parameters:' , { page, pageSize, sortField, sortOrder , filtersParam } ) ;
448448
449449 if ( ! pageSize || pageSize <= 0 ) {
450450 console . log ( `[Loader] - Invalid or missing pageSize (${ pageSize } ), defaulting to 10.` ) ;
@@ -512,7 +512,7 @@ const handleDataFetch = async ({ request }: LoaderFunctionArgs): Promise<DataRes
512512 let comparison = 0 ;
513513 if ( aValue < bValue ) comparison = - 1 ;
514514 if ( aValue > bValue ) comparison = 1 ;
515- return sortDesc ? comparison * - 1 : comparison ;
515+ return sortOrder === 'desc' ? comparison * - 1 : comparison ;
516516 } ) ;
517517 }
518518
0 commit comments