feat: 메인 홈 - 인기 크리에이터, 최신 콘텐츠
- 터치시 로그인이 되어 있지 않으면 로그인 페이지로 이동
This commit is contained in:
		@@ -10,6 +10,8 @@ import Kingfisher
 | 
			
		||||
 | 
			
		||||
struct ContentItemView: View {
 | 
			
		||||
    
 | 
			
		||||
    @AppStorage("token") private var token: String = UserDefaults.string(forKey: UserDefaultsKey.token)
 | 
			
		||||
    
 | 
			
		||||
    let item: AudioContentMainItem
 | 
			
		||||
    
 | 
			
		||||
    var body: some View {
 | 
			
		||||
@@ -51,7 +53,14 @@ struct ContentItemView: View {
 | 
			
		||||
                .padding(.top, 4)
 | 
			
		||||
        }
 | 
			
		||||
        .frame(width: 168)
 | 
			
		||||
        .onTapGesture { AppState.shared.setAppStep(step: .contentDetail(contentId: item.contentId)) }
 | 
			
		||||
        .onTapGesture {
 | 
			
		||||
            if !token.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty {
 | 
			
		||||
                AppState.shared.setAppStep(step: .contentDetail(contentId: item.contentId))
 | 
			
		||||
            } else {
 | 
			
		||||
                AppState.shared
 | 
			
		||||
                    .setAppStep(step: .login)
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -68,9 +68,6 @@ struct HomeCreatorRankingItemView: View {
 | 
			
		||||
                    .padding(.leading, 10)
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        .onTapGesture {
 | 
			
		||||
            AppState.shared.setAppStep(step: .creatorDetail(userId: item.id))
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -94,7 +94,17 @@ struct HomeTabView: View {
 | 
			
		||||
                                    ScrollView(.horizontal, showsIndicators: false) {
 | 
			
		||||
                                        HStack(spacing: 16) {
 | 
			
		||||
                                            ForEach(0..<viewModel.creatorRanking.count, id: \.self) {
 | 
			
		||||
                                                HomeCreatorRankingItemView(rank: $0 + 1, item: viewModel.creatorRanking[$0])
 | 
			
		||||
                                                let item = viewModel.creatorRanking[$0]
 | 
			
		||||
                                                HomeCreatorRankingItemView(rank: $0 + 1, item: item)
 | 
			
		||||
                                                    .onTapGesture {
 | 
			
		||||
                                                        if !token.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty {
 | 
			
		||||
                                                            AppState.shared
 | 
			
		||||
                                                                .setAppStep(step: .creatorDetail(userId: item.id))
 | 
			
		||||
                                                        } else {
 | 
			
		||||
                                                            AppState.shared
 | 
			
		||||
                                                                .setAppStep(step: .login)
 | 
			
		||||
                                                        }
 | 
			
		||||
                                                    }
 | 
			
		||||
                                            }
 | 
			
		||||
                                        }
 | 
			
		||||
                                        .padding(.horizontal, 24)
 | 
			
		||||
@@ -105,8 +115,13 @@ struct HomeTabView: View {
 | 
			
		||||
                            VStack(alignment: .leading, spacing: 16) {
 | 
			
		||||
                                HomeLatestContentView(
 | 
			
		||||
                                    onClickMore: {
 | 
			
		||||
                                        AppState.shared
 | 
			
		||||
                                            .setAppStep(step: .newContentAll(isFree: false))
 | 
			
		||||
                                        if !token.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty {
 | 
			
		||||
                                            AppState.shared
 | 
			
		||||
                                                .setAppStep(step: .newContentAll(isFree: false))
 | 
			
		||||
                                        } else {
 | 
			
		||||
                                            AppState.shared
 | 
			
		||||
                                                .setAppStep(step: .login)
 | 
			
		||||
                                        }
 | 
			
		||||
                                    },
 | 
			
		||||
                                    themeList: viewModel.latestContentThemeList,
 | 
			
		||||
                                    contentList: viewModel.latestContentList
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user