1- import { useRef , useState } from "react" ;
1+ import { useEffect , useRef , useState } from "react" ;
22import Icon from "@/components/Icon" ;
33import { Button , ErrorMessage , Heading , Input , Modal } from "@/components/UI" ;
44import { schema , schemaType } from "@/schemas/modals/task" ;
@@ -24,6 +24,7 @@ export default function CreateTaskModal({ onClose }: CreateTaskModalProps) {
2424 setValue,
2525 watch,
2626 formState : { errors, isValid } ,
27+ setFocus,
2728 } = useForm < schemaType > ( {
2829 resolver : zodResolver ( schema ) ,
2930 defaultValues : {
@@ -51,6 +52,11 @@ export default function CreateTaskModal({ onClose }: CreateTaskModalProps) {
5152 const { activeBoardId } = useActiveState ( ) ;
5253 const { mutateAsync : CreateTaskAPI } = useCreateTask ( ) ;
5354
55+ useEffect ( ( ) => {
56+ const timer = setTimeout ( ( ) => setFocus ( "name" ) , 100 ) ;
57+ return ( ) => clearTimeout ( timer ) ;
58+ } , [ ] ) ;
59+
5460 return (
5561 < Modal size = "lg" onClose = { onClose } closeIcon = { < Icon iconName = "Close" /> } >
5662 < Heading as = "h3" align = "center" className = "mb-4" >
@@ -129,7 +135,7 @@ export default function CreateTaskModal({ onClose }: CreateTaskModalProps) {
129135
130136 async function onSubmit ( data : schemaType ) {
131137 if ( ! activeBoardId ) return ;
132- CreateTaskAPI ( { ...data , boardId : activeBoardId } ) ;
138+ CreateTaskAPI ( { ...data , boardId : activeBoardId } ) ;
133139 onClose ( ) ;
134140 }
135141}
0 commit comments