fix: 메인 홈
- 오디션 이미지 추가 - 오디션 리스트 페이지로 이동
This commit is contained in:
		
							
								
								
									
										21
									
								
								SodaLive/Resources/Assets.xcassets/img_banner_audition.imageset/Contents.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								SodaLive/Resources/Assets.xcassets/img_banner_audition.imageset/Contents.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,21 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					  "images" : [
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "filename" : "img_banner_audition.png",
 | 
				
			||||||
 | 
					      "idiom" : "universal",
 | 
				
			||||||
 | 
					      "scale" : "1x"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "idiom" : "universal",
 | 
				
			||||||
 | 
					      "scale" : "2x"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "idiom" : "universal",
 | 
				
			||||||
 | 
					      "scale" : "3x"
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  "info" : {
 | 
				
			||||||
 | 
					    "author" : "xcode",
 | 
				
			||||||
 | 
					    "version" : 1
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										
											BIN
										
									
								
								SodaLive/Resources/Assets.xcassets/img_banner_audition.imageset/img_banner_audition.png
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								SodaLive/Resources/Assets.xcassets/img_banner_audition.imageset/img_banner_audition.png
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 38 KiB  | 
@@ -159,4 +159,6 @@ enum AppStep {
 | 
				
			|||||||
    case message
 | 
					    case message
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    case pointStatus(refresh: () -> Void)
 | 
					    case pointStatus(refresh: () -> Void)
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    case audition
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -16,7 +16,21 @@ struct AuditionView: View {
 | 
				
			|||||||
    var body: some View {
 | 
					    var body: some View {
 | 
				
			||||||
        BaseView(isLoading: $viewModel.isLoading) {
 | 
					        BaseView(isLoading: $viewModel.isLoading) {
 | 
				
			||||||
            VStack(spacing: 0) {
 | 
					            VStack(spacing: 0) {
 | 
				
			||||||
                HomeNavigationBar(title: "오디션") {
 | 
					                HStack(spacing: 0) {
 | 
				
			||||||
 | 
					                    Button {
 | 
				
			||||||
 | 
					                        AppState.shared.back()
 | 
				
			||||||
 | 
					                    } label: {
 | 
				
			||||||
 | 
					                        Image("ic_back")
 | 
				
			||||||
 | 
					                            .resizable()
 | 
				
			||||||
 | 
					                            .frame(width: 20, height: 20)
 | 
				
			||||||
 | 
					                        
 | 
				
			||||||
 | 
					                        Text("오디션")
 | 
				
			||||||
 | 
					                            .font(.custom(Font.bold.rawValue, size: 18.3))
 | 
				
			||||||
 | 
					                            .foregroundColor(Color(hex: "eeeeee"))
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                    
 | 
				
			||||||
 | 
					                    Spacer()
 | 
				
			||||||
 | 
					                    
 | 
				
			||||||
                    if !token.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty {
 | 
					                    if !token.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty {
 | 
				
			||||||
                        Image(isAuditionNotification ? "btn_audition_notification_selected" : "btn_audition_notification_normal")
 | 
					                        Image(isAuditionNotification ? "btn_audition_notification_selected" : "btn_audition_notification_normal")
 | 
				
			||||||
                            .onTapGesture {
 | 
					                            .onTapGesture {
 | 
				
			||||||
@@ -24,6 +38,9 @@ struct AuditionView: View {
 | 
				
			|||||||
                            }
 | 
					                            }
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
 | 
					                .padding(.horizontal, 13.3)
 | 
				
			||||||
 | 
					                .frame(height: 50)
 | 
				
			||||||
 | 
					                .background(Color.black)
 | 
				
			||||||
                
 | 
					                
 | 
				
			||||||
                HStack(spacing: 0) {
 | 
					                HStack(spacing: 0) {
 | 
				
			||||||
                    Text("보이스온 오디션 이용방법")
 | 
					                    Text("보이스온 오디션 이용방법")
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -245,6 +245,9 @@ struct ContentView: View {
 | 
				
			|||||||
            case .pointStatus(let refresh):
 | 
					            case .pointStatus(let refresh):
 | 
				
			||||||
                PointStatusView(refresh: refresh)
 | 
					                PointStatusView(refresh: refresh)
 | 
				
			||||||
                
 | 
					                
 | 
				
			||||||
 | 
					            case .audition:
 | 
				
			||||||
 | 
					                AuditionView()
 | 
				
			||||||
 | 
					                
 | 
				
			||||||
            default:
 | 
					            default:
 | 
				
			||||||
                EmptyView()
 | 
					                EmptyView()
 | 
				
			||||||
                    .frame(width: 0, height: 0, alignment: .topLeading)
 | 
					                    .frame(width: 0, height: 0, alignment: .topLeading)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -187,9 +187,19 @@ struct HomeTabView: View {
 | 
				
			|||||||
                                }
 | 
					                                }
 | 
				
			||||||
                            }
 | 
					                            }
 | 
				
			||||||
                            
 | 
					                            
 | 
				
			||||||
                            if !viewModel.auditionList.isEmpty {
 | 
					                            Image("img_banner_audition")
 | 
				
			||||||
                                HomeAuditionView(items: viewModel.auditionList)
 | 
					                                .resizable()
 | 
				
			||||||
                            }
 | 
					                                .scaledToFit()
 | 
				
			||||||
 | 
					                                .padding(.horizontal, 24)
 | 
				
			||||||
 | 
					                                .onTapGesture {
 | 
				
			||||||
 | 
					                                    if !token.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty {
 | 
				
			||||||
 | 
					                                        AppState.shared
 | 
				
			||||||
 | 
					                                            .setAppStep(step: .audition)
 | 
				
			||||||
 | 
					                                    } else {
 | 
				
			||||||
 | 
					                                        AppState.shared
 | 
				
			||||||
 | 
					                                            .setAppStep(step: .login)
 | 
				
			||||||
 | 
					                                    }
 | 
				
			||||||
 | 
					                                }
 | 
				
			||||||
                            
 | 
					                            
 | 
				
			||||||
                            DayOfWeekSeriesView(seriesList: viewModel.dayOfWeekSeriesList) {
 | 
					                            DayOfWeekSeriesView(seriesList: viewModel.dayOfWeekSeriesList) {
 | 
				
			||||||
                                viewModel.getDayOfWeekSeriesList(dayOfWeek: $0)
 | 
					                                viewModel.getDayOfWeekSeriesList(dayOfWeek: $0)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -27,7 +27,6 @@ final class HomeTabViewModel: ObservableObject {
 | 
				
			|||||||
    @Published var latestContentList: [AudioContentMainItem] = []
 | 
					    @Published var latestContentList: [AudioContentMainItem] = []
 | 
				
			||||||
    @Published var eventBannerList: [GetAudioContentBannerResponse] = []
 | 
					    @Published var eventBannerList: [GetAudioContentBannerResponse] = []
 | 
				
			||||||
    @Published var originalAudioDramaList: [SeriesListItem] = []
 | 
					    @Published var originalAudioDramaList: [SeriesListItem] = []
 | 
				
			||||||
    @Published var auditionList: [GetAuditionListItem] = []
 | 
					 | 
				
			||||||
    @Published var dayOfWeekSeriesList: [SeriesListItem] = []
 | 
					    @Published var dayOfWeekSeriesList: [SeriesListItem] = []
 | 
				
			||||||
    @Published var contentRanking: [GetAudioContentRankingItem] = []
 | 
					    @Published var contentRanking: [GetAudioContentRankingItem] = []
 | 
				
			||||||
    @Published var recommendChannelList: [RecommendChannelResponse] = []
 | 
					    @Published var recommendChannelList: [RecommendChannelResponse] = []
 | 
				
			||||||
@@ -59,7 +58,6 @@ final class HomeTabViewModel: ObservableObject {
 | 
				
			|||||||
                        self.latestContentList = data.latestContentList
 | 
					                        self.latestContentList = data.latestContentList
 | 
				
			||||||
                        self.eventBannerList = data.bannerList
 | 
					                        self.eventBannerList = data.bannerList
 | 
				
			||||||
                        self.originalAudioDramaList = data.originalAudioDramaList
 | 
					                        self.originalAudioDramaList = data.originalAudioDramaList
 | 
				
			||||||
                        self.auditionList = data.auditionList
 | 
					 | 
				
			||||||
                        self.dayOfWeekSeriesList = data.dayOfWeekSeriesList
 | 
					                        self.dayOfWeekSeriesList = data.dayOfWeekSeriesList
 | 
				
			||||||
                        self.contentRanking = data.contentRanking
 | 
					                        self.contentRanking = data.contentRanking
 | 
				
			||||||
                        self.recommendChannelList = data.recommendChannelList
 | 
					                        self.recommendChannelList = data.recommendChannelList
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user