Port Feedbin credential update too SwfitUI.

This commit is contained in:
Maurice Parker
2019-06-15 16:03:41 -05:00
parent 83be0e5d97
commit 8dcf4966fb
2 changed files with 57 additions and 22 deletions

View File

@@ -9,10 +9,12 @@
import SwiftUI
import Combine
import Account
import RSWeb
struct SettingsDetailAccountView : View {
@ObjectBinding var viewModel: ViewModel
@State private var verifyDelete = false
@State private var showFeedbinCredentials = false
var body: some View {
List {
@@ -26,15 +28,19 @@ struct SettingsDetailAccountView : View {
Text("Active")
}
}
Section {
HStack {
Spacer()
Button(action: {
}) {
Text("Credentials")
if viewModel.isCreditialsAvailable {
Section {
HStack {
Spacer()
Button(action: {
self.showFeedbinCredentials = true
}) {
Text("Credentials")
}
.presentation(showFeedbinCredentials ? feedbinCredentialsModal : nil)
.onDisappear() { self.showFeedbinCredentials = false }
Spacer()
}
Spacer()
}
}
if viewModel.isDeletable {
@@ -62,6 +68,11 @@ struct SettingsDetailAccountView : View {
}
var feedbinCredentialsModal: Modal {
let feedbinViewModel = SettingsFeedbinAccountView.ViewModel(account: viewModel.account)
return Modal(SettingsFeedbinAccountView(viewModel: feedbinViewModel))
}
class ViewModel: BindableObject {
let didChange = PassthroughSubject<ViewModel, Never>()
let account: Account
@@ -94,6 +105,10 @@ struct SettingsDetailAccountView : View {
}
}
var isCreditialsAvailable: Bool {
return account.type != .onMyMac
}
var isDeletable: Bool {
return AccountManager.shared.defaultAccount != account
}