Skip to content

Commit 7cbb8ff

Browse files
committed
feat: noteList 커스텀 훅 구현
1 parent 6bcd211 commit 7cbb8ff

File tree

1 file changed

+45
-0
lines changed

1 file changed

+45
-0
lines changed

frontend/src/hooks/useNoteList.ts

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
import { useState } from "react";
2+
3+
import usePageStore from "@/store/usePageStore";
4+
import { useDeletePage, usePages } from "./usePages";
5+
6+
export const useNoteList = () => {
7+
const { setCurrentPage } = usePageStore();
8+
const { data } = usePages();
9+
10+
const [noteIdToDelete, setNoteIdToDelete] = useState<number | null>(null);
11+
const [isModalOpen, setIsModalOpen] = useState(false);
12+
13+
const deleteMutation = useDeletePage();
14+
15+
const handleNoteClick = (id: number) => {
16+
setCurrentPage(id);
17+
};
18+
19+
const openModal = (noteId: number) => {
20+
setNoteIdToDelete(noteId);
21+
setIsModalOpen(true);
22+
};
23+
24+
const onConfirm = () => {
25+
if (noteIdToDelete === null) {
26+
return;
27+
}
28+
29+
deleteMutation.mutate({ id: noteIdToDelete });
30+
setIsModalOpen(false);
31+
};
32+
33+
const onCloseModal = () => {
34+
setIsModalOpen(false);
35+
};
36+
37+
return {
38+
data,
39+
isModalOpen,
40+
handleNoteClick,
41+
openModal,
42+
onConfirm,
43+
onCloseModal,
44+
};
45+
};

0 commit comments

Comments
 (0)