metatext/Views/SwiftUI/DomainBlocksView.swift

51 lines
1.3 KiB
Swift
Raw Normal View History

2020-12-04 03:13:18 +00:00
// Copyright © 2020 Metabolist. All rights reserved.
import SwiftUI
import ViewModels
struct DomainBlocksView: View {
@StateObject var viewModel: DomainBlocksViewModel
var body: some View {
Form {
ForEach(viewModel.domainBlocks, id: \.self) { domain in
Text(domain)
.onAppear {
if domain == viewModel.domainBlocks.last {
viewModel.request()
}
}
}
.onDelete {
guard let index = $0.first else { return }
viewModel.delete(domain: viewModel.domainBlocks[index])
}
if viewModel.loading {
ProgressView()
}
}
.onAppear {
viewModel.request()
}
.navigationTitle("preferences.blocked-domains")
.navigationBarTitleDisplayMode(.inline)
.toolbar {
ToolbarItem(placement: ToolbarItemPlacement.navigationBarTrailing) {
EditButton()
}
}
}
}
#if DEBUG
import PreviewViewModels
struct DomainBlocksView_Previews: PreviewProvider {
static var previews: some View {
NavigationView {
DomainBlocksView(viewModel: .preview)
}
}
}
#endif