import { Navigate } from "react-router-dom" import { useMutation, useQueryClient } from "@tanstack/react-query" import { api } from "@/lib/api" import { useMe } from "@/hooks/use-me" import { Button } from "@/components/ui/button" import { Input } from "@/components/ui/input" import { Label } from "@/components/ui/label" import { useToast } from "@/hooks/use-toast" export function LoginPage() { const me = useMe() const qc = useQueryClient() const { toast } = useToast() const login = useMutation({ mutationFn: (form: FormData) => api.login(String(form.get("email")), String(form.get("password"))), onSuccess: async () => { await qc.invalidateQueries({ queryKey: ["me"] }) }, onError: (e) => toast({ title: "登录失败", description: e.message }), }) if (me.data?.user) return return (

LanQin Email

{ e.preventDefault(); login.mutate(new FormData(e.currentTarget)) }}>
) }