"use client";
import { useState } from "react";
import { useRouter } from "next/navigation";
import { useToast, safeFetch } from "@/components/Toast";
import { ToastProvider } from "@/components/Toast";
import { Input } from "@/components/ui/input";
import { Label } from "@/components/ui/label";
import { Button } from "@/components/ui/button";
export default function LoginPage() {
return (
);
}
function LoginForm() {
const [password, setPassword] = useState("");
const [loading, setLoading] = useState(false);
const { toast } = useToast();
const router = useRouter();
async function handleSubmit(e: React.FormEvent) {
e.preventDefault();
setLoading(true);
try {
await safeFetch("/api/auth", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ password }),
}, toast);
router.push("/admin");
} catch { /* safeFetch 已弹 toast */ }
setLoading(false);
}
return (
);
}