user.tsx 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. import { useQuery } from '@apollo/client'
  2. import { withRouter } from 'next/router'
  3. import SignupForm from '../components/user/SignupForm'
  4. import LoginForm from '../components/user/LoginForm'
  5. import LogoutButton from '../components/user/LogoutButton'
  6. import RequestPassword from '../components/user/RequestPassword'
  7. import ResetPassword from '../components/user/ResetPassword'
  8. import UserEditForm from '../components/user/UserEditForm'
  9. import UserDetails from '../components/user/UserDetails'
  10. import DeleteUserButton from '../components/user/DeleteUserButton'
  11. import UserAdmin from '../components/user/UserAdmin'
  12. import { CURRENT_USER } from '../components/user/graphql'
  13. const UserPage = () => {
  14. const { data, loading, error } = useQuery(CURRENT_USER)
  15. console.log('UserPage', data, loading, error && error.message)
  16. return (
  17. <>
  18. {data && <p>data.me.name</p>}
  19. {error && <p>error.message</p>}
  20. {loading && <p>Loading...</p>}
  21. {error && <LoginForm />}
  22. {data && <LogoutButton />}
  23. <RequestPassword />
  24. <ResetPassword />
  25. {data && <UserEditForm user={data.me} />}
  26. {data && <UserDetails user={data.me} />}
  27. {data && <DeleteUserButton user={data.me} />}
  28. <UserAdmin />
  29. </>
  30. )
  31. }
  32. export default withRouter(UserPage)