Ferrite-backup/Ferrite/Views/SettingsView.swift
kingbri e2792a0f00 Ferrite: Add code up to alpha 1
Working alpha version of Ferrite

Signed-off-by: kingbri <bdashore3@gmail.com>

part2
2022-07-21 00:01:41 -04:00

52 lines
1.6 KiB
Swift

//
// SettingsView.swift
// Ferrite
//
// Created by Brian Dashore on 7/11/22.
//
import SwiftUI
struct SettingsView: View {
@EnvironmentObject var debridManager: DebridManager
@AppStorage("RealDebrid.Enabled") var realDebridEnabled = false
@State private var isProcessing = false
var body: some View {
NavView {
Form {
Section("Debrid services") {
HStack {
Text("Real Debrid")
Spacer()
Button {
Task {
if realDebridEnabled {
try? await debridManager.realDebrid.deleteTokens()
} else if !isProcessing {
await debridManager.authenticateRd()
isProcessing = true
}
}
} label: {
Text(realDebridEnabled ? "Logout" : (isProcessing ? "Processing" : "Login"))
.foregroundColor(realDebridEnabled ? .red : .blue)
}
}
}
}
.sheet(isPresented: $debridManager.showWebView) {
LoginWebView(url: URL(string: debridManager.realDebridAuthUrl)!)
}
.navigationTitle("Settings")
}
}
}
struct SettingsView_Previews: PreviewProvider {
static var previews: some View {
SettingsView()
}
}