"use client"; import React from "react"; import { useState, useEffect } from "react"; import { Button, Input, Textarea, Modal, ModalContent, ModalHeader, ModalBody, ModalFooter, } from "@nextui-org/react"; import { FolderType } from "./layout"; type Props = { isOpen: boolean; editingFolder: FolderType; onCancel: () => void; onSubmit: (name: string, detail: string) => void; }; export function FolderDialog({ isOpen, editingFolder, onCancel, onSubmit, }: Props) { const [folderName, setFolderName] = useState({ text: editingFolder ? editingFolder.name : "", isValid: false, errorMessage: "", }); const [folderDetail, setFolderDetail] = useState({ text: editingFolder ? editingFolder.detail : "", isValid: false, errorMessage: "", }); useEffect(() => { if (editingFolder) { setFolderName({ ...folderName, text: editingFolder.name, }); setFolderDetail({ ...folderDetail, text: editingFolder.detail ? editingFolder.detail : "", }); } else { setFolderName({ ...folderName, text: "", }); setFolderDetail({ ...folderDetail, text: "", }); } }, [editingFolder]); const clear = () => { setFolderName({ isValid: false, text: "", errorMessage: "", }); setFolderDetail({ isValid: false, text: "", errorMessage: "", }); }; const validate = () => { if (!folderName.text) { setFolderName({ text: "", isValid: false, errorMessage: "Please enter folder name", }); return; } onSubmit(folderName.text, folderDetail.text); clear(); }; return ( { onCancel(); }} > Folder { setFolderName({ ...folderName, text: e.target.value, }); }} />