fix: 메인 홈

- 오디션 이미지 추가
- 오디션 리스트 페이지로 이동
This commit is contained in:
Yu Sung
2025-07-21 23:33:08 +09:00
parent f3898ac415
commit 0db3c2cc19
7 changed files with 57 additions and 6 deletions

View 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
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

View File

@@ -159,4 +159,6 @@ enum AppStep {
case message
case pointStatus(refresh: () -> Void)
case audition
}

View File

@@ -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("보이스온 오디션 이용방법")

View File

@@ -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)

View File

@@ -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)

View File

@@ -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