import { Button } from "@/components/ui/button"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; import { Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerTitle, DrawerTrigger, } from "@/components/ui/drawer" import { useState } from "react"; import { AdminApi } from "@/lib/api"; import { toast } from "sonner"; import { ApiError } from "next/dist/server/api-utils"; interface CreateUserEditorProps { children: React.ReactNode } export function CreateUserEditor({ children }: CreateUserEditorProps) { const [open, setOpen] = useState(false); const handleSubmit = async (event: React.FormEvent) => { event.preventDefault(); const formData = new FormData(event.currentTarget); try { await AdminApi.user.create({ username: formData.get("username")?.toString() || null, nickname: formData.get("nickname")?.toString() || null, email: formData.get("email")?.toString() || null, phone: formData.get("phone")?.toString() || null, password: formData.get("password")?.toString() || null, }); setOpen(false); toast.success('创建成功') } catch (error) { toast.error((error as ApiError).message || '创建失败') } } return ( <>
setOpen(true)} className="cursor-pointer"> {children}
setOpen(false)}> 新增用户 确保你在保存之前检查所有更改
) }