commerce/packages/commercejs/auth/use-logout.tsx
2022-01-13 20:58:26 -05:00

28 lines
753 B
TypeScript

import { useCallback } from 'react'
import Cookies from 'js-cookie'
import { MutationHook } from '@commerce/utils/types'
import useLogout, { UseLogout } from '@commerce/auth/use-logout'
import type { LogoutHook } from '@commerce/types/logout'
import useCustomer from '../customer/use-customer'
import { CUSTOMER_COOKIE } from '../constants'
export default useLogout as UseLogout<typeof handler>
export const handler: MutationHook<LogoutHook> = {
fetchOptions: {
query: '_',
method: '_',
},
useHook: () => () => {
const { mutate } = useCustomer()
return useCallback(
async function logout() {
Cookies.remove(CUSTOMER_COOKIE)
await mutate(null, false)
return null
},
[mutate]
)
},
}