콘텐츠 메인, 라이브 메인, 오디션 메인, 마이페이지

- 로그인 하지 않고 페이지 조회가 되도록 수정
This commit is contained in:
Yu Sung
2025-03-24 18:32:27 +09:00
parent fa94c5447f
commit 80cb19a1c7
32 changed files with 874 additions and 595 deletions

View File

@@ -89,6 +89,12 @@ extension AuditionApi: TargetType {
}
var headers: [String : String]? {
return ["Authorization": "Bearer \(UserDefaults.string(forKey: UserDefaultsKey.token))"]
switch self {
case .getAuditionList:
return nil
default:
return ["Authorization": "Bearer \(UserDefaults.string(forKey: UserDefaultsKey.token))"]
}
}
}

View File

@@ -11,15 +11,18 @@ struct AuditionView: View {
@StateObject var viewModel = AuditionViewModel()
@AppStorage("isAuditionNotification") private var isAuditionNotification: Bool = UserDefaults.bool(forKey: .isAuditionNotification)
@AppStorage("token") private var token: String = UserDefaults.string(forKey: UserDefaultsKey.token)
var body: some View {
BaseView(isLoading: $viewModel.isLoading) {
VStack(spacing: 0) {
HomeNavigationBar(title: "오디션") {
Image(isAuditionNotification ? "btn_audition_notification_selected" : "btn_audition_notification_normal")
.onTapGesture {
viewModel.updateNotificationSettings()
}
if !token.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty {
Image(isAuditionNotification ? "btn_audition_notification_selected" : "btn_audition_notification_normal")
.onTapGesture {
viewModel.updateNotificationSettings()
}
}
}
HStack(spacing: 0) {
@@ -70,11 +73,16 @@ struct AuditionView: View {
AuditionItemView(item: item)
.onTapGesture {
if !item.isOff {
if !token.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty {
if !item.isOff {
AppState.shared
.setAppStep(
step: .auditionDetail(auditionId: item.id)
)
}
} else {
AppState.shared
.setAppStep(
step: .auditionDetail(auditionId: item.id)
)
.setAppStep(step: .login)
}
}
}
@@ -104,23 +112,20 @@ struct AuditionView: View {
AuditionItemView(item: item)
.padding(.top, 25)
.onTapGesture {
}
} else {
AuditionItemView(item: item)
.onTapGesture {
if !token.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty {
if !item.isOff {
AppState.shared
.setAppStep(
step: .auditionDetail(auditionId: item.id)
)
}
}
}
} else {
AuditionItemView(item: item)
.onTapGesture {
if !item.isOff {
} else {
AppState.shared
.setAppStep(
step: .auditionDetail(auditionId: item.id)
)
.setAppStep(step: .login)
}
}
}