initial commit
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
19
src/admin/hooks/useTableSort.ts
Normal file
19
src/admin/hooks/useTableSort.ts
Normal file
@@ -0,0 +1,19 @@
|
||||
import { useState, useCallback } from 'react'
|
||||
|
||||
export default function useTableSort(defaultSort = 'id') {
|
||||
const [sort, setSort] = useState(defaultSort)
|
||||
const [order, setOrder] = useState<'asc' | 'desc'>('desc')
|
||||
|
||||
const handleSort = useCallback((column: string) => {
|
||||
setSort(prev => {
|
||||
if (prev === column) {
|
||||
setOrder(o => (o === 'asc' ? 'desc' : 'asc'))
|
||||
return column
|
||||
}
|
||||
setOrder('desc')
|
||||
return column
|
||||
})
|
||||
}, [])
|
||||
|
||||
return { sort, order, handleSort, activeSort: sort }
|
||||
}
|
||||
Reference in New Issue
Block a user