'use client' import { zodResolver } from "@hookform/resolvers/zod" import { useForm } from "react-hook-form" import * as z from "zod" import { Button } from "@/components/ui/button" import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage, } from "@/components/ui/form" import { Input } from "@/components/ui/input" import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select" import { createUser } from "./actions" import { useRouter } from "next/navigation" import { useState } from "react" import { toast } from "sonner" const formSchema = z.object({ email: z.string().email("Geçerli bir e-posta adresi giriniz."), password: z.string().min(6, "Şifre en az 6 karakter olmalıdır."), full_name: z.string().min(2, "İsim en az 2 karakter olmalıdır."), role: z.enum(["admin", "staff"]), }) export function UserForm() { const router = useRouter() const [loading, setLoading] = useState(false) const form = useForm>({ resolver: zodResolver(formSchema), defaultValues: { email: "", password: "", full_name: "", role: "staff", }, }) async function onSubmit(values: z.infer) { setLoading(true) try { const result = await createUser(values) if (result?.error) { toast.error(result.error) } else { toast.success("Kullanıcı başarıyla oluşturuldu") router.push('/dashboard/settings/users') router.refresh() } } catch (error) { toast.error("Bir hata oluştu") } finally { setLoading(false) } } return (
( E-posta )} /> ( Şifre )} /> ( İsim Soyisim )} /> ( Rol )} /> ) }