"use client" import { useForm } from "react-hook-form"; import * as z from "zod"; import axios from "axios"; import qs from "query-string"; import { zodResolver } from "@hookform/resolvers/zod"; import { Form, FormControl, FormField, FormItem, } from "@/components/ui/form"; import { Input } from "@/components/ui/input"; import { Plus, Smile } from "lucide-react"; import { useModal } from "@/hooks/use-modal-store"; interface ChatInputProps { apiUrl: string; query: Record; name: string; type: "conversation" | "channel"; } const formSchema = z.object({ content: z.string().min(1), }); export const ChatInput = ({ apiUrl, query, name, type }: ChatInputProps) => { const { onOpen } = useModal(); const form = useForm>({ resolver: zodResolver(formSchema), defaultValues: { content: "", } }); const isLoading = form.formState.isSubmitting; const onSubmit = async (values: z.infer) => { try{ const url = qs.stringifyUrl({ url: apiUrl, query, }); await axios.post(url, values); }catch(error){ console.log(error); } } return (
(
)} /> ) }