mirror of
https://github.com/Ranchero-Software/NetNewsWire
synced 2025-08-12 06:26:36 +00:00
@@ -55,7 +55,7 @@ class AddWebFeedModel: ObservableObject {
|
||||
}
|
||||
|
||||
func pasteUrlFromPasteboard() {
|
||||
guard let stringFromPasteboard = urlStringFromPasteboard, stringFromPasteboard.isValidURL else {
|
||||
guard let stringFromPasteboard = urlStringFromPasteboard, stringFromPasteboard.mayBeURL else {
|
||||
return
|
||||
}
|
||||
providedURL = stringFromPasteboard
|
||||
@@ -97,15 +97,22 @@ class AddWebFeedModel: ObservableObject {
|
||||
|
||||
showProgressIndicator = true
|
||||
|
||||
let normalizedURLString = providedURL.normalizedURL
|
||||
|
||||
guard !normalizedURLString.isEmpty, let url = URL(string: normalizedURLString) else {
|
||||
showProgressIndicator = false
|
||||
return
|
||||
}
|
||||
|
||||
let container = containers[selectedFolderIndex]
|
||||
|
||||
if account.hasWebFeed(withURL: providedURL) {
|
||||
if account.hasWebFeed(withURL: normalizedURLString) {
|
||||
addFeedError = .alreadySubscribed
|
||||
showProgressIndicator = false
|
||||
return
|
||||
}
|
||||
|
||||
account.createWebFeed(url: providedURL, name: providedName, container: container, completion: { [weak self] result in
|
||||
account.createWebFeed(url: url.absoluteString, name: providedName, container: container, completion: { [weak self] result in
|
||||
self?.showProgressIndicator = false
|
||||
switch result {
|
||||
case .success(let feed):
|
||||
|
||||
@@ -96,11 +96,16 @@ struct AddWebFeedView: View {
|
||||
})
|
||||
.help("Cancel Add Feed")
|
||||
, trailing:
|
||||
Button("Add", action: {
|
||||
viewModel.addWebFeed()
|
||||
})
|
||||
.disabled(!viewModel.providedURL.isValidURL)
|
||||
.help("Add Feed")
|
||||
HStack(spacing: 12) {
|
||||
if viewModel.showProgressIndicator == true {
|
||||
ProgressView()
|
||||
}
|
||||
Button("Add", action: {
|
||||
viewModel.addWebFeed()
|
||||
})
|
||||
.disabled(!viewModel.providedURL.mayBeURL)
|
||||
.help("Add Feed")
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
@@ -174,7 +179,7 @@ struct AddWebFeedView: View {
|
||||
Button("Add", action: {
|
||||
viewModel.addWebFeed()
|
||||
})
|
||||
.disabled(!viewModel.providedURL.isValidURL)
|
||||
.disabled(!viewModel.providedURL.mayBeURL)
|
||||
.help("Add Feed")
|
||||
}.padding(.trailing, 2)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user