import { Group, Box, Button, TextInput, Stack, Textarea } from "@mantine/core"; import React, { useState } from "react"; import { useCreateGroupMutation } from "@/features/group/queries/group-query.ts"; import { useForm, zodResolver } from "@mantine/form"; import * as z from "zod"; import { useNavigate } from "react-router-dom"; import { MultiUserSelect } from "@/features/group/components/multi-user-select.tsx"; const formSchema = z.object({ name: z.string().min(2).max(50), description: z.string().max(500), }); type FormValues = z.infer; export function CreateGroupForm() { const createGroupMutation = useCreateGroupMutation(); const [userIds, setUserIds] = useState([]); const navigate = useNavigate(); const form = useForm({ validate: zodResolver(formSchema), initialValues: { name: "", description: "", }, }); const handleMultiSelectChange = (value: string[]) => { setUserIds(value); }; const handleSubmit = async (data: { name?: string; description?: string; }) => { const groupData = { name: data.name, description: data.description, userIds: userIds, }; const createdGroup = await createGroupMutation.mutateAsync(groupData); navigate(`/settings/groups/${createdGroup.id}`); }; return ( <>
handleSubmit(values))}>