File tree Expand file tree Collapse file tree 2 files changed +23
-8
lines changed
Projects/Feature/FeaturePokit/Sources Expand file tree Collapse file tree 2 files changed +23
-8
lines changed Original file line number Diff line number Diff line change @@ -85,7 +85,7 @@ public struct PokitLinkEditFeature {
8585 }
8686
8787 public enum DelegateAction : Equatable {
88- case 링크_편집_종료
88+ case 링크_편집_종료( items : [ BaseContentItem ] )
8989 }
9090 }
9191
@@ -135,7 +135,8 @@ private extension PokitLinkEditFeature {
135135 return . none
136136
137137 case . dismiss:
138- return . run { _ in await dismiss ( ) }
138+ return . send( . delegate( . 링크_편집_종료( items: state. list. elements) ) )
139+ // return .run { _ in await dismiss() }
139140
140141 case . 뷰가_나타났을때:
141142 return fetchCateogryList ( )
@@ -223,7 +224,7 @@ private extension PokitLinkEditFeature {
223224 state. selectedItems. removeAll ( )
224225
225226 if state. list. isEmpty {
226- return . send( . delegate( . 링크_편집_종료) )
227+ return . send( . delegate( . 링크_편집_종료( items : [ ] ) ) )
227228 }
228229 return . none
229230 }
Original file line number Diff line number Diff line change 44//
55// Created by 김민호 on 7/16/24.
66
7+ import Foundation
8+
79import ComposableArchitecture
810import FeatureContentCard
911import Domain
@@ -518,14 +520,26 @@ private extension PokitRootFeature {
518520 case . contents:
519521 return . none
520522
521- case . linkEdit( . presented( . delegate( . 링크_편집_종료) ) ) :
522- state. contents. removeAll ( )
523+ case let . linkEdit( . presented( . delegate( . 링크_편집_종료( list) ) ) ) :
524+ /// 링크가 비어있을때는 전부 삭제
525+ if list. isEmpty {
526+ state. contents. removeAll ( )
527+ } else {
528+ /// 링크가 일부 있을 때 -> 그 일부를 붙여넣기
529+ var linkIds = IdentifiedArrayOf < ContentCardFeature . State > ( )
530+ list. forEach { item in
531+ state. contents. forEach { content in
532+ if item. id == content. content. id {
533+ linkIds. append ( content)
534+ }
535+ }
536+ }
537+ state. contents. removeAll ( )
538+ state. contents = linkIds
539+ }
523540 state. linkEdit = nil
524541 return . none
525542
526- case . linkEdit( . dismiss) :
527- return . send( . view( . 뷰가_나타났을때) )
528-
529543 case . linkEdit:
530544 return . none
531545
You can’t perform that action at this time.
0 commit comments