Debrid: Don't show sheet on error

If a download link isn't set, don't show the choice sheet and present
the error instead.

Signed-off-by: kingbri <bdashore3@gmail.com>
This commit is contained in:
kingbri 2022-08-15 20:55:16 -04:00 committed by kingbri
parent a030cc8bf0
commit 3c6ce0bb94
3 changed files with 10 additions and 4 deletions

View file

@ -25,9 +25,11 @@ struct BatchChoiceView: View {
Task {
await debridManager.fetchRdDownload(searchResult: searchResult, iaFile: file)
// The download may complete before this sheet dismisses
try? await Task.sleep(seconds: 1)
navModel.runDebridAction(action: nil, urlString: debridManager.realDebridDownloadUrl)
if !debridManager.realDebridDownloadUrl.isEmpty {
// The download may complete before this sheet dismisses
try? await Task.sleep(seconds: 1)
navModel.runDebridAction(action: nil, urlString: debridManager.realDebridDownloadUrl)
}
debridManager.selectedRealDebridFile = nil
debridManager.selectedRealDebridItem = nil

View file

@ -51,6 +51,7 @@ struct MainView: View {
}
}
.font(.caption)
.shadow(radius: 10)
.animation(.easeInOut(duration: 0.3), value: toastModel.showToast)
}
}

View file

@ -26,7 +26,10 @@ struct SearchResultsView: View {
case .full:
Task {
await debridManager.fetchRdDownload(searchResult: result)
navModel.runDebridAction(action: nil, urlString: debridManager.realDebridDownloadUrl)
if !debridManager.realDebridDownloadUrl.isEmpty {
navModel.runDebridAction(action: nil, urlString: debridManager.realDebridDownloadUrl)
}
}
case .partial:
if debridManager.setSelectedRdResult(result: result) {