import { useEffect } from "react"; import { api } from "~/utils/api"; import { HiXMark } from "react-icons/hi2"; import { useModal } from "~/providers/modal"; import { useWorkspace } from "~/providers/workspace"; import { useForm } from "react-hook-form"; interface FormValues { name: string; } export function NewWorkspaceForm() { const { closeModal } = useModal(); const { switchWorkspace } = useWorkspace(); const { register, handleSubmit, formState: { errors }, } = useForm(); const createWorkspace = api.workspace.create.useMutation({ onSuccess: (values) => { try { if (values?.publicId && values.name) { switchWorkspace({ publicId: values.publicId, name: values.name }); closeModal(); } } catch (e) { console.log(e); } }, }); useEffect(() => { const nameElement: HTMLElement | null = document?.querySelector("#workspace-name"); if (nameElement) nameElement.focus(); }, []); const onSubmit = (values: FormValues) => { createWorkspace.mutate({ name: values.name, }); }; return (

New workspace

); }