fix(main): 추천 커뮤니티 상세로 이동한다

This commit is contained in:
Yu Sung
2026-07-10 13:04:06 +09:00
parent 5213f0d98d
commit ce191539f2
8 changed files with 103 additions and 21 deletions

View File

@@ -4,18 +4,18 @@ struct MainHomeActiveCreatorSection: View {
let items: [HomeActiveCreatorItem]
let onTapLive: (Int) -> Void
let onTapContent: (Int) -> Void
let onTapCommunity: (Int) -> Void
let onTapCommunityPost: (Int) -> Void
init(
items: [HomeActiveCreatorItem],
onTapLive: @escaping (Int) -> Void = { _ in },
onTapContent: @escaping (Int) -> Void = { _ in },
onTapCommunity: @escaping (Int) -> Void = { _ in }
onTapCommunityPost: @escaping (Int) -> Void = { _ in }
) {
self.items = items
self.onTapLive = onTapLive
self.onTapContent = onTapContent
self.onTapCommunity = onTapCommunity
self.onTapCommunityPost = onTapCommunityPost
}
var body: some View {
@@ -46,7 +46,7 @@ struct MainHomeActiveCreatorSection: View {
case .audio:
onTapContent(targetId)
case .community:
onTapCommunity(targetId)
onTapCommunityPost(targetId)
case .unknown:
break
}

View File

@@ -2,18 +2,18 @@ import SwiftUI
struct MainHomePopularCommunitySection: View {
let items: [HomePopularCommunityPostItem]
let onTapCommunity: (Int) -> Void
let onTapCommunityPost: (Int) -> Void
let onTapLike: (Int) -> Void
let onTapPurchase: (HomePopularCommunityPostItem) -> Void
init(
items: [HomePopularCommunityPostItem],
onTapCommunity: @escaping (Int) -> Void = { _ in },
onTapCommunityPost: @escaping (Int) -> Void = { _ in },
onTapLike: @escaping (Int) -> Void = { _ in },
onTapPurchase: @escaping (HomePopularCommunityPostItem) -> Void = { _ in }
) {
self.items = items
self.onTapCommunity = onTapCommunity
self.onTapCommunityPost = onTapCommunityPost
self.onTapLike = onTapLike
self.onTapPurchase = onTapPurchase
}
@@ -38,11 +38,14 @@ struct MainHomePopularCommunitySection: View {
isLike: item.isLiked,
likeCount: item.likeCount,
commentCount: item.commentCount,
onTapPost: {
onTapCommunityPost(item.postId)
},
onTapLike: {
onTapLike(item.postId)
},
onTapComment: {
onTapCommunity(item.creatorId)
onTapCommunityPost(item.postId)
},
onTapPurchase: {
onTapPurchase(item)

View File

@@ -5,7 +5,7 @@ struct MainHomeRecommendationView: View {
let onTapCreator: (Int) -> Void
let onTapContent: (Int) -> Void
let onTapCharacter: (Int) -> Void
let onTapCommunity: (Int) -> Void
let onTapCommunityPost: (Int) -> Void
let onTapBanner: (RecommendationBannerResponse) -> Void
let onTapFollowAll: (@escaping () -> Void) -> Void
@@ -37,7 +37,7 @@ struct MainHomeRecommendationView: View {
items: viewModel.recommendations?.recentlyActiveCreators ?? [],
onTapLive: onTapLive,
onTapContent: onTapContent,
onTapCommunity: onTapCommunity
onTapCommunityPost: onTapCommunityPost
)
MainHomeRecentDebutCreatorSection(
@@ -79,7 +79,7 @@ struct MainHomeRecommendationView: View {
MainHomePopularCommunitySection(
items: viewModel.recommendations?.popularCommunityPosts ?? [],
onTapCommunity: onTapCommunity,
onTapCommunityPost: onTapCommunityPost,
onTapLike: { postId in
viewModel.likeCommunityPost(postId: postId)
},
@@ -132,7 +132,7 @@ struct MainHomeRecommendationView_Previews: PreviewProvider {
onTapCreator: { _ in },
onTapContent: { _ in },
onTapCharacter: { _ in },
onTapCommunity: { _ in },
onTapCommunityPost: { _ in },
onTapBanner: { _ in },
onTapFollowAll: { action in action() }
)