Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 13 additions & 5 deletions components/modal/DeleteFolderModal.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand All @@ -32,7 +37,10 @@ const DeleteFolderModal = ({
};

return (
<ModalContainer title="폴더 삭제" subtitle={folderName}>
<ModalContainer
title="폴더 삭제"
// subtitle={folderName}
>
<SubmitButton
type="button"
onClick={handleSubmit}
Expand Down
16 changes: 9 additions & 7 deletions components/modal/EditModal.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@ import toast from "react-hot-toast";
import toastMessages from "@/lib/toastMessage";

const EditModal = ({
folderName,
// folderName,
folderId,
}: {
folderName: string;
// folderName: string;
folderId: number;
}) => {
const [value, setValue] = useState("");
Expand All @@ -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 (
<ModalContainer title="폴더 이름 변경">
<ModalInput
placeholder={folderName}
name={folderName}
placeholder="수정할 이름을 입력해 주세요"
name="folderName"
value={value}
onChange={handleChange}
/>
Expand Down
5 changes: 3 additions & 2 deletions components/modal/modalManager/ModalManager.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,9 @@ export const Modal = () => {
case "DeleteFolderModal":
return (
<DeleteFolderModal
folderName={props.folderName || "폴더이름"}
// folderName={props.folderName || "폴더이름"}
folderId={Number(props.folderId)}
linkCount={Number(props.linkCount)}
/>
);
case "DeleteLinkModal":
Expand All @@ -46,7 +47,7 @@ export const Modal = () => {
case "EditModal":
return (
<EditModal
folderName={props.folderName || "폴더이름"}
// folderName={props.folderName || "폴더이름"}
folderId={Number(props.folderId)}
/>
);
Expand Down
1 change: 1 addition & 0 deletions lib/toastMessage.ts
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ const toastMessages = {
sameLink: "이미 저장된 링크 주소입니다",
sameFolderName: "같은 이름으로는 수정할 수 없습니다",
invalidLink: "잘못된 링크 형식입니다",
invalidLinkCount: "폴더 정보를 받아오는데 실패했습니다",
},
};

Expand Down
1 change: 1 addition & 0 deletions types/modalTypes.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ export interface ModalPropType {
list?: FolderItemType[];
link?: string;
linkId?: number | null;
linkCount?: number;
}

export interface FolderItemType {
Expand Down
Loading