LogoutButton.tsx 714 B

1234567891011121314151617181920212223242526272829
  1. import { useMutation } from '@apollo/client'
  2. import { USER_LOGOUT, CURRENT_USER } from './graphql'
  3. import { SyntheticEvent } from 'react'
  4. interface LogoutButtonProps {
  5. title?: string
  6. }
  7. const LogoutButton = ({ title }: LogoutButtonProps) => {
  8. const [logout, { loading, error }] = useMutation(
  9. USER_LOGOUT,
  10. { refetchQueries: [{ query: CURRENT_USER }] }
  11. )
  12. return (
  13. <button disabled={loading} onClick={async (event: SyntheticEvent) => {
  14. try {
  15. const data = await logout()
  16. console.log('LogoutButton', data)
  17. //refetch()
  18. } catch (error) {
  19. console.log('LogoutButton', error)
  20. }
  21. }}>{title || 'Log out'}</button>
  22. )
  23. }
  24. export default LogoutButton