feat: search
parent
d6fe22b19e
commit
0337b857ff
@ -0,0 +1,40 @@
|
|||||||
|
import produce from 'immer'
|
||||||
|
import { useCallback, useState } from 'react'
|
||||||
|
|
||||||
|
const useLegacyList = () => {
|
||||||
|
const [queryParams, setQueryParams] = useState<Record<string, any>>({})
|
||||||
|
const {
|
||||||
|
sort_by,
|
||||||
|
published,
|
||||||
|
} = queryParams
|
||||||
|
const setOrderBy = useCallback((sortBy: string) => {
|
||||||
|
const nextValue = produce(queryParams, (draft) => {
|
||||||
|
draft.sort_by = sortBy
|
||||||
|
})
|
||||||
|
setQueryParams(nextValue)
|
||||||
|
}, [queryParams])
|
||||||
|
|
||||||
|
const setPublished = useCallback((value: number) => {
|
||||||
|
const nextValue = produce(queryParams, (draft) => {
|
||||||
|
draft.published = value
|
||||||
|
})
|
||||||
|
setQueryParams(nextValue)
|
||||||
|
}, [queryParams])
|
||||||
|
|
||||||
|
const clearPublished = useCallback(() => {
|
||||||
|
const nextValue = produce(queryParams, (draft) => {
|
||||||
|
draft.published = undefined
|
||||||
|
})
|
||||||
|
setQueryParams(nextValue)
|
||||||
|
}, [queryParams])
|
||||||
|
|
||||||
|
return {
|
||||||
|
sort_by,
|
||||||
|
setOrderBy,
|
||||||
|
published,
|
||||||
|
setPublished,
|
||||||
|
clearPublished,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export default useLegacyList
|
||||||
Loading…
Reference in New Issue