diff --git a/client/src/components/Nav/SettingsTabs/Data/SharedLinks.tsx b/client/src/components/Nav/SettingsTabs/Data/SharedLinks.tsx index 4be7524191..eee7414bc2 100644 --- a/client/src/components/Nav/SettingsTabs/Data/SharedLinks.tsx +++ b/client/src/components/Nav/SettingsTabs/Data/SharedLinks.tsx @@ -63,14 +63,6 @@ export default function SharedLinks() { refetchOnMount: false, }); - const handleSort = useCallback((sortField: string, sortOrder: 'asc' | 'desc') => { - setQueryParams((prev) => ({ - ...prev, - sortBy: sortField as 'title' | 'createdAt', - sortDirection: sortOrder, - })); - }, []); - const handleFilterChange = useCallback((value: string) => { const encodedValue = encodeURIComponent(value.trim()); setQueryParams((prev) => ({ @@ -169,26 +161,28 @@ export default function SharedLinks() { () => [ { accessorKey: 'title', - header: () => { - const isSorted = queryParams.sortBy === 'title'; - const sortDirection = queryParams.sortDirection; + header: ({ column }) => { + const sortState = column.getIsSorted(); + let SortIcon = ArrowUpDown; + let ariaSort: 'ascending' | 'descending' | 'none' = 'none'; + if (sortState === 'desc') { + SortIcon = ArrowDown; + ariaSort = 'descending'; + } else if (sortState === 'asc') { + SortIcon = ArrowUp; + ariaSort = 'ascending'; + } return ( ); }, @@ -219,24 +213,28 @@ export default function SharedLinks() { }, { accessorKey: 'createdAt', - header: () => { - const isSorted = queryParams.sortBy === 'createdAt'; - const sortDirection = queryParams.sortDirection; + header: ({ column }) => { + const sortState = column.getIsSorted(); + let SortIcon = ArrowUpDown; + let ariaSort: 'ascending' | 'descending' | 'none' = 'none'; + if (sortState === 'desc') { + SortIcon = ArrowDown; + ariaSort = 'descending'; + } else if (sortState === 'asc') { + SortIcon = ArrowUp; + ariaSort = 'ascending'; + } return ( ); }, @@ -299,7 +297,7 @@ export default function SharedLinks() { ), }, ], - [isSmallScreen, localize, queryParams, handleSort], + [isSmallScreen, localize], ); return (