Skip to content

Commit 70cb92a

Browse files
ShapeKim98stealmh
authored andcommitted
[fix] #111 카테고리 상세에서 컨텐츠 공유가 카테고리 공유로 연결되는 문제 수정
1 parent 9a3d9a6 commit 70cb92a

File tree

2 files changed

+27
-6
lines changed

2 files changed

+27
-6
lines changed

Projects/Feature/FeatureCategoryDetail/Sources/CategoryDetailFeature.swift

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ public struct CategoryDetailFeature {
6363
}
6464
var kebobSelectedType: PokitDeleteBottomSheet.SheetType?
6565
var selectedContentItem: BaseContentItem?
66+
var shareSheetItem: BaseContentItem? = nil
6667
/// sheet Presented
6768
var isCategorySheetPresented: Bool = false
6869
var isCategorySelectSheetPresented: Bool = false
@@ -99,6 +100,7 @@ public struct CategoryDetailFeature {
99100
case dismiss
100101
case onAppear
101102
case pagenation
103+
case 링크_공유_완료(completed: Bool)
102104
}
103105

104106
public enum InnerAction: Equatable {
@@ -217,6 +219,9 @@ private extension CategoryDetailFeature {
217219
}
218220
case .pagenation:
219221
return .run { send in await send(.async(.pagenation_네트워크)) }
222+
case .링크_공유_완료(completed: let completed):
223+
state.shareSheetItem = nil
224+
return .none
220225
}
221226
}
222227

@@ -304,13 +309,20 @@ private extension CategoryDetailFeature {
304309
case .categoryBottomSheet(let delegateAction):
305310
switch delegateAction {
306311
case .shareCellButtonTapped:
307-
kakaoShareClient.카테고리_카카오톡_공유(
308-
CategoryKaKaoShareModel(
309-
categoryName: state.domain.category.categoryName,
310-
categoryId: state.domain.category.id,
311-
imageURL: state.domain.category.categoryImage.imageURL
312+
switch state.kebobSelectedType {
313+
case .링크삭제:
314+
state.shareSheetItem = state.selectedContentItem
315+
case .포킷삭제:
316+
kakaoShareClient.카테고리_카카오톡_공유(
317+
CategoryKaKaoShareModel(
318+
categoryName: state.domain.category.categoryName,
319+
categoryId: state.domain.category.id,
320+
imageURL: state.domain.category.categoryImage.imageURL
321+
)
312322
)
313-
)
323+
default: return .none
324+
}
325+
314326
state.isCategorySheetPresented = false
315327
return .none
316328

Projects/Feature/FeatureCategoryDetail/Sources/CategoryDetailView.swift

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,15 @@ public extension CategoryDetailView {
4141
delegateSend: { store.send(.scope(.categoryBottomSheet($0))) }
4242
)
4343
}
44+
.sheet(item: $store.shareSheetItem) { content in
45+
if let shareURL = URL(string: content.data) {
46+
PokitShareSheet(
47+
items: [shareURL],
48+
completion: { send(.링크_공유_완료(completed: $0)) }
49+
)
50+
.presentationDetents([.medium, .large])
51+
}
52+
}
4453
.sheet(isPresented: $store.isCategorySelectSheetPresented) {
4554
if let categories = store.categories {
4655
PokitCategorySheet(

0 commit comments

Comments
 (0)