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,8 +187,18 @@ 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) {
|
||||||
|
|||||||
@@ -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