diff --git a/SodaLive/Resources/Assets.xcassets/img_banner_audition.imageset/Contents.json b/SodaLive/Resources/Assets.xcassets/img_banner_audition.imageset/Contents.json new file mode 100644 index 0000000..e0452ff --- /dev/null +++ b/SodaLive/Resources/Assets.xcassets/img_banner_audition.imageset/Contents.json @@ -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 + } +} diff --git a/SodaLive/Resources/Assets.xcassets/img_banner_audition.imageset/img_banner_audition.png b/SodaLive/Resources/Assets.xcassets/img_banner_audition.imageset/img_banner_audition.png new file mode 100644 index 0000000..e4a0ab1 Binary files /dev/null and b/SodaLive/Resources/Assets.xcassets/img_banner_audition.imageset/img_banner_audition.png differ diff --git a/SodaLive/Sources/App/AppStep.swift b/SodaLive/Sources/App/AppStep.swift index a244b16..65ffe19 100644 --- a/SodaLive/Sources/App/AppStep.swift +++ b/SodaLive/Sources/App/AppStep.swift @@ -159,4 +159,6 @@ enum AppStep { case message case pointStatus(refresh: () -> Void) + + case audition } diff --git a/SodaLive/Sources/Audition/AuditionView.swift b/SodaLive/Sources/Audition/AuditionView.swift index e52f983..a6675dc 100644 --- a/SodaLive/Sources/Audition/AuditionView.swift +++ b/SodaLive/Sources/Audition/AuditionView.swift @@ -16,7 +16,21 @@ struct AuditionView: View { var body: some View { BaseView(isLoading: $viewModel.isLoading) { 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 { Image(isAuditionNotification ? "btn_audition_notification_selected" : "btn_audition_notification_normal") .onTapGesture { @@ -24,6 +38,9 @@ struct AuditionView: View { } } } + .padding(.horizontal, 13.3) + .frame(height: 50) + .background(Color.black) HStack(spacing: 0) { Text("보이스온 오디션 이용방법") diff --git a/SodaLive/Sources/ContentView.swift b/SodaLive/Sources/ContentView.swift index da90bbb..13302e3 100644 --- a/SodaLive/Sources/ContentView.swift +++ b/SodaLive/Sources/ContentView.swift @@ -245,6 +245,9 @@ struct ContentView: View { case .pointStatus(let refresh): PointStatusView(refresh: refresh) + case .audition: + AuditionView() + default: EmptyView() .frame(width: 0, height: 0, alignment: .topLeading) diff --git a/SodaLive/Sources/Home/HomeTabView.swift b/SodaLive/Sources/Home/HomeTabView.swift index 028f33b..f62e923 100644 --- a/SodaLive/Sources/Home/HomeTabView.swift +++ b/SodaLive/Sources/Home/HomeTabView.swift @@ -187,9 +187,19 @@ struct HomeTabView: View { } } - if !viewModel.auditionList.isEmpty { - HomeAuditionView(items: viewModel.auditionList) - } + Image("img_banner_audition") + .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) { viewModel.getDayOfWeekSeriesList(dayOfWeek: $0) diff --git a/SodaLive/Sources/Home/HomeTabViewModel.swift b/SodaLive/Sources/Home/HomeTabViewModel.swift index 4331f6c..f7cc9ac 100644 --- a/SodaLive/Sources/Home/HomeTabViewModel.swift +++ b/SodaLive/Sources/Home/HomeTabViewModel.swift @@ -27,7 +27,6 @@ final class HomeTabViewModel: ObservableObject { @Published var latestContentList: [AudioContentMainItem] = [] @Published var eventBannerList: [GetAudioContentBannerResponse] = [] @Published var originalAudioDramaList: [SeriesListItem] = [] - @Published var auditionList: [GetAuditionListItem] = [] @Published var dayOfWeekSeriesList: [SeriesListItem] = [] @Published var contentRanking: [GetAudioContentRankingItem] = [] @Published var recommendChannelList: [RecommendChannelResponse] = [] @@ -59,7 +58,6 @@ final class HomeTabViewModel: ObservableObject { self.latestContentList = data.latestContentList self.eventBannerList = data.bannerList self.originalAudioDramaList = data.originalAudioDramaList - self.auditionList = data.auditionList self.dayOfWeekSeriesList = data.dayOfWeekSeriesList self.contentRanking = data.contentRanking self.recommendChannelList = data.recommendChannelList