콘텐츠 댓글 리스트

- 유료 콘텐츠를 구매한 사람이 비밀댓글을 등록할 수 있는 기능 추가
This commit is contained in:
Yu Sung 2024-08-30 17:24:26 +09:00
parent fa849dd5b6
commit d1a90ad599
3 changed files with 28 additions and 2 deletions

View File

@ -14,6 +14,7 @@ struct AudioContentCommentListView: View {
let creatorId: Int let creatorId: Int
let audioContentId: Int let audioContentId: Int
let isShowSecret: Bool
@StateObject var viewModel = AudioContentCommentListViewModel() @StateObject var viewModel = AudioContentCommentListViewModel()
@ -50,6 +51,28 @@ struct AudioContentCommentListView: View {
.padding(.bottom, 13.3) .padding(.bottom, 13.3)
.padding(.horizontal, 13.3) .padding(.horizontal, 13.3)
if isShowSecret {
HStack(spacing: 8) {
Spacer()
Image(viewModel.isSecret ? "btn_select_checked" : "btn_select_normal")
.resizable()
.frame(width: 20, height: 20)
.onTapGesture {
viewModel.isSecret.toggle()
}
Text("비밀댓글")
.font(.custom(Font.medium.rawValue, size: 12))
.foregroundColor(Color.grayee)
.onTapGesture {
viewModel.isSecret.toggle()
}
}
.padding(.bottom, 13.3)
.padding(.horizontal, 13.3)
}
HStack(spacing: 8) { HStack(spacing: 8) {
KFImage(URL(string: UserDefaults.string(forKey: .profileImage))) KFImage(URL(string: UserDefaults.string(forKey: .profileImage)))
.cancelOnDisappear(true) .cancelOnDisappear(true)

View File

@ -22,6 +22,8 @@ class AudioContentCommentListViewModel: ObservableObject {
@Published var totalCommentCount = 0 @Published var totalCommentCount = 0
@Published var commentList = [GetAudioContentCommentListItem]() @Published var commentList = [GetAudioContentCommentListItem]()
@Published var isSecret = false
var audioContentId = 0 var audioContentId = 0
var page = 1 var page = 1
var isLast = false var isLast = false
@ -84,7 +86,7 @@ class AudioContentCommentListViewModel: ObservableObject {
isLoading = true isLoading = true
repository.registerComment(audioContentId: audioContentId, comment: comment) repository.registerComment(audioContentId: audioContentId, comment: comment, isSecret: isSecret)
.sink { result in .sink { result in
switch result { switch result {
case .finished: case .finished:

View File

@ -361,7 +361,8 @@ struct ContentDetailView: View {
AudioContentCommentListView( AudioContentCommentListView(
isPresented: $isShowCommentListView, isPresented: $isShowCommentListView,
creatorId: viewModel.audioContent!.creator.creatorId, creatorId: viewModel.audioContent!.creator.creatorId,
audioContentId: viewModel.audioContent!.contentId audioContentId: viewModel.audioContent!.contentId,
isShowSecret: viewModel.audioContent!.existOrdered
) )
} }
) )