"use client"; import { useState } from "react"; import { useRouter } from "next/navigation"; import { useToast } from "@/hooks/use-toast"; import { Button } from "@/components/ui/button"; import { Card, CardContent, CardDescription, CardHeader, CardTitle, } from "@/components/ui/card"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; import type { Client } from ".prisma/client"; interface EditClientFormProps { client: Client; } export function EditClientForm({ client }: EditClientFormProps) { const [isLoading, setIsLoading] = useState(false); const { toast } = useToast(); const router = useRouter(); async function onSubmit(event: React.FormEvent) { event.preventDefault(); setIsLoading(true); try { const formData = new FormData(event.currentTarget); const response = await fetch(`/api/clients/${client.id}`, { method: "PUT", body: formData, }); if (!response.ok) { throw new Error("更新失败"); } router.refresh(); toast({ title: "更新成功", description: "应用信息已更新", }); router.push("/dashboard/clients"); } catch (error) { toast({ variant: "destructive", title: "更新失败", description: error instanceof Error ? error.message : "未知错误", }); } finally { setIsLoading(false); } } return ( 编辑应用 修改应用的基本信息
); }