diff --git a/components/modal/DeleteFolderModal.tsx b/components/modal/DeleteFolderModal.tsx index 437706f..332da90 100644 --- a/components/modal/DeleteFolderModal.tsx +++ b/components/modal/DeleteFolderModal.tsx @@ -6,17 +6,22 @@ import toast from "react-hot-toast"; import toastMessages from "@/lib/toastMessage"; const DeleteFolderModal = ({ - folderName, + // folderName, folderId, + linkCount, }: { - folderName: string; + // folderName: string; folderId: number; + linkCount: number; }) => { const { closeModal } = useModalStore(); - let linkCount: number; + // let linkCount: number; const handleSubmit = async () => { // 폴더 내에 링크 개수 0 일때만 폴더 삭제 가능 -> 링크 1개 이상이면 error toast 띄우고 있음 or 전체 링크 삭제 후 폴더 삭제 - if (linkCount === 0) { + if (!linkCount) { + toast.error(toastMessages.error.invalidLinkCount); + closeModal(); + } else if (linkCount === 0) { try { await deleteFolder(folderId); toast.success(toastMessages.success.deleteFolder); @@ -32,7 +37,10 @@ const DeleteFolderModal = ({ }; return ( - + { const [value, setValue] = useState(""); @@ -25,25 +25,27 @@ const EditModal = ({ const body = { name: value, }; - if (value === folderName) { - toast.error(toastMessages.error.sameFolderName); + if (!folderId) { + toast.error(toastMessages.error.invalidLinkCount); + closeModal(); } else if (value === "") { toast.error(toastMessages.error.inputFolderName); } else { try { await putFolder(folderId, body); toast.success(toastMessages.success.editFolder); + closeModal(); } catch (error) { toast.error(toastMessages.error.editFolder); + closeModal(); } } - closeModal(); }; return ( diff --git a/components/modal/modalManager/ModalManager.tsx b/components/modal/modalManager/ModalManager.tsx index 2f15c9f..a24ae0f 100644 --- a/components/modal/modalManager/ModalManager.tsx +++ b/components/modal/modalManager/ModalManager.tsx @@ -32,8 +32,9 @@ export const Modal = () => { case "DeleteFolderModal": return ( ); case "DeleteLinkModal": @@ -46,7 +47,7 @@ export const Modal = () => { case "EditModal": return ( ); diff --git a/lib/toastMessage.ts b/lib/toastMessage.ts index e829ef1..c404851 100644 --- a/lib/toastMessage.ts +++ b/lib/toastMessage.ts @@ -30,6 +30,7 @@ const toastMessages = { sameLink: "이미 저장된 링크 주소입니다", sameFolderName: "같은 이름으로는 수정할 수 없습니다", invalidLink: "잘못된 링크 형식입니다", + invalidLinkCount: "폴더 정보를 받아오는데 실패했습니다", }, }; diff --git a/types/modalTypes.ts b/types/modalTypes.ts index e11e432..a080b3e 100644 --- a/types/modalTypes.ts +++ b/types/modalTypes.ts @@ -9,6 +9,7 @@ export interface ModalPropType { list?: FolderItemType[]; link?: string; linkId?: number | null; + linkCount?: number; } export interface FolderItemType {