'use client' import { useForm } from 'react-hook-form' import { ArrowUp, CheckCircle, Package2 } from 'lucide-react' import { useState } from 'react' import { Tabs, TabsContent, TabsList, TabsTrigger } from '~/components/ui/tabs' import { Textarea } from '~/components/ui/textarea' import CodeGenService from '~/app/api/services/code-gen-service' import { useParams } from 'next/navigation' type FormData = { message: string } interface CodeProps { setCode: (newCode: string) => void } const Rightpanel: React.FC = ({ setCode }) => { const { register, handleSubmit, reset, watch } = useForm() const [textInput, setTextInput] = useState([]) const [successMessage, setSuccessMessage] = useState(null) const { projectId } = useParams() as { projectId: string } const messageValue = watch('message', '') // watch the input value const handleTextSubmit = async (data: FormData) => { setTextInput((prevMessages) => [...prevMessages, data.message]) try { const codeGenService = new CodeGenService() const response = await codeGenService.generateCode({ project_id: projectId, endpoint_description: data.message, }) setSuccessMessage('Code generated successfully!') setTimeout(() => setSuccessMessage(null), 3000) // Hide after 3 seconds reset() const { content_base64 } = response setCode(atob(content_base64)) console.log(response) } catch (error) { console.error('Error generating code:', error) } } return (
Code chat
{!textInput.length ? (
No tasks running yet
As you generate endpoints the progress will be displayed here
) : (
{textInput.map((msg, index) => (

{msg} something is the messag e

Code Generated succesfully

))}
)}
{/* Success Message */} {successMessage && (
{successMessage}
)}