diff --git a/SodaLive/Sources/Audition/Applicant/AuditionApplicantSortType.swift b/SodaLive/Sources/Audition/Applicant/AuditionApplicantSortType.swift index e90c78e..8ee5b65 100644 --- a/SodaLive/Sources/Audition/Applicant/AuditionApplicantSortType.swift +++ b/SodaLive/Sources/Audition/Applicant/AuditionApplicantSortType.swift @@ -6,5 +6,5 @@ // enum AuditionApplicantSortType: String, Codable { - case NEWEST, LIKE + case NEWEST, LIKES } diff --git a/SodaLive/Sources/Audition/AuditionView.swift b/SodaLive/Sources/Audition/AuditionView.swift index c1a141a..05c5de9 100644 --- a/SodaLive/Sources/Audition/AuditionView.swift +++ b/SodaLive/Sources/Audition/AuditionView.swift @@ -41,10 +41,12 @@ struct AuditionView: View { AuditionItemView(item: item) .onTapGesture { - AppState.shared - .setAppStep( - step: .auditionDetail(auditionId: item.id) - ) + if !item.isOff { + AppState.shared + .setAppStep( + step: .auditionDetail(auditionId: item.id) + ) + } } } } else if $0 == viewModel.firstIsOffIndex { @@ -74,19 +76,23 @@ struct AuditionView: View { AuditionItemView(item: item) .padding(.top, 16.7) .onTapGesture { - AppState.shared - .setAppStep( - step: .auditionDetail(auditionId: item.id) - ) + if !item.isOff { + AppState.shared + .setAppStep( + step: .auditionDetail(auditionId: item.id) + ) + } } } } else { AuditionItemView(item: item) .onTapGesture { - AppState.shared - .setAppStep( - step: .auditionDetail(auditionId: item.id) - ) + if !item.isOff { + AppState.shared + .setAppStep( + step: .auditionDetail(auditionId: item.id) + ) + } } } diff --git a/SodaLive/Sources/Audition/Detail/AuditionDetailView.swift b/SodaLive/Sources/Audition/Detail/AuditionDetailView.swift index 8908fac..a894916 100644 --- a/SodaLive/Sources/Audition/Detail/AuditionDetailView.swift +++ b/SodaLive/Sources/Audition/Detail/AuditionDetailView.swift @@ -47,10 +47,12 @@ struct AuditionDetailView: View { ForEach(0.. Void = {} + func setSortType(sortType: AuditionApplicantSortType) { + if self.sortType != sortType { + self.sortType = sortType + } + } + func getAuditionRoleDetail() { isLoading = true @@ -237,13 +241,8 @@ final class AuditionRoleDetailViewModel: ObservableObject { self.phoneNumber = "" self.fileName = "" self.soundData = nil - self.applicantList = [] - self.totalCount = 0 - - self.page = 1 - self.isLast = false - self.getAuditionRoleDetail() + self.refreshApplicantList() onSuccess() } else { if let message = decoded.message { @@ -323,6 +322,14 @@ final class AuditionRoleDetailViewModel: ObservableObject { .store(in: &subscription) } + private func refreshApplicantList() { + self.page = 1 + self.isLast = false + self.totalCount = 0 + self.applicantList = [] + self.getAuditionApplicantList() + } + func deleteAllRecordingFilesWithNamePrefix(_ prefix: String) { let fileManager = FileManager.default let documentsURL = getDocumentsDirectory()