import React, { FC, useEffect, useState } from "react"; import { Button } from "./ui/button"; import { Textarea } from "./ui/textarea"; import { Maximize2, Minimize2, Clipboard } from "lucide-react"; import { createPortal } from "react-dom"; import { toast } from "./molecules/Toast/use-toast"; interface ModalProps { isOpen: boolean; onClose: () => void; onSave: (value: string) => void; title?: string; defaultValue: string; } const InputModalComponent: FC = ({ isOpen, onClose, onSave, title, defaultValue, }) => { const [tempValue, setTempValue] = useState(defaultValue); const [isMaximized, setIsMaximized] = useState(false); useEffect(() => { if (isOpen) { setTempValue(defaultValue); setIsMaximized(false); } }, [isOpen, defaultValue]); const handleSave = () => { onSave(tempValue); onClose(); }; const toggleSize = () => { setIsMaximized(!isMaximized); }; const copyValue = () => { navigator.clipboard.writeText(tempValue).then(() => { toast({ title: "Input value copied to clipboard!", duration: 2000, }); }); }; if (!isOpen) { return null; } const modalContent = (