porridger/front/src/hooks/api/useBook.ts

33 lines
793 B
TypeScript

import { useCallback } from 'react'
import { useSendWithButton } from '..'
import { composeBookURL, processBook } from '../../api/book'
import { isBookResponse } from '../../api/book/types'
function useBook() {
const { doSend, button } = useSendWithButton('Забронировать',
'Забронировано',
true,
composeBookURL(),
'POST',
true,
isBookResponse,
processBook,
)
const handleBook = useCallback((id: number) => {
void doSend({}, {
body: JSON.stringify({
id,
}),
headers: {
'Content-Type': 'application/json',
},
})
}, [doSend])
return { handleBook, bookButton: button }
}
export default useBook