88 ContextMenuTrigger ,
99} from "@/components/common/context-menu" ;
1010import { TopicContext } from "@/context/topic-context" ;
11- import { useCreateContent } from "@/lib/tanstack/mutation/topic-content" ;
11+ import { useCreateContent , useRemoveTopicContentById } from "@/lib/tanstack/mutation/topic-content" ;
1212import type { CategoryContentDTO } from "@linkyboard/types" ;
1313import type { Node } from "@xyflow/react" ;
1414
@@ -33,11 +33,12 @@ export default function ContextMenuProvider({
3333 throw new Error ( "TopicContext not found" ) ;
3434 }
3535
36- const { id, nodes, selectedNodeIds } = topicContext ;
36+ const { id, nodes, selectedNodeIds, onResetSelectedNodeIds } = topicContext ;
3737
3838 const [ isContextMenuOpen , setIsContextMenuOpen ] = useState ( false ) ;
3939
4040 const { mutateAsync : createContent } = useCreateContent ( id ) ;
41+ const { mutateAsync : removeContent } = useRemoveTopicContentById ( id , onResetSelectedNodeIds ) ;
4142
4243 const onDuplicate = useCallback ( ( ) => {
4344 selectedNodeIds . forEach ( async ( nodeId ) => {
@@ -69,10 +70,13 @@ export default function ContextMenuProvider({
6970 // 여기에 Summary 로직 추가
7071 } , [ ] ) ;
7172
72- const onDelete = useCallback ( ( ) => {
73- console . log ( "Delete 실행" ) ;
74- // 여기에 Delete 로직 추가
75- } , [ ] ) ;
73+ const onDelete = useCallback ( async ( ) => {
74+ const contentIds = selectedNodeIds . map ( ( id ) => Number ( id . split ( "-" ) [ 1 ] ) ) ;
75+ await removeContent ( {
76+ topicId : id ,
77+ contentIds,
78+ } ) ;
79+ } , [ id , removeContent , selectedNodeIds ] ) ;
7680
7781 const onCloseContextMenu = useCallback ( ( ) => {
7882 setIsContextMenuOpen ( false ) ;
0 commit comments