import { useEffect } from "react"; import { useForm } from "react-hook-form"; import { HiXMark } from "react-icons/hi2"; import type { NewBoardInput } from "@kan/api/types"; import Button from "~/components/Button"; import Input from "~/components/Input"; import { useModal } from "~/providers/modal"; import { useWorkspace } from "~/providers/workspace"; import { api } from "~/utils/api"; export function NewBoardForm() { const utils = api.useUtils(); const { closeModal } = useModal(); const { workspace } = useWorkspace(); const { register, handleSubmit } = useForm({ defaultValues: { name: "", workspacePublicId: workspace.publicId || "", }, }); const refetchBoards = () => utils.board.all.refetch(); const createBoard = api.board.create.useMutation({ onSuccess: async () => { closeModal(); await refetchBoards(); }, }); const onSubmit = (data: NewBoardInput) => { createBoard.mutate(data); }; useEffect(() => { const titleElement: HTMLElement | null = document.querySelector("#name"); if (titleElement) titleElement.focus(); }, []); return (

New board

{ if (e.key === "Enter") { e.preventDefault(); await handleSubmit(onSubmit)(); } }} />
); }