@@ -85,7 +85,7 @@ public struct PokitLinkEditFeature {
8585 }
8686
8787 public enum DelegateAction : Equatable {
88- case 링크_편집_종료( items: [ BaseContentItem ] )
88+ case 링크_편집_종료( items: [ BaseContentItem ] , type : LinkEditType )
8989 }
9090 }
9191
@@ -135,8 +135,7 @@ private extension PokitLinkEditFeature {
135135 return . none
136136
137137 case . dismiss:
138- return . send( . delegate( . 링크_편집_종료( items: state. list. elements) ) )
139- // return .run { _ in await dismiss() }
138+ return . send( . delegate( . 링크_편집_종료( items: state. list. elements, type: . dismiss) ) )
140139
141140 case . 뷰가_나타났을때:
142141 return fetchCateogryList ( )
@@ -170,7 +169,7 @@ private extension PokitLinkEditFeature {
170169 . send( . inner( . 경고팝업_활성화( . error( title: " 링크를 선택해주세요. " ) ) ) )
171170 )
172171 } else {
173- return moveContentList ( categoryId : pokit. id , state: & state)
172+ return moveContentList ( category : pokit, state: & state)
174173 }
175174
176175 case . 링크팝업_버튼_눌렀을때:
@@ -212,7 +211,7 @@ private extension PokitLinkEditFeature {
212211
213212 case let . 미분류_API_반영( type) :
214213 /// 1. 시트 내리기
215- if type == . 링크이동 {
214+ if case . 링크이동 = type {
216215 state. categorySelectSheetPresetend = false
217216 } else {
218217 state. linkDeleteSheetPresented = false
@@ -222,10 +221,16 @@ private extension PokitLinkEditFeature {
222221 . map { $0. id }
223222 . forEach { state. list. remove ( id: $0) }
224223 state. selectedItems. removeAll ( )
225-
224+ /// 3. 분류가 남은 링크가 없을 때 편집하기 종료
226225 if state. list. isEmpty {
227- return . send( . delegate( . 링크_편집_종료( items: [ ] ) ) )
226+ return . send( . delegate( . 링크_편집_종료( items: [ ] , type: type) ) )
227+ }
228+ /// 4. 링크이동을 했을 때 바텀 메세지 출력
229+ if case let . 링크이동( categoryName) = type {
230+ state. linkPopup = . text( title: " \( categoryName) \n 카테고리로 이동되었습니다. " )
231+ return . none
228232 }
233+
229234 return . none
230235 }
231236 }
@@ -286,12 +291,12 @@ private extension PokitLinkEditFeature {
286291 }
287292
288293 /// 미분류 링크 카테고리 이동 API
289- func moveContentList( categoryId : Int , state: inout State ) -> Effect < Action > {
294+ func moveContentList( category : BaseCategoryItem , state: inout State ) -> Effect < Action > {
290295 return . run { [ contentIds = state. selectedItems] send in
291296 let contentIds = contentIds. map { $0. id }
292- let request = ContentMoveRequest ( contentIds: contentIds, categoryId: categoryId )
297+ let request = ContentMoveRequest ( contentIds: contentIds, categoryId: category . id )
293298 try await contentClient. 미분류_링크_포킷_이동 ( request)
294- await send ( . inner( . 미분류_API_반영( . 링크이동) ) )
299+ await send ( . inner( . 미분류_API_반영( . 링크이동( categoryName : category . categoryName ) ) ) )
295300 } catch: { error, send in
296301 await send ( . inner( . error( error) ) )
297302 }
@@ -309,7 +314,8 @@ private extension PokitLinkEditFeature {
309314}
310315public extension PokitLinkEditFeature {
311316 enum LinkEditType : Equatable {
312- case 링크이동
317+ case dismiss
318+ case 링크이동( categoryName: String )
313319 case 링크삭제
314320 }
315321}
0 commit comments