import { useState } from "react"; import { Link, useNavigate } from "react-router-dom"; import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query"; import { AuthForm } from "@/components/auth-form"; import { apiClient } from "@/lib/api-client"; import { useAuthStore } from "@/store/auth-store"; export function LoginPage() { const navigate = useNavigate(); const queryClient = useQueryClient(); const setUser = useAuthStore((state) => state.setUser); const [error, setError] = useState(null); const meQuery = useQuery({ queryKey: ["auth", "me"], queryFn: () => apiClient.getMe(), }); const mutation = useMutation({ mutationFn: apiClient.login, onSuccess: (response) => { setUser(response.user); queryClient.setQueryData(["auth", "me"], response); navigate("/dashboard"); }, onError: (err) => setError(err instanceof Error ? err.message : "Login gagal"), }); return (
{ setError(null); return mutation.mutateAsync({ email, password }); }} onFieldChange={() => setError(null)} />

Belum punya akun?{" "} Daftar

); }