feat(creator): 팬Talk 답글 상세를 연결한다
This commit is contained in:
@@ -292,7 +292,8 @@ struct CreatorChannelView: View {
|
||||
isOwnCreatorChannel: isOwnCreatorChannel,
|
||||
viewModel: fanTalkViewModel,
|
||||
onTapWrite: showFanTalkWriteView,
|
||||
onTapEdit: showFanTalkModifyView
|
||||
onTapEdit: showFanTalkModifyView,
|
||||
onTapDetail: showFanTalkReplyDetail
|
||||
)
|
||||
} else if viewModel.selectedTab == .community {
|
||||
CreatorChannelCommunityTabView(
|
||||
@@ -629,6 +630,19 @@ struct CreatorChannelView: View {
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
private func showFanTalkReplyDetail(_ fanTalk: CreatorChannelFanTalkItemResponse) {
|
||||
guard isOwnCreatorChannel else { return }
|
||||
|
||||
AppState.shared.setAppStep(
|
||||
step: .creatorChannelReplyDetail(
|
||||
context: .fanTalk(creatorId: creatorId, parentFanTalk: fanTalk),
|
||||
onFanTalkRefresh: {
|
||||
fanTalkViewModel.fetchFirstPage(creatorId: creatorId)
|
||||
}
|
||||
)
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
struct CreatorChannelView_Previews: PreviewProvider {
|
||||
|
||||
@@ -6,6 +6,7 @@ struct CreatorChannelFanTalkListItem: View {
|
||||
let isOwnCreatorChannel: Bool
|
||||
let onTapReport: () -> Void
|
||||
let onTapMore: () -> Void
|
||||
let onTapDetail: () -> Void
|
||||
|
||||
var body: some View {
|
||||
VStack(alignment: .leading, spacing: 0) {
|
||||
@@ -41,6 +42,8 @@ struct CreatorChannelFanTalkListItem: View {
|
||||
.frame(height: 1)
|
||||
}
|
||||
.background(Color.black)
|
||||
.contentShape(Rectangle())
|
||||
.onTapGesture(perform: onTapDetail)
|
||||
}
|
||||
|
||||
private var header: some View {
|
||||
|
||||
@@ -6,6 +6,7 @@ struct CreatorChannelFanTalkTabView: View {
|
||||
@ObservedObject var viewModel: CreatorChannelFanTalkViewModel
|
||||
let onTapWrite: () -> Void
|
||||
let onTapEdit: (CreatorChannelFanTalkItemResponse) -> Void
|
||||
let onTapDetail: (CreatorChannelFanTalkItemResponse) -> Void
|
||||
|
||||
@State private var actionPopupFanTalk: CreatorChannelFanTalkItemResponse?
|
||||
@State private var fanTalkItemFrames = [Int: CGRect]()
|
||||
@@ -76,6 +77,11 @@ struct CreatorChannelFanTalkTabView: View {
|
||||
},
|
||||
onTapMore: {
|
||||
actionPopupFanTalk = actionPopupFanTalk?.fanTalkId == fanTalk.fanTalkId ? nil : fanTalk
|
||||
},
|
||||
onTapDetail: {
|
||||
guard isOwnCreatorChannel else { return }
|
||||
actionPopupFanTalk = nil
|
||||
onTapDetail(fanTalk)
|
||||
}
|
||||
)
|
||||
.background {
|
||||
|
||||
Reference in New Issue
Block a user