From c8306c866037db6d04a734e470514483b714aebe Mon Sep 17 00:00:00 2001 From: Stuart Breckenridge Date: Sat, 12 Nov 2022 19:50:13 +0800 Subject: [PATCH 01/80] Revised settings views Notes: - A lot of representable shims over UIKit view controllers. These misbehave a little. They should be re-written in SwiftUI. - Settings no longer uses VibrantTableViewCell - Changes to AppDefaults trigger objectWillSend --- NetNewsWire.xcodeproj/project.pbxproj | 24 ++ .../ArticleStyles/ArticleThemesManager.swift | 3 +- iOS/AppDefaults.swift | 39 ++- iOS/SceneCoordinator.swift | 15 +- iOS/Settings/AddAccountViewController.swift | 29 ++ .../ArticleThemesTableViewController.swift | 30 ++ .../NotificationsViewController.swift | 61 +++-- .../Settings View/SettingsHelpSheets.swift | 77 ++++++ iOS/Settings/Settings View/SettingsRows.swift | 256 ++++++++++++++++++ iOS/Settings/Settings View/SettingsView.swift | 76 ++++++ iOS/Settings/Settings.storyboard | 54 ++-- iOS/UIKit Extensions/SafariView.swift | 24 ++ 12 files changed, 636 insertions(+), 52 deletions(-) create mode 100644 iOS/Settings/Settings View/SettingsHelpSheets.swift create mode 100644 iOS/Settings/Settings View/SettingsRows.swift create mode 100644 iOS/Settings/Settings View/SettingsView.swift create mode 100644 iOS/UIKit Extensions/SafariView.swift diff --git a/NetNewsWire.xcodeproj/project.pbxproj b/NetNewsWire.xcodeproj/project.pbxproj index ac0592c71..c110a7842 100644 --- a/NetNewsWire.xcodeproj/project.pbxproj +++ b/NetNewsWire.xcodeproj/project.pbxproj @@ -860,6 +860,10 @@ DFCE4F9228EF26F100405869 /* About.plist in Resources */ = {isa = PBXBuildFile; fileRef = DFCE4F9028EF26F000405869 /* About.plist */; }; DFCE4F9428EF278300405869 /* Thanks.md in Resources */ = {isa = PBXBuildFile; fileRef = DFCE4F9328EF278300405869 /* Thanks.md */; }; DFCE4F9528EF278300405869 /* Thanks.md in Resources */ = {isa = PBXBuildFile; fileRef = DFCE4F9328EF278300405869 /* Thanks.md */; }; + DFD406F5291F79C900C02962 /* SettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFD406F4291F79C900C02962 /* SettingsView.swift */; }; + DFD406F7291FB1A600C02962 /* SafariView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFD406F6291FB1A600C02962 /* SafariView.swift */; }; + DFD406FA291FB5E400C02962 /* SettingsRows.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFD406F9291FB5E400C02962 /* SettingsRows.swift */; }; + DFD406FC291FB63B00C02962 /* SettingsHelpSheets.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFD406FB291FB63B00C02962 /* SettingsHelpSheets.swift */; }; DFFB8FC2279B75E300AC21D7 /* Account in Embed Frameworks */ = {isa = PBXBuildFile; productRef = 51BC2F4A24D343A500E90810 /* Account */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; DFFC199827A0D0D7004B7AEF /* NotificationsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFFC199727A0D0D7004B7AEF /* NotificationsViewController.swift */; }; DFFC199A27A0D32A004B7AEF /* NotificationsTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFFC199927A0D32A004B7AEF /* NotificationsTableViewCell.swift */; }; @@ -1601,6 +1605,10 @@ DFC14F1628EB17A800F6EE86 /* CreditsNetNewsWireView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CreditsNetNewsWireView.swift; sourceTree = ""; }; DFCE4F9028EF26F000405869 /* About.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = About.plist; sourceTree = ""; }; DFCE4F9328EF278300405869 /* Thanks.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = Thanks.md; sourceTree = ""; }; + DFD406F4291F79C900C02962 /* SettingsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsView.swift; sourceTree = ""; }; + DFD406F6291FB1A600C02962 /* SafariView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SafariView.swift; sourceTree = ""; }; + DFD406F9291FB5E400C02962 /* SettingsRows.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsRows.swift; sourceTree = ""; }; + DFD406FB291FB63B00C02962 /* SettingsHelpSheets.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsHelpSheets.swift; sourceTree = ""; }; DFD6AACB27ADE80900463FAD /* NewsFax.nnwtheme */ = {isa = PBXFileReference; lastKnownFileType = wrapper; path = NewsFax.nnwtheme; sourceTree = ""; }; DFFC199727A0D0D7004B7AEF /* NotificationsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationsViewController.swift; sourceTree = ""; }; DFFC199927A0D32A004B7AEF /* NotificationsTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationsTableViewCell.swift; sourceTree = ""; }; @@ -2000,6 +2008,7 @@ 516244E2241E19F000B61C47 /* ColorPaletteTableViewController.swift */, 519ED47924482AEB007F8E94 /* EnableExtensionPointViewController.swift */, 51A16990235E10D600EB091F /* Settings.storyboard */, + DFD406F8291FB5D500C02962 /* Settings View */, 516A09382360A2AE00EAE89B /* SettingsComboTableViewCell.swift */, 516A091D23609A3600EAE89B /* SettingsComboTableViewCell.xib */, 516A093A2360A4A000EAE89B /* SettingsTableViewCell.xib */, @@ -2059,6 +2068,7 @@ 5183CCD9226E31A50010922C /* NonIntrinsicImageView.swift */, 5183CCCF226E1E880010922C /* NonIntrinsicLabel.swift */, 51A9A6092382FD240033AADF /* PoppableGestureRecognizerDelegate.swift */, + DFD406F6291FB1A600C02962 /* SafariView.swift */, 51C45250226506F400C03939 /* String-Extensions.swift */, 5108F6D723763094001ABC45 /* TickMarkSlider.swift */, C5A6ED6C23C9B0C800AB6BE2 /* UIActivityViewController-Extensions.swift */, @@ -2882,6 +2892,16 @@ path = About; sourceTree = ""; }; + DFD406F8291FB5D500C02962 /* Settings View */ = { + isa = PBXGroup; + children = ( + DFD406F4291F79C900C02962 /* SettingsView.swift */, + DFD406F9291FB5E400C02962 /* SettingsRows.swift */, + DFD406FB291FB63B00C02962 /* SettingsHelpSheets.swift */, + ); + path = "Settings View"; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -4062,6 +4082,7 @@ 51C452772265091600C03939 /* MultilineUILabelSizer.swift in Sources */, 51C452A522650A2D00C03939 /* SmallIconProvider.swift in Sources */, 51AB8AB323B7F4C6008F147D /* WebViewController.swift in Sources */, + DFD406F7291FB1A600C02962 /* SafariView.swift in Sources */, 516A09392360A2AE00EAE89B /* SettingsComboTableViewCell.swift in Sources */, 176813D22564BA5900D98635 /* WidgetDataEncoder.swift in Sources */, 51D5948722668EFA00DFC836 /* MarkStatusCommand.swift in Sources */, @@ -4081,6 +4102,7 @@ 51C4526B226508F600C03939 /* MasterFeedViewController.swift in Sources */, 5126EE97226CB48A00C22AFC /* SceneCoordinator.swift in Sources */, 84CAFCB022BC8C35007694F0 /* FetchRequestOperation.swift in Sources */, + DFD406FA291FB5E400C02962 /* SettingsRows.swift in Sources */, 5193CD5A245E44A90092735E /* RedditFeedProvider-Extensions.swift in Sources */, 51EF0F77227716200050506E /* FaviconGenerator.swift in Sources */, 51938DF3231AFC660055A1A0 /* SearchTimelineFeedDelegate.swift in Sources */, @@ -4151,6 +4173,7 @@ 51C452A922650DC600C03939 /* ArticleRenderer.swift in Sources */, 51C45297226509E300C03939 /* DefaultFeedsImporter.swift in Sources */, 512E094D2268B8AB00BDCFDD /* DeleteCommand.swift in Sources */, + DFD406FC291FB63B00C02962 /* SettingsHelpSheets.swift in Sources */, 5110C37D2373A8D100A9C04F /* InspectorIconHeaderView.swift in Sources */, 51F85BFB2275D85000C787DC /* Array-Extensions.swift in Sources */, 515A5180243E90260089E588 /* TwitterFeedProvider-Extensions.swift in Sources */, @@ -4176,6 +4199,7 @@ 51DC370B2405BC9A0095D371 /* PreloadedWebView.swift in Sources */, D3555BF524664566005E48C3 /* ArticleSearchBar.swift in Sources */, 8454C3F3263F2D8700E3F9C7 /* IconImageCache.swift in Sources */, + DFD406F5291F79C900C02962 /* SettingsView.swift in Sources */, B24E9ADE245AB88400DA5718 /* NSAttributedString+NetNewsWire.swift in Sources */, C5A6ED5223C9AF4300AB6BE2 /* TitleActivityItemSource.swift in Sources */, 17071EF126F8137400F5E71D /* ArticleTheme+Notifications.swift in Sources */, diff --git a/Shared/ArticleStyles/ArticleThemesManager.swift b/Shared/ArticleStyles/ArticleThemesManager.swift index 254cccbd1..8e7d53dbc 100644 --- a/Shared/ArticleStyles/ArticleThemesManager.swift +++ b/Shared/ArticleStyles/ArticleThemesManager.swift @@ -8,13 +8,14 @@ import Foundation import RSCore +import Combine public extension Notification.Name { static let ArticleThemeNamesDidChangeNotification = Notification.Name("ArticleThemeNamesDidChangeNotification") static let CurrentArticleThemeDidChangeNotification = Notification.Name("CurrentArticleThemeDidChangeNotification") } -final class ArticleThemesManager: NSObject, NSFilePresenter, Logging { +final class ArticleThemesManager: NSObject, NSFilePresenter, Logging, ObservableObject { static var shared: ArticleThemesManager! public let folderPath: String diff --git a/iOS/AppDefaults.swift b/iOS/AppDefaults.swift index 4c6ec9d75..91de47635 100644 --- a/iOS/AppDefaults.swift +++ b/iOS/AppDefaults.swift @@ -7,6 +7,8 @@ // import UIKit +import Combine +import SwiftUI enum UserInterfaceColorPalette: Int, CustomStringConvertible, CaseIterable { case automatic = 0 @@ -26,7 +28,7 @@ enum UserInterfaceColorPalette: Int, CustomStringConvertible, CaseIterable { } -final class AppDefaults { +final class AppDefaults: ObservableObject { static let defaultThemeName = "Default" @@ -85,6 +87,7 @@ final class AppDefaults { } set { setInt(for: Key.userInterfaceColorPalette, newValue.rawValue) + AppDefaults.shared.objectWillChange.send() } } @@ -94,6 +97,7 @@ final class AppDefaults { } set { AppDefaults.setString(for: Key.addWebFeedAccountID, newValue) + AppDefaults.shared.objectWillChange.send() } } @@ -103,6 +107,7 @@ final class AppDefaults { } set { AppDefaults.setString(for: Key.addWebFeedFolderName, newValue) + AppDefaults.shared.objectWillChange.send() } } @@ -112,6 +117,7 @@ final class AppDefaults { } set { AppDefaults.setString(for: Key.addFolderAccountID, newValue) + AppDefaults.shared.objectWillChange.send() } } @@ -121,6 +127,7 @@ final class AppDefaults { } set { UserDefaults.standard.set(newValue, forKey: Key.activeExtensionPointIDs) + AppDefaults.shared.objectWillChange.send() } } @@ -130,6 +137,7 @@ final class AppDefaults { } set { UserDefaults.standard.set(newValue, forKey: Key.hasUsedFullScreenPreviously) + AppDefaults.shared.objectWillChange.send() } } @@ -139,6 +147,7 @@ final class AppDefaults { } set { UserDefaults.standard.setValue(newValue, forKey: Key.useSystemBrowser) + AppDefaults.shared.objectWillChange.send() } } @@ -148,6 +157,7 @@ final class AppDefaults { } set { AppDefaults.setDate(for: Key.lastImageCacheFlushDate, newValue) + AppDefaults.shared.objectWillChange.send() } } @@ -157,6 +167,7 @@ final class AppDefaults { } set { AppDefaults.setBool(for: Key.timelineGroupByFeed, newValue) + AppDefaults.shared.objectWillChange.send() } } @@ -166,6 +177,7 @@ final class AppDefaults { } set { AppDefaults.setBool(for: Key.refreshClearsReadArticles, newValue) + AppDefaults.shared.objectWillChange.send() } } @@ -175,15 +187,33 @@ final class AppDefaults { } set { AppDefaults.setSortDirection(for: Key.timelineSortDirection, newValue) + AppDefaults.shared.objectWillChange.send() } } - + + /// This is a `Bool` wrapper for `timelineSortDirection`'s + /// `ComparisonResult` + var timelineSortDirectionBool: Bool { + get { + if AppDefaults.shared.timelineSortDirection == .orderedAscending { + return true + } + return false + } + set { + if newValue == true { timelineSortDirection = .orderedAscending } else { + timelineSortDirection = .orderedDescending + } + } + } + var articleFullscreenEnabled: Bool { get { return AppDefaults.bool(for: Key.articleFullscreenEnabled) } set { AppDefaults.setBool(for: Key.articleFullscreenEnabled, newValue) + AppDefaults.shared.objectWillChange.send() } } @@ -193,6 +223,7 @@ final class AppDefaults { } set { AppDefaults.setBool(for: Key.confirmMarkAllAsRead, newValue) + AppDefaults.shared.objectWillChange.send() } } @@ -202,6 +233,7 @@ final class AppDefaults { } set { AppDefaults.setDate(for: Key.lastRefresh, newValue) + AppDefaults.shared.objectWillChange.send() } } @@ -211,6 +243,7 @@ final class AppDefaults { } set { AppDefaults.setInt(for: Key.timelineNumberOfLines, newValue) + AppDefaults.shared.objectWillChange.send() } } @@ -221,6 +254,7 @@ final class AppDefaults { } set { AppDefaults.store.set(newValue.rawValue, forKey: Key.timelineIconDimension) + AppDefaults.shared.objectWillChange.send() } } @@ -230,6 +264,7 @@ final class AppDefaults { } set { AppDefaults.setString(for: Key.currentThemeName, newValue) + AppDefaults.shared.objectWillChange.send() } } diff --git a/iOS/SceneCoordinator.swift b/iOS/SceneCoordinator.swift index ba3c3a737..ce3ceed7d 100644 --- a/iOS/SceneCoordinator.swift +++ b/iOS/SceneCoordinator.swift @@ -13,6 +13,7 @@ import Articles import RSCore import RSTree import SafariServices +import SwiftUI protocol MainControllerIdentifiable { var mainControllerIdentifer: MainControllerIdentifier { get } @@ -1129,12 +1130,14 @@ class SceneCoordinator: NSObject, UndoableCommandRunner, Logging { } func showSettings(scrollToArticlesSection: Bool = false) { - let settingsNavController = UIStoryboard.settings.instantiateInitialViewController() as! UINavigationController - let settingsViewController = settingsNavController.topViewController as! SettingsViewController - settingsViewController.scrollToArticlesSection = scrollToArticlesSection - settingsNavController.modalPresentationStyle = .formSheet - settingsViewController.presentingParentController = rootSplitViewController - rootSplitViewController.present(settingsNavController, animated: true) +// let settingsNavController = UIStoryboard.settings.instantiateInitialViewController() as! UINavigationController +// let settingsViewController = settingsNavController.topViewController as! SettingsViewController +// settingsViewController.scrollToArticlesSection = scrollToArticlesSection +// settingsNavController.modalPresentationStyle = .formSheet +// settingsViewController.presentingParentController = rootSplitViewController +// rootSplitViewController.present(settingsNavController, animated: true) + let hostedSettings = UIHostingController(rootView: SettingsView()) + rootSplitViewController.present(hostedSettings, animated: true) } func showAccountInspector(for account: Account) { diff --git a/iOS/Settings/AddAccountViewController.swift b/iOS/Settings/AddAccountViewController.swift index 8f0e92e44..d2d76de9c 100644 --- a/iOS/Settings/AddAccountViewController.swift +++ b/iOS/Settings/AddAccountViewController.swift @@ -8,8 +8,37 @@ import Account import UIKit +import SwiftUI import RSCore +struct AddAccountViewControllerRepresentable: UIViewControllerRepresentable { + func makeUIViewController(context: Context) -> AddAccountViewController { + let storyboard = UIStoryboard(name: "Settings", bundle: .main) + let controller = storyboard.instantiateViewController(withIdentifier: "AddAccountViewController") as! AddAccountViewController + + context.coordinator.parentObserver = controller.observe(\.parent, changeHandler: { vc, _ in + vc.parent?.title = vc.title + vc.parent?.navigationItem.rightBarButtonItems = vc.navigationItem.rightBarButtonItems + }) + + return controller + } + + func updateUIViewController(_ uiViewController: AddAccountViewController, context: Context) { + // + } + + typealias UIViewControllerType = AddAccountViewController + + class Coordinator { + var parentObserver: NSKeyValueObservation? + } + + func makeCoordinator() -> Self.Coordinator { Coordinator() } + +} + + protocol AddAccountDismissDelegate: UIViewController { func dismiss() } diff --git a/iOS/Settings/ArticleThemesTableViewController.swift b/iOS/Settings/ArticleThemesTableViewController.swift index deefb41e9..1fcf94b9e 100644 --- a/iOS/Settings/ArticleThemesTableViewController.swift +++ b/iOS/Settings/ArticleThemesTableViewController.swift @@ -10,6 +10,36 @@ import Foundation import UniformTypeIdentifiers import RSCore import UIKit +import SwiftUI + +struct ArticleThemesViewControllerRepresentable: UIViewControllerRepresentable { + func makeUIViewController(context: Context) -> ArticleThemesTableViewController { + let storyboard = UIStoryboard(name: "Settings", bundle: .main) + let controller = storyboard.instantiateViewController(withIdentifier: "ArticleThemesTableViewController") as! ArticleThemesTableViewController + + context.coordinator.parentObserver = controller.observe(\.parent, changeHandler: { vc, _ in + vc.parent?.title = vc.title + vc.parent?.navigationItem.rightBarButtonItems = vc.navigationItem.rightBarButtonItems + }) + + return controller + } + + func updateUIViewController(_ uiViewController: ArticleThemesTableViewController, context: Context) { + // + } + + typealias UIViewControllerType = ArticleThemesTableViewController + + class Coordinator { + var parentObserver: NSKeyValueObservation? + } + + func makeCoordinator() -> Self.Coordinator { Coordinator() } + +} + + class ArticleThemesTableViewController: UITableViewController, Logging { diff --git a/iOS/Settings/NotificationsViewController.swift b/iOS/Settings/NotificationsViewController.swift index 1c4d78524..64387f718 100644 --- a/iOS/Settings/NotificationsViewController.swift +++ b/iOS/Settings/NotificationsViewController.swift @@ -7,9 +7,38 @@ // import UIKit +import SwiftUI import Account import UserNotifications +struct NotificationsViewControllerRepresentable: UIViewControllerRepresentable { + func makeUIViewController(context: Context) -> NotificationsViewController { + let storyboard = UIStoryboard(name: "Settings", bundle: .main) + let controller = storyboard.instantiateViewController(withIdentifier: "NotificationsViewController") as! NotificationsViewController + + context.coordinator.parentObserver = controller.observe(\.parent, changeHandler: { vc, _ in + vc.parent?.title = vc.title + vc.parent?.navigationItem.rightBarButtonItems = vc.navigationItem.rightBarButtonItems + }) + + return controller + } + + func updateUIViewController(_ uiViewController: NotificationsViewController, context: Context) { + // + } + + typealias UIViewControllerType = NotificationsViewController + + class Coordinator { + var parentObserver: NSKeyValueObservation? + } + + func makeCoordinator() -> Self.Coordinator { Coordinator() } + +} + + class NotificationsViewController: UIViewController { @IBOutlet weak var notificationsTableView: UITableView! @@ -89,9 +118,9 @@ class NotificationsViewController: UIViewController { private func reloadVisibleCells(_ notification: Notification) { guard let faviconURLString = notification.userInfo?["faviconURL"] as? String, let faviconHost = URL(string: faviconURLString)?.host else { - return - } - + return + } + for cell in notificationsTableView.visibleCells { if let notificationCell = cell as? NotificationsTableViewCell { if let feedURLHost = URL(string: notificationCell.feed!.url)?.host { @@ -117,21 +146,21 @@ class NotificationsViewController: UIViewController { let filterMenu = UIMenu(title: "", - image: nil, - identifier: nil, - options: [.displayInline], - children: [ - UIAction( - title: NSLocalizedString("Show Feeds with Notifications Enabled", comment: "Feeds with Notifications"), image: nil, identifier: nil, - discoverabilityTitle: nil, - attributes: [], - state: newArticleNotificationFilter ? .on : .off, - handler: { [weak self] _ in - self?.newArticleNotificationFilter.toggle() - self?.notificationsTableView.reloadData() - })]) + options: [.displayInline], + children: [ + UIAction( + title: NSLocalizedString("Show Feeds with Notifications Enabled", comment: "Feeds with Notifications"), + image: nil, + identifier: nil, + discoverabilityTitle: nil, + attributes: [], + state: newArticleNotificationFilter ? .on : .off, + handler: { [weak self] _ in + self?.newArticleNotificationFilter.toggle() + self?.notificationsTableView.reloadData() + })]) var menus = [UIMenuElement]() diff --git a/iOS/Settings/Settings View/SettingsHelpSheets.swift b/iOS/Settings/Settings View/SettingsHelpSheets.swift new file mode 100644 index 000000000..8fbda4166 --- /dev/null +++ b/iOS/Settings/Settings View/SettingsHelpSheets.swift @@ -0,0 +1,77 @@ +// +// SettingsHelpSheets.swift +// NetNewsWire-iOS +// +// Created by Stuart Breckenridge on 12/11/2022. +// Copyright © 2022 Ranchero Software. All rights reserved. +// + +import Foundation + +enum HelpSheet: CustomStringConvertible, CaseIterable { + + case help, website, releaseNotes, howToSupport, gitHubRepository, bugTracker, technotes, slack + + var description: String { + switch self { + case .help: + return NSLocalizedString("NetNewsWire Help", comment: "NetNewsWire Help") + case .website: + return NSLocalizedString("Website", comment: "Website") + case .releaseNotes: + return NSLocalizedString("Release Notes", comment: "Release Notes") + case .howToSupport: + return NSLocalizedString("How to Support NetNewsWire", comment: "How to Support") + case .gitHubRepository: + return NSLocalizedString("GitHub Respository", comment: "Github") + case .bugTracker: + return NSLocalizedString("Bug Tracker", comment: "Bug Tracker") + case .technotes: + return NSLocalizedString("Technotes", comment: "Technotes") + case .slack: + return NSLocalizedString("Slack", comment: "Slack") + } + } + + var url: URL { + switch self { + case .help: + return URL(string: "https://netnewswire.com/help/ios/6.1/en/")! + case .website: + return URL(string: "https://netnewswire.com/")! + case .releaseNotes: + return URL(string: URL.releaseNotes.absoluteString)! + case .howToSupport: + return URL(string: "https://github.com/brentsimmons/NetNewsWire/blob/main/Technotes/HowToSupportNetNewsWire.markdown")! + case .gitHubRepository: + return URL(string: "https://github.com/brentsimmons/NetNewsWire")! + case .bugTracker: + return URL(string: "https://github.com/brentsimmons/NetNewsWire/issues")! + case .technotes: + return URL(string: "https://github.com/brentsimmons/NetNewsWire/tree/main/Technotes")! + case .slack: + return URL(string: "https://netnewswire.com/slack")! + } + } + + var systemImage: String { + switch self { + case .help: + return "questionmark.app" + case .website: + return "globe" + case .releaseNotes: + return "quote.opening" + case .howToSupport: + return "person.3.fill" + case .gitHubRepository: + return "archivebox" + case .bugTracker: + return "ladybug" + case .technotes: + return "chevron.left.slash.chevron.right" + case .slack: + return "quote.bubble.fill" + } + } +} diff --git a/iOS/Settings/Settings View/SettingsRows.swift b/iOS/Settings/Settings View/SettingsRows.swift new file mode 100644 index 000000000..cea3f0448 --- /dev/null +++ b/iOS/Settings/Settings View/SettingsRows.swift @@ -0,0 +1,256 @@ +// +// SettingsRows.swift +// NetNewsWire-iOS +// +// Created by Stuart Breckenridge on 12/11/2022. +// Copyright © 2022 Ranchero Software. All rights reserved. +// + +import SwiftUI +import Account + +// MARK: - Headers + +struct SettingsViewHeaders { + + static func AddAccountHeader(_ showAddAccount: Binding) -> some View { + HStack { + Text("Accounts") + Spacer() + Button { + showAddAccount.wrappedValue.toggle() + } label: { + Text("Add") + .font(.caption) + .bold() + Image(systemName: "plus") + .font(.caption) + } + .buttonBorderShape(.capsule) + .buttonStyle(.bordered) + .padding(.trailing, -15) // moves to trailing edge + } + } + +} + +// MARK: - Rows + +struct SettingsViewRows { + + /// This row, when tapped, will open system settings. + static var OpenSystemSettings: some View { + Label { + Text("Open System Settings") + } icon: { + Image(systemName: "gear.circle.fill") + .resizable() + .renderingMode(.template) + .foregroundColor(.gray) + .aspectRatio(contentMode: .fit) + .frame(width: 25.0, height: 25.0) + } + .onTapGesture { + UIApplication.shared.open(URL(string: "\(UIApplication.openSettingsURLString)")!) + } + } + + /// This row, when tapped, will push the New Article Notifications + /// screen in to view. + static var ConfigureNewArticleNotifications: some View { + NavigationLink(destination: NotificationsViewControllerRepresentable().edgesIgnoringSafeArea(.all)) { + Label { + Text("New Article Notifications") + } icon: { + Image(systemName: "bell.square.fill") + .resizable() + .renderingMode(.template) + .foregroundColor(.red) + .aspectRatio(contentMode: .fit) + .frame(width: 25.0, height: 25.0) + } + } + } + + /// This row, when tapped, will push the the Add Account screen + /// in to view. + static var AddAccount: some View { + NavigationLink(destination: AddAccountViewControllerRepresentable().edgesIgnoringSafeArea(.all)) { + Label { + Text("Add Account") + } icon: { + Image(systemName: "plus.app.fill") + .resizable() + .renderingMode(.template) + .foregroundColor(Color(uiColor: AppAssets.primaryAccentColor)) + .aspectRatio(contentMode: .fit) + .frame(width: 25.0, height: 25.0) + } + } + } + + /// This `view` creates a `Label` for each active `Account`. + /// Each `Label`, when tapped, will present the configurator for + /// the `Account`. + static var ActiveAccounts: some View { + ForEach(AccountManager.shared.sortedActiveAccounts, id: \.self) { account in + Label { + Text(account.nameForDisplay) + } icon: { + Image(uiImage: AppAssets.image(for: account.type)!) + .resizable() + .aspectRatio(contentMode: .fit) + .frame(width: 25.0, height: 25.0) + } + } + } + + /// This row, when tapped, will push the the Add Extension screen + /// in to view. + static var AddExtension: some View { + NavigationLink(destination: NotificationsViewControllerRepresentable()) { + Label { + Text("Add Extension") + } icon: { + Image(systemName: "puzzlepiece.extension") + .resizable() + .aspectRatio(contentMode: .fit) + .frame(width: 25.0, height: 25.0) + } + } + } + + /// This row, when tapped, will push the the Import subscriptions screen + /// in to view. + static var ImportSubscription: some View { + Label { + Text("Import Subscriptions") + } icon: { + Image(systemName: "square.and.arrow.down") + .resizable() + .aspectRatio(contentMode: .fit) + .frame(width: 25.0, height: 25.0) + } + } + + /// This row, when tapped, will push the the Export subscriptions screen + /// in to view. + static var ExportSubscription: some View { + Label { + Text("Import Subscriptions") + } icon: { + Image(systemName: "square.and.arrow.up") + .resizable() + .aspectRatio(contentMode: .fit) + .frame(width: 25.0, height: 25.0) + } + } + + /// Returns a `Toggle` which triggers changes to the user's sort order preference. + /// - Parameter preference: `Binding` + /// - Returns: `Toggle` + static func SortOldestToNewest(_ preference: Binding) -> some View { + Toggle("Sort Oldest to Newest", isOn: preference) + } + + /// Returns a `Toggle` which triggers changes to the user's grouping preference. + /// - Parameter preference: `Binding` + /// - Returns: `Toggle` + static func GroupByFeed(_ preference: Binding) -> some View { + Toggle("Group by Feed", isOn: preference) + } + + /// Returns a `Toggle` which triggers changes to the user's refresh to clear preferences. + /// - Parameter preference: `Binding` + /// - Returns: `Toggle` + static func RefreshToClearReadArticles(_ preference: Binding) -> some View { + Toggle("Refresh To Clear Read Articles", isOn: preference) + } + + /// This row, when tapped, will push the the Timeline Layout screen + /// in to view. + static var TimelineLayout: some View { + NavigationLink(destination: NotificationsViewControllerRepresentable()) { + Label { + Text("Timeline Layout") + } icon: { + Image(systemName: "slider.vertical.3") + .resizable() + .aspectRatio(contentMode: .fit) + .frame(width: 25.0, height: 25.0) + } + } + } + + static var ThemeSelection: some View { + NavigationLink(destination: ArticleThemesViewControllerRepresentable().edgesIgnoringSafeArea(.all)) { + Label { + Text("Article Themes") + } icon: { + Image(systemName: "textformat") + .resizable() + .aspectRatio(contentMode: .fit) + .frame(width: 25.0, height: 25.0) + } + } + } + + static func ConfirmMarkAllAsRead(_ preference: Binding) -> some View { + Toggle("Confirm Mark All as Read", isOn: preference) + } + + static func OpenLinksInNetNewsWire(_ preference: Binding) -> some View { + Toggle("Open Links in NetNewsWire", isOn: preference) + } + + static func EnableFullScreenArticles(_ preference: Binding) -> some View { + Toggle(isOn: preference) { + VStack(alignment: .leading, spacing: 4) { + Text("Enable Full Screen Articles") + Text("Tap the article top bar to enter Full Screen. Tap the top or bottom to exit.") + .font(.caption) + .foregroundColor(.gray) + } + } + } + + /// This row, when tapped, will push the New Article Notifications + /// screen in to view. + static var ConfigureAppearance: some View { + NavigationLink(destination: NotificationsViewControllerRepresentable().edgesIgnoringSafeArea(.all)) { + Label { + Text("Configure Appearance") + } icon: { + Image(systemName: "rectangle.trailinghalf.filled") + .resizable() + .renderingMode(.template) + .foregroundColor(.black) + .aspectRatio(contentMode: .fit) + .frame(width: 25.0, height: 25.0) + } + } + } + + /// Sets the help sheet the user wishes to see. + /// - Parameters: + /// - sheet: The sheet provided to create the view. + /// - selectedSheet: A `Binding` to the currently selected sheet. This is set, followed by `show`. + /// - show: A `Binding` to `Bool` which triggers the sheet to display. + /// - Returns: `View` + static func ShowHelpSheet(sheet: HelpSheet, selectedSheet: Binding, _ show: Binding) -> some View { + Label { + Text(sheet.description) + } icon: { + Image(systemName: sheet.systemImage) + .resizable() + .renderingMode(.template) + .foregroundColor(Color(uiColor: .tertiaryLabel)) + .aspectRatio(contentMode: .fit) + .frame(width: 25.0, height: 25.0) + } + .onTapGesture { + selectedSheet.wrappedValue = sheet + show.wrappedValue.toggle() + } + } +} diff --git a/iOS/Settings/Settings View/SettingsView.swift b/iOS/Settings/Settings View/SettingsView.swift new file mode 100644 index 000000000..82f05315d --- /dev/null +++ b/iOS/Settings/Settings View/SettingsView.swift @@ -0,0 +1,76 @@ +// +// SettingsView.swift +// NetNewsWire-iOS +// +// Created by Stuart Breckenridge on 12/11/2022. +// Copyright © 2022 Ranchero Software. All rights reserved. +// + +import SwiftUI +import Account + +struct SettingsView: View { + + @StateObject private var appDefaults = AppDefaults.shared + @State private var showAddAccountView: Bool = false + @State private var helpSheet: HelpSheet = .help + @State private var showHelpSheet: Bool = false + + var body: some View { + NavigationView { + List { + Section("Notifications, Badge, Data, and More") { + SettingsViewRows.OpenSystemSettings + SettingsViewRows.ConfigureNewArticleNotifications + } + + Section(header: SettingsViewHeaders.AddAccountHeader($showAddAccountView)) { + SettingsViewRows.ActiveAccounts + } + + Section("Extensions") { + SettingsViewRows.AddExtension + } + + Section("Subscriptions") { + SettingsViewRows.ImportSubscription + SettingsViewRows.ExportSubscription + } + + Section("Timeline") { + SettingsViewRows.SortOldestToNewest($appDefaults.timelineSortDirectionBool) + SettingsViewRows.GroupByFeed($appDefaults.timelineGroupByFeed) + SettingsViewRows.RefreshToClearReadArticles($appDefaults.refreshClearsReadArticles) + SettingsViewRows.TimelineLayout + } + + Section("Articles") { + SettingsViewRows.ThemeSelection + SettingsViewRows.ConfirmMarkAllAsRead($appDefaults.confirmMarkAllAsRead) + SettingsViewRows.OpenLinksInNetNewsWire($appDefaults.useSystemBrowser) + SettingsViewRows.EnableFullScreenArticles($appDefaults.articleFullscreenEnabled) + } + + Section("Appearance") { + SettingsViewRows.ConfigureAppearance + } + + Section("Help") { + ForEach(0.. - + - + - + - + - - + - + - - + diff --git a/iOS/UIKit Extensions/SafariView.swift b/iOS/UIKit Extensions/SafariView.swift new file mode 100644 index 000000000..0b2e2179a --- /dev/null +++ b/iOS/UIKit Extensions/SafariView.swift @@ -0,0 +1,24 @@ +// +// SafariView.swift +// NetNewsWire-iOS +// +// Created by Stuart Breckenridge on 12/11/2022. +// Copyright © 2022 Ranchero Software. All rights reserved. +// + +import SwiftUI +import SafariServices + +struct SafariView: UIViewControllerRepresentable { + + let url: URL + + func makeUIViewController(context: UIViewControllerRepresentableContext) -> SFSafariViewController { + return SFSafariViewController(url: url) + } + + func updateUIViewController(_ uiViewController: SFSafariViewController, context: UIViewControllerRepresentableContext) { + + } + +} From 3630c6f7b267a6f72287855a86a2cb4ea25f726f Mon Sep 17 00:00:00 2001 From: Stuart Breckenridge Date: Sat, 12 Nov 2022 19:53:53 +0800 Subject: [PATCH 02/80] Corrected title. --- iOS/Settings/Settings View/SettingsRows.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/iOS/Settings/Settings View/SettingsRows.swift b/iOS/Settings/Settings View/SettingsRows.swift index cea3f0448..68e27add4 100644 --- a/iOS/Settings/Settings View/SettingsRows.swift +++ b/iOS/Settings/Settings View/SettingsRows.swift @@ -137,7 +137,7 @@ struct SettingsViewRows { /// in to view. static var ExportSubscription: some View { Label { - Text("Import Subscriptions") + Text("Export Subscriptions") } icon: { Image(systemName: "square.and.arrow.up") .resizable() From bb49e744ae448e6498a5344cab0a0d222adb91c5 Mon Sep 17 00:00:00 2001 From: Stuart Breckenridge Date: Sat, 12 Nov 2022 21:35:59 +0800 Subject: [PATCH 03/80] simplifies Settings options --- .../Assets.xcassets/Settings/Contents.json | 6 +++ .../app.account.imageset/Contents.json | 12 +++++ .../app.account.imageset/app.account.pdf | Bin 0 -> 5357 bytes .../app.appearance.imageset/Contents.json | 12 +++++ .../app.appearance.pdf | Bin 0 -> 5150 bytes .../app.extension.imageset/Contents.json | 12 +++++ .../app.extension.imageset/app.extension.pdf | Bin 0 -> 5266 bytes .../Contents.json | 12 +++++ .../notifications.sounds.pdf | Bin 0 -> 5369 bytes .../system.settings.imageset/Contents.json | 12 +++++ .../system.settings.pdf | Bin 0 -> 5825 bytes iOS/Settings/Settings View/SettingsRows.swift | 49 ++++++++++-------- iOS/Settings/Settings View/SettingsView.swift | 44 ++++++---------- 13 files changed, 109 insertions(+), 50 deletions(-) create mode 100644 iOS/Resources/Assets.xcassets/Settings/Contents.json create mode 100644 iOS/Resources/Assets.xcassets/Settings/app.account.imageset/Contents.json create mode 100644 iOS/Resources/Assets.xcassets/Settings/app.account.imageset/app.account.pdf create mode 100644 iOS/Resources/Assets.xcassets/Settings/app.appearance.imageset/Contents.json create mode 100644 iOS/Resources/Assets.xcassets/Settings/app.appearance.imageset/app.appearance.pdf create mode 100644 iOS/Resources/Assets.xcassets/Settings/app.extension.imageset/Contents.json create mode 100644 iOS/Resources/Assets.xcassets/Settings/app.extension.imageset/app.extension.pdf create mode 100644 iOS/Resources/Assets.xcassets/Settings/notifications.sounds.imageset/Contents.json create mode 100644 iOS/Resources/Assets.xcassets/Settings/notifications.sounds.imageset/notifications.sounds.pdf create mode 100644 iOS/Resources/Assets.xcassets/Settings/system.settings.imageset/Contents.json create mode 100644 iOS/Resources/Assets.xcassets/Settings/system.settings.imageset/system.settings.pdf diff --git a/iOS/Resources/Assets.xcassets/Settings/Contents.json b/iOS/Resources/Assets.xcassets/Settings/Contents.json new file mode 100644 index 000000000..73c00596a --- /dev/null +++ b/iOS/Resources/Assets.xcassets/Settings/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/iOS/Resources/Assets.xcassets/Settings/app.account.imageset/Contents.json b/iOS/Resources/Assets.xcassets/Settings/app.account.imageset/Contents.json new file mode 100644 index 000000000..7c6a92182 --- /dev/null +++ b/iOS/Resources/Assets.xcassets/Settings/app.account.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "app.account.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/iOS/Resources/Assets.xcassets/Settings/app.account.imageset/app.account.pdf b/iOS/Resources/Assets.xcassets/Settings/app.account.imageset/app.account.pdf new file mode 100644 index 0000000000000000000000000000000000000000..e339edc4e93eafb5ba39a8b3ce50f7bf79937b88 GIT binary patch literal 5357 zcmai22|SeD_qR-8D3r)jo@7Z`X2oRR$-ZRE(u^65FdAbI$rh0<*^)#>mK1M`X~>?) zlqGFQ)~t!FssA(7@9p>Y{y)FxGxN;cbI(2ZoO{l__j`_nxsIMJTn-79Xd3-8I(2K| z+KZ+ZC=!4HB%CKyMFo)8BYIH?WboGuOCjhGTuFEWAa6|Yai@3ya192(@)Ftr<2o~Fdxf-ivai}{+<9O46W{|ISKPD1J>S){DCsHf5+kz+NxYqOpZ7-C zhl|{0@j(UqII(hTC$%CtuClNbTC#OC4EAJ{Ctbf{8*?<@?)Lg%w2nh_Zs29zsL?)d zUvW(i+wC!xgBg1Tyr;LbeF5~k(f@0a z%*iBID*^>L0SeX81LUm*M&s zW8PA4p`$z6pLmL6t{lBEkh9ThKlo<+LEjtqxv;((Ci8FSAPp2d=Ch~*JHFYeddFS6 z+nbhI_VO_Av}1lUDJg0YFk#O}z=K{wq;5+L!0xSPCvS;Wzar*3QWRaUDw_>oJECPU|gjOmNj zTo+*iXYY_M>oQB&duMy3&XkMH%-Fvg^H{BWGq^w8YD4vD$olbl$!Ypk&BUwrgI?2R z@-%*?C2@z`eO0v?$C;|Vw`+_Jm6^=}OkcJ!RS#TQ*dOcVoYwS_ON#Tt^t6{BbN(s0 zBNK}2`R7Q_>S8g=+3mCIHp({z)FTfX?m-fCM{nM`X{6K9!L>7!j^9}3`7!(iLww%W zD03zMiNJi!#Bqy>OB~Vh9@H3>NV^m{JTy9@cPL`7f)txzc-|>K4}TY?uo#T_LqoQw zBvmHugRJ5{>LDy)Qzv-f(5JPJJ<3z>_$4DkzK^eoaylmX3>j;RS&c1mCF98w*JT6? z2cx~}S$3tcQLaHzk#aB=nUgz2&LVwT2LPt%vj#k@ms#ZuScn>sdzxymnV_2R*USM? zp1w>yks&W2rsouVw>v^?pX~7EC>>7msyF%r^+sg z8wZ56x^Dz`J*+mVKKhpM7Pe1cv1q+J{ZsRz=mc$%gCIdTF?wiJWK?Lh>Y3&C2H43J zq^01E#PmdJV)6oN>=AvK{!ZZz(fP+?>5SFGK8Md_h-J8CFlQv+Ha<@3Nrx!x;Rnnb@v54=jxb3y$W`4%@>SrZ@faLw~;-Ea__V#6ZudZPlRi2(H49;CW!l`<}?m`}aKfjC2jEt4+l#HmowEZ?a z@9N3QwZ^wiIj5Xl!&+lKhh3{WZ}yM zP+ zLk~sBsd9L^M3*4nf}Z2=GKL+d);di3lEwp?yqo%8tG?NIxPFA&h&xsPLhGel>El9l zPUrKPcWhH_?>tCb#?5)o-BLTM7O$41w!1cp3%CwWQuNu)ybVvkl zs`85p?+FzTAeSt6^&7!CI2;A(oU~PajCaIeR#jH=)OUoAMv{z zN=A(<7F`|%jzapV6y*A)` z?6-RK?5UmQF|R5d-#s!7bgHiz`dT}c>iT3&oqL2!gwBk?d@5Z(M*l`@L$ZIba!;RPvEn6#hNQHXyThkjNgE%&YKQJF{bY_T ze6#{lI)It~*t#M*ca=-!O>jck?N3r0`Ahd-I3zd}yn6pC{(g}HG1NG8@YC7uynUVf zWYu$joLNj<%Fd~J=59n!?c8%E7n2_t{za=LX8uCFK-^JVids$eNLOA(WyL^yWab^` z`A6iEceM3y$1_XaD=<#VVR>P+nb?h_SNo|~FS|^K6F>bm=S}rzm&!&h&s zmv8j0^tqML7N@WEoupTtcTbLes4f2^WA%<%<2HH;{fJ(*-lTrHK0R?Yu|MSQV)N(r z#LVvDm^$h2_m?wXmga{CuG8FcZB3s~y`0KcKQ>TYi&=ZM}h=}(CVKf7* zgYteu!$}w!%>eOUB z+DEMPKtwOgP}bjj3#jW5{9MUIUkZr~g)>wKQw3|%aUbGlJ_O%V7tEE&eiUsFEEzz8 zaNQXDTf>%!r+92y23JD;mtmWOe<}Jiu|gm){~OCYrNDg}VO+X_dFNaakb6kVE(o7A zOOS^{&kQp@H2~6+rqLcnaxp|(UW?kkLDvtrbgs$lq(Z*rMa@XpPpBYdu>>R7i;>43 z^s}8eH*C?$xrgwv>)wW_z;Lc>mzYvS1?_i{e1lqGFYbDf5}P{Bd{=4~kALdhTSt`4 zzsBpp+LiT=mJ@_TMwU&KG)_~i^AKNc=O5{wyK-pv3`tx#<+6v&-TB=dy(kB#I}RzW z5wCV~71D(HC*OO zD+zUPE1k zT5+SKrbkw!@Di1C_CA;gmi;uN+|qlN?*sV)+77w(e&{%(dM$C;s^uF`C^TXGGap?y zg{Ia-xS>9r{~;uNS`%}-QdCLeyVv>kM}dO_EI(pB`(A&X4-u$++st`-hXQ)f^F0|j z`MIp+`l%~-k;pFZ^qsosU7 z#Ap>J&4Ob$>Ny}Ft#N<2>aL^^JV}tZL9z~|a8DWl6Kpfl_-oI6FR>~=n<^8*jh=p_ zXHndD(lu(q9roNoSotv8@m3V|u@2htInCtDzW0H}o*Ou4wE{_%2H|N%OV+m9%7NT2 zlY>_-evSTGlx-X%dvHM6<2cvSR|Q?MxLo?T+4DML725Go>oMV$!21c*;%SQZ`Wwy? z{BW>-oWKTCZ`6AFzwGhf>rdc8jQ4j1D^Q2Lv94xTfDM7{MxO2LSgT5)HTkzi0@swb={!{Gx$Vf)^R% z`I`m<_4$JaGX9f>gd@P3(?7?8lKw$MA~4{6^bbB19o$Vh90TE3mpoB7rC9*7a%V<3<9#__Lt{UivCH90sX` zz`J7ccm)I!>*l5agQEy&6dHkZQ@|_1)S&;HW$SMBqkwU+=_C{e0fS0N=$h$4{|~wF B_o4s* literal 0 HcmV?d00001 diff --git a/iOS/Resources/Assets.xcassets/Settings/app.appearance.imageset/Contents.json b/iOS/Resources/Assets.xcassets/Settings/app.appearance.imageset/Contents.json new file mode 100644 index 000000000..330472128 --- /dev/null +++ b/iOS/Resources/Assets.xcassets/Settings/app.appearance.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "app.appearance.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/iOS/Resources/Assets.xcassets/Settings/app.appearance.imageset/app.appearance.pdf b/iOS/Resources/Assets.xcassets/Settings/app.appearance.imageset/app.appearance.pdf new file mode 100644 index 0000000000000000000000000000000000000000..19f943839b5c24168f4fb3b0e72f42319681a2a0 GIT binary patch literal 5150 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 literal 0 HcmV?d00001 diff --git a/iOS/Resources/Assets.xcassets/Settings/app.extension.imageset/Contents.json b/iOS/Resources/Assets.xcassets/Settings/app.extension.imageset/Contents.json new file mode 100644 index 000000000..3e6386566 --- /dev/null +++ b/iOS/Resources/Assets.xcassets/Settings/app.extension.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "app.extension.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/iOS/Resources/Assets.xcassets/Settings/app.extension.imageset/app.extension.pdf b/iOS/Resources/Assets.xcassets/Settings/app.extension.imageset/app.extension.pdf new file mode 100644 index 0000000000000000000000000000000000000000..1893a41f08fb2414f69efb51210006e7a5c91fbd GIT binary patch literal 5266 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 KxVV;~HuOJP-Oc9! literal 0 HcmV?d00001 diff --git a/iOS/Resources/Assets.xcassets/Settings/notifications.sounds.imageset/Contents.json b/iOS/Resources/Assets.xcassets/Settings/notifications.sounds.imageset/Contents.json new file mode 100644 index 000000000..6222d7dd9 --- /dev/null +++ b/iOS/Resources/Assets.xcassets/Settings/notifications.sounds.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "notifications.sounds.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/iOS/Resources/Assets.xcassets/Settings/notifications.sounds.imageset/notifications.sounds.pdf b/iOS/Resources/Assets.xcassets/Settings/notifications.sounds.imageset/notifications.sounds.pdf new file mode 100644 index 0000000000000000000000000000000000000000..be7e7123299e42a615355f3aa2674dc3ef684be8 GIT binary patch literal 5369 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 KprATN1M+|Wi}_Cg literal 0 HcmV?d00001 diff --git a/iOS/Resources/Assets.xcassets/Settings/system.settings.imageset/Contents.json b/iOS/Resources/Assets.xcassets/Settings/system.settings.imageset/Contents.json new file mode 100644 index 000000000..842c6a591 --- /dev/null +++ b/iOS/Resources/Assets.xcassets/Settings/system.settings.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "system.settings.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/iOS/Resources/Assets.xcassets/Settings/system.settings.imageset/system.settings.pdf b/iOS/Resources/Assets.xcassets/Settings/system.settings.imageset/system.settings.pdf new file mode 100644 index 0000000000000000000000000000000000000000..c17072520682efd3b88ccf7caa92c91c8413684b GIT binary patch literal 5825 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 -> some View { HStack { - Text("Accounts") + //Text("Accounts") Spacer() Button { showAddAccount.wrappedValue.toggle() @@ -43,12 +43,11 @@ struct SettingsViewRows { Label { Text("Open System Settings") } icon: { - Image(systemName: "gear.circle.fill") + Image("system.settings") .resizable() - .renderingMode(.template) - .foregroundColor(.gray) .aspectRatio(contentMode: .fit) .frame(width: 25.0, height: 25.0) + .clipShape(RoundedRectangle(cornerRadius: 6)) } .onTapGesture { UIApplication.shared.open(URL(string: "\(UIApplication.openSettingsURLString)")!) @@ -60,14 +59,12 @@ struct SettingsViewRows { static var ConfigureNewArticleNotifications: some View { NavigationLink(destination: NotificationsViewControllerRepresentable().edgesIgnoringSafeArea(.all)) { Label { - Text("New Article Notifications") + Text("Notifications and Sounds") } icon: { - Image(systemName: "bell.square.fill") + Image("notifications.sounds") .resizable() - .renderingMode(.template) - .foregroundColor(.red) - .aspectRatio(contentMode: .fit) .frame(width: 25.0, height: 25.0) + .clipShape(RoundedRectangle(cornerRadius: 6)) } } } @@ -77,14 +74,12 @@ struct SettingsViewRows { static var AddAccount: some View { NavigationLink(destination: AddAccountViewControllerRepresentable().edgesIgnoringSafeArea(.all)) { Label { - Text("Add Account") + Text("Manage Accounts") } icon: { - Image(systemName: "plus.app.fill") + Image("app.account") .resizable() - .renderingMode(.template) - .foregroundColor(Color(uiColor: AppAssets.primaryAccentColor)) - .aspectRatio(contentMode: .fit) .frame(width: 25.0, height: 25.0) + .clipShape(RoundedRectangle(cornerRadius: 6)) } } } @@ -110,12 +105,12 @@ struct SettingsViewRows { static var AddExtension: some View { NavigationLink(destination: NotificationsViewControllerRepresentable()) { Label { - Text("Add Extension") + Text("Manage Extensions") } icon: { - Image(systemName: "puzzlepiece.extension") + Image("app.extension") .resizable() - .aspectRatio(contentMode: .fit) .frame(width: 25.0, height: 25.0) + .clipShape(RoundedRectangle(cornerRadius: 6)) } } } @@ -219,14 +214,12 @@ struct SettingsViewRows { static var ConfigureAppearance: some View { NavigationLink(destination: NotificationsViewControllerRepresentable().edgesIgnoringSafeArea(.all)) { Label { - Text("Configure Appearance") + Text("Appearance") } icon: { - Image(systemName: "rectangle.trailinghalf.filled") + Image("app.appearance") .resizable() - .renderingMode(.template) - .foregroundColor(.black) - .aspectRatio(contentMode: .fit) .frame(width: 25.0, height: 25.0) + .clipShape(RoundedRectangle(cornerRadius: 6)) } } } @@ -253,4 +246,16 @@ struct SettingsViewRows { show.wrappedValue.toggle() } } + + static var AboutNetNewsWire: some View { + NavigationLink { + AboutView() + } label: { + Label { + Text("About NetNewsWire") + } icon: { + Image(systemName: "questionmark.square.dashed") + } + } + } } diff --git a/iOS/Settings/Settings View/SettingsView.swift b/iOS/Settings/Settings View/SettingsView.swift index 82f05315d..83f116da6 100644 --- a/iOS/Settings/Settings View/SettingsView.swift +++ b/iOS/Settings/Settings View/SettingsView.swift @@ -15,50 +15,35 @@ struct SettingsView: View { @State private var showAddAccountView: Bool = false @State private var helpSheet: HelpSheet = .help @State private var showHelpSheet: Bool = false + @State private var showAbout: Bool = false var body: some View { NavigationView { List { - Section("Notifications, Badge, Data, and More") { + + // System Settings + Section(footer: Text("Configure access to Siri, background app refresh, mobile data, and more.")) { SettingsViewRows.OpenSystemSettings - SettingsViewRows.ConfigureNewArticleNotifications } - Section(header: SettingsViewHeaders.AddAccountHeader($showAddAccountView)) { - SettingsViewRows.ActiveAccounts - } - - Section("Extensions") { + Section(footer: Text("Add, delete, or disable accounts and extensions.")) { + SettingsViewRows.AddAccount SettingsViewRows.AddExtension } - Section("Subscriptions") { - SettingsViewRows.ImportSubscription - SettingsViewRows.ExportSubscription - } - - Section("Timeline") { - SettingsViewRows.SortOldestToNewest($appDefaults.timelineSortDirectionBool) - SettingsViewRows.GroupByFeed($appDefaults.timelineGroupByFeed) - SettingsViewRows.RefreshToClearReadArticles($appDefaults.refreshClearsReadArticles) - SettingsViewRows.TimelineLayout - } - - Section("Articles") { - SettingsViewRows.ThemeSelection - SettingsViewRows.ConfirmMarkAllAsRead($appDefaults.confirmMarkAllAsRead) - SettingsViewRows.OpenLinksInNetNewsWire($appDefaults.useSystemBrowser) - SettingsViewRows.EnableFullScreenArticles($appDefaults.articleFullscreenEnabled) - } - - Section("Appearance") { + Section(footer: Text("Configure the look and feel of NetNewsWire.")) { + SettingsViewRows.ConfigureNewArticleNotifications SettingsViewRows.ConfigureAppearance } - Section("Help") { + + + Section { ForEach(0.. Date: Sat, 12 Nov 2022 23:10:30 +0800 Subject: [PATCH 04/80] Adds early work on managing appearance --- NetNewsWire.xcodeproj/project.pbxproj | 12 ++ .../Contents.json | 22 ++++ .../app.appearance.automatic 1.png | Bin 0 -> 16101 bytes .../app.appearance.automatic.png | Bin 0 -> 16101 bytes .../Contents.json | 22 ++++ .../app.appearance.dark 1.png | Bin 0 -> 18986 bytes .../app.appearance.dark.png | Bin 0 -> 18986 bytes .../Contents.json | 22 ++++ .../app.appearance.light 1.png | Bin 0 -> 12391 bytes .../app.appearance.light.png | Bin 0 -> 12391 bytes .../AppearanceManagementView.swift | 108 ++++++++++++++++++ iOS/Settings/Settings View/SettingsRows.swift | 15 ++- iOS/Settings/Settings View/SettingsView.swift | 2 +- 13 files changed, 194 insertions(+), 9 deletions(-) create mode 100644 iOS/Resources/Assets.xcassets/Settings/app.appearance.automatic.imageset/Contents.json create mode 100644 iOS/Resources/Assets.xcassets/Settings/app.appearance.automatic.imageset/app.appearance.automatic 1.png create mode 100644 iOS/Resources/Assets.xcassets/Settings/app.appearance.automatic.imageset/app.appearance.automatic.png create mode 100644 iOS/Resources/Assets.xcassets/Settings/app.appearance.dark.imageset/Contents.json create mode 100644 iOS/Resources/Assets.xcassets/Settings/app.appearance.dark.imageset/app.appearance.dark 1.png create mode 100644 iOS/Resources/Assets.xcassets/Settings/app.appearance.dark.imageset/app.appearance.dark.png create mode 100644 iOS/Resources/Assets.xcassets/Settings/app.appearance.light.imageset/Contents.json create mode 100644 iOS/Resources/Assets.xcassets/Settings/app.appearance.light.imageset/app.appearance.light 1.png create mode 100644 iOS/Resources/Assets.xcassets/Settings/app.appearance.light.imageset/app.appearance.light.png create mode 100644 iOS/Settings/Appearance View/AppearanceManagementView.swift diff --git a/NetNewsWire.xcodeproj/project.pbxproj b/NetNewsWire.xcodeproj/project.pbxproj index c110a7842..bf5fb09fb 100644 --- a/NetNewsWire.xcodeproj/project.pbxproj +++ b/NetNewsWire.xcodeproj/project.pbxproj @@ -864,6 +864,7 @@ DFD406F7291FB1A600C02962 /* SafariView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFD406F6291FB1A600C02962 /* SafariView.swift */; }; DFD406FA291FB5E400C02962 /* SettingsRows.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFD406F9291FB5E400C02962 /* SettingsRows.swift */; }; DFD406FC291FB63B00C02962 /* SettingsHelpSheets.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFD406FB291FB63B00C02962 /* SettingsHelpSheets.swift */; }; + DFD406FF291FDC0C00C02962 /* AppearanceManagementView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFD406FE291FDC0C00C02962 /* AppearanceManagementView.swift */; }; DFFB8FC2279B75E300AC21D7 /* Account in Embed Frameworks */ = {isa = PBXBuildFile; productRef = 51BC2F4A24D343A500E90810 /* Account */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; DFFC199827A0D0D7004B7AEF /* NotificationsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFFC199727A0D0D7004B7AEF /* NotificationsViewController.swift */; }; DFFC199A27A0D32A004B7AEF /* NotificationsTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFFC199927A0D32A004B7AEF /* NotificationsTableViewCell.swift */; }; @@ -1609,6 +1610,7 @@ DFD406F6291FB1A600C02962 /* SafariView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SafariView.swift; sourceTree = ""; }; DFD406F9291FB5E400C02962 /* SettingsRows.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsRows.swift; sourceTree = ""; }; DFD406FB291FB63B00C02962 /* SettingsHelpSheets.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsHelpSheets.swift; sourceTree = ""; }; + DFD406FE291FDC0C00C02962 /* AppearanceManagementView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppearanceManagementView.swift; sourceTree = ""; }; DFD6AACB27ADE80900463FAD /* NewsFax.nnwtheme */ = {isa = PBXFileReference; lastKnownFileType = wrapper; path = NewsFax.nnwtheme; sourceTree = ""; }; DFFC199727A0D0D7004B7AEF /* NotificationsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationsViewController.swift; sourceTree = ""; }; DFFC199927A0D32A004B7AEF /* NotificationsTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationsTableViewCell.swift; sourceTree = ""; }; @@ -2009,6 +2011,7 @@ 519ED47924482AEB007F8E94 /* EnableExtensionPointViewController.swift */, 51A16990235E10D600EB091F /* Settings.storyboard */, DFD406F8291FB5D500C02962 /* Settings View */, + DFD406FD291FDBD900C02962 /* Appearance View */, 516A09382360A2AE00EAE89B /* SettingsComboTableViewCell.swift */, 516A091D23609A3600EAE89B /* SettingsComboTableViewCell.xib */, 516A093A2360A4A000EAE89B /* SettingsTableViewCell.xib */, @@ -2902,6 +2905,14 @@ path = "Settings View"; sourceTree = ""; }; + DFD406FD291FDBD900C02962 /* Appearance View */ = { + isa = PBXGroup; + children = ( + DFD406FE291FDC0C00C02962 /* AppearanceManagementView.swift */, + ); + path = "Appearance View"; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -4058,6 +4069,7 @@ B2B80778239C4C7000F191E0 /* RSImage-AppIcons.swift in Sources */, 518ED21D23D0F26000E0A862 /* UIViewController-Extensions.swift in Sources */, DFFC199827A0D0D7004B7AEF /* NotificationsViewController.swift in Sources */, + DFD406FF291FDC0C00C02962 /* AppearanceManagementView.swift in Sources */, 51A9A5F52380F6A60033AADF /* ModalNavigationController.swift in Sources */, 51EAED96231363EF00A9EEE3 /* NonIntrinsicButton.swift in Sources */, 51C4527B2265091600C03939 /* MasterUnreadIndicatorView.swift in Sources */, diff --git a/iOS/Resources/Assets.xcassets/Settings/app.appearance.automatic.imageset/Contents.json b/iOS/Resources/Assets.xcassets/Settings/app.appearance.automatic.imageset/Contents.json new file mode 100644 index 000000000..11a2b61ec --- /dev/null +++ b/iOS/Resources/Assets.xcassets/Settings/app.appearance.automatic.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "app.appearance.automatic.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "app.appearance.automatic 1.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/iOS/Resources/Assets.xcassets/Settings/app.appearance.automatic.imageset/app.appearance.automatic 1.png b/iOS/Resources/Assets.xcassets/Settings/app.appearance.automatic.imageset/app.appearance.automatic 1.png new file mode 100644 index 0000000000000000000000000000000000000000..67bc3e466c0eb438df7d1f284c60ec8a977d3b6e GIT binary patch literal 16101 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Ⓢ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Ⓢ1;H+2iD=gw51L0@=wDZ}ea!yDW(e*E$03R%Q$4f!$v!M`?C%|4=;!)$rx0 zxCMFb=~nDi(0%SQ|5ccG{yltqFkuS7BN6*9tW`t~NN@n3iPL>t)D4j)lY9V(*i2pUvkA&I$jtg8 z2u(cje(&U3%#{&{*j49694^+MjsyF{oUVhQWo^sE3B{<&qfQkE`#?sFXrT|97O`Wq z)3L03k7-2jfc-xhLoxB=WU+oVKI9*;8x69q^jnc0zUaz$ty{EWAN>A+xg?}#Npx)^ zs{gYtv&??*t)z2%}>p~W2GYHB*arhV%w<2cs9 z*?L#Rz03QpoYPtWH49tV_%D=%A6{AZ-Fv@3y|`efeB_+d&ILj_Q^eq`rT9uw6ZqI8 zJ?r@_a!dI}pGZnlZkwz+HfMOml)65Z~fmM{unqvB44tALg##$F+42!=0`pbQBqI>=r}yJUI#OnX93M za|UjjUHnRe6;c5Wp`S#m^t_+1#m7#9+$yPTlwIN={Ggk<<3&`704wCZhAYmmTat2A zIMqI!cKiV3Hr!{7=_NW%{>h}Z&obw2#0xbVLmR4W`jRW20nzPch+DS!eK?xVN9Z@0 z6{izI@|BPw#ooy(!1l*cMXA;AIPdmTclJmT$6L^V0rOCTE8Ea~-7%BfNJ?$Nx5DhO z1O_MpT$959`%&!t!Shw)OFu=F`omd@T1v1rBu7F;-bHsXpQ|uvaQ&^s*Dq&v-tC+n zi@8w(#mnzqxfQfOQ!LDB?JaaM;5aWkCNhv_*knxFZlMXgq(+z`c0AGnSiX>wFL8z2 z+ur<&Z6+${EkEGq<)YeWb$jP zRSnVg*;^Ovf@}Kb=Jb*5W^gI%t5|6Qrb{esvNQGMyaITSU>`u)!9PfE!BKT72lXmU zsGW)=?r`BaK@EX7_hRI3X-EMQ3WmBVlBZ%9iU`k{uSAAsh!OnTf-mP$d5Png% zUe-bKu!)4FAhd0srPj?zJ`N}brl)mN=H^wtLZ(25N8Y5n@w?1_oubUKHAG9 zGEdzuJ7-#dAICUdrx4#`(yB`;<4t2M^7clYV45a&ze#5u?H?gAzBG}x*&RtOTyLEI zJg8|Ht)qV?)zK zB$LgEe&bsgib|NC^`j$RCGC8iGP>ZCO($jcj~yUR^1B+Ek+4}nF>77Nz>$fpyENQ} z-NFC3g7forI`dTe%k@pnI!F6ofyp_D!|C`S5(D`9+>o8<{H}K~j+t(1psL zk2jod{b#Pt5-8R=rFdb7rlO#40{fyo+dLjyArJd~q&V(Q z>UCc-a|>6S9Fe`Op?r|a4Fl1=zl6$^+?$HgX0)b^^ba}y%kJ=mC&h1{@}Q-fGyU%_ z5tBosn}tvjCy-$_dNb8OD=QbuDZe4{RI$Z7oD=ek2ny6>%*79|Zz8IZU`#Kc`jsK6 z5ORW625dm{H{DnYc%W>^=&3J1_3xfy017;|(&8t)3b`s@YmRh?#;0&v{3O>whZ_iG zk)UCf4{f{=DDPmp5B2wf@S|}LXy?R*01OL#l8qXxM!c+2hWpQvzN6wl?T5nVs_fWZ^QAfh0mnNQ&2pg(=7iOyWSbk?RZ>wWLdQ0iPl4}r1K5Vav>x9b$;7N_d?V-& zq+Ki$)<{7Cds4GF@Ydz6Hz^0J?V07%npjL9WhIKdo*(F9b^N>`kQ|yX(4};-*sjoQ zmKn`s+;qOnidr>*DqT6rwewB^+@w*5#jcClI$EX;Kz8$ybDPPPKsU6P86P6(z6fPy z_SM`@dn&D8Q4$G4`QT(=dq=YMhgiR&)OfE!Yr&fI8{?DaNAjkT6pErE9C0H&`Up_^ zR(wTQYt2R(=LufingZzCo>lb<5ZLCCct6?J8jlbd9_Eeoc{=jV4XxLTcf^(K3pjY4 zp^-cZw_c9&;T^XmbEU6SC%r`_z{Azm$A{KM6_mhd`BBab=`YqiI_2T#CON zQVZ9f1ly#tY9` zU?hTxk|!|s%;9TeG)JUV&J>arJyWOVsJ^0g&FuM*jsfVS=Ve6DG24^@{ofzuC+ka1 zW>Wx|Q6rt3SNHxKoH?c5OWLuS&fIl~DZ5#V)r zZ~J`BwfBZLRfB9G)73b`uq;tu16N@4Hnml)j3(3vvP|uREntwCQqCVDj+r@mjmu;; zSX^InHXEd)n;?(I1x>wa@SuG^_v;E1ymQ32-G7lTl5Hh_?SE!E;uXjTrR zwEw+IsWGHh%HaUVkuKGXOnJ|KM%QOlrM^$)mT^+LMh5q?;M_Chr!4~qi_x3y_!o5= zw*+PzT@c}~WP6>hVV9)%@!wiht^LYDtd$@>Z2EQ}rx59=)wydXiX||CLY@xZ!wmZH z;xFYv$#yY85gfHA6-Rw&w>`+SQk`9(6ifXnaZenGmD*P-I+PUtvAX-flwmRGNS(2p zFuJ6O`V<=@5BM90vTR9)!ocRX)Nr06qFWL%XK`!Wv&Q0m|6?UR&O*};X=P{FRa3-~ zGk?1$QV3%_c{Z|@Fklb&Jm>T@6pO}nG_f%q9Wnoq3*dO$)$2!VrqkjC1-;vX6sqH6 z)3(=x;KK+)t~yb> ze~A>acRE`SX-g=%z&3UuLF%a@B4nZ@W4C|;OYTM#0DM)yY4jUL-Obdu{6Y3~%%`_8lm_XRsg!l!%v0id5fm|QlQYl2V-4-yyz zr>BRa-l4QU?`F<%TFhPzr!5^(e0Cl9#CU+7GaLT$Os`|o zb~syF0&w6K^ez+wm6@N4N(+qh91eNm9Vq#rqLk_)LLq2r@}@o`6CBxFYMTyxI(XgV ziF#g*D=n@+@>75qcn)>HY4P5U!P9H{EgC^yqoukZ4;;RN!^vN_>lvu0AdU6(ub3Cm zAZuR~DOaf@bFD_@`3|mBx^%s0D5l%=uP;@jR+^iv6Bg?kLaT6ECP638jEDL1oYM7^ z1`1vPMR5SYj^xn+jTr1U$NkBkdWu9pZaeEI$!MLOqjR&A^F@_+OqyF-gvWQ>ML?KQ zwB8lWFg${jcf2P2RN-{|&is6%=iK^YLRCFp6{|N2T5U4+#X*OOoEL6~iQ>WDm*-y` z_b@5^e&^Rg7(T-IkQT26@At5;zjthAtqfqA&EocfP z8ME0IcH0S8O7P)pz(W`53uNxZ?RUW7Po`jUt8?{4Pj8aXJY7-&(XB$N8;2PazS8f| z`LCk0Wl&9(m?KVBHc477AJJOPrl?0E2rHkOzDQ9rFvwUhHB6}BQ|kt{y>?)VT(S@w z$<6RJ_5w*xNARYd$o9(d-9DVJ%mrX_q6bZC zg|hKiQLZs8YFWint@^r}_XaectIG^}%~;^^P$6K$Q=Y6&q*E4OoqP03k87r3Iy1}{ zHrzYa5+NW<-i~=EXE1^ItspoYnuN#&V;*nmqdNW3@~k{$ILCHN-zOdTo}MhV6>8cq5;1asN@$>Aqal+_Ulr8ZycTNBp#2sF)-58s4d8K_lXHhO^zKm~gmyj@{ z)xj1+Uxz03%RYOU-J*ko8=9L3jM||uS|N^iS$(pfE*+EdOioO@F;aFVDG#*jNkoO zlM^Q$`6K+o2T+u=dz;0y-QhxY;X!&r{%DU|+1#6zdJJmVL??~O zh;$>(46ATD_vFLy)<7I;s?Wz_?vVPEoU%tXpOkqoiBCzPum@G<9e(iU02zzq)e)}q z4M>BRnNQ}0J{;=3B6T60J7?d+vxk4pVi5Qefq$t`3y|9F-xm960=5IHAn9mH9+FgO&Z!#&}ta>DcaS4?b!6X{COX}?QJ6LV+`8bI_9I$<)@2GeG zX3KVcJ6FSM&#f$z`MvQ2DKuOdEorm(^|8Gyto3nkVu7BEYi_D%dr%VC4`w`Xmv`@} zMzG;r)k88q*E~NI10sgp;G_JoOf_v(Lf+}>Z!`n$Le>TVxTV0dnH}fyjd5&MU5k2A(v_1s$K@heL;na*UUR(T!!Rw!VPe zuJ+0vZl0TS&L$Xq&3m0YLl79@;g#e!U`7Q2WFYh*E;fr`f7$t#mGZAH8J`hl{fb-a z!Bl;e!58YdgHCY`bfgK(EUNkpA)l>>#nqR$zR;h3@QF1YO25@V%v37VbX{09-QE_W zf-G1BBn_4XEN%yN{QgLRxU~ylBfi?CL`RIUUM0m23MC7hTy1UkMkcH`@ti$MUQN$N zyB2JrWs(V1@!PyU7lU6=Nd;slrtRqAB(UpiETYl_KimCqIb9#u39-UpYAj`iQ^DPs zTznq?ocl3l(RcD1h&_scG;A?jzJF=g8rjdc6RoAN>-uI?bk2}9?MCRB?!n5VTeGy& zd>xnD#S8ki|46I!2{v_7(N2}bZ6c;UD?{gPKJVo)Tk$SGe+9y;E|g=^6tNKJs2aVO z;Kg;Ogk~$h_m+%C*XMZJktJx?TU>UDL1+U%n&wRqOuC|M8iy4BN4FY7Y0h}~B|90u zu2tlNcA}j45=~o{~b|2m0uewk@Dl1@^ zob1Dgo zgljs$&D$m_6Aa;b0TSq<&dVs;7IUaMgt1PND<$j6OtTqr%^=@yhV2wpv>wG`^N!XWJjCt6A0X#F3QPL#d#*Yqg-{GqunHxg^0dDX4Et@DgZ%p(WJzRW0^cR^p zp$`1L=*CtJMrSAYOXXEJ-Mt>50t3WxB!v{gCp}*poIY881v0DChnuv_9*9p&W2!CY=!B8bKl6{wE)N z5zT@GU!pE+P@}B=*r>p-M0)-C?|$27eL_2T61OYEm`3L5++eFD4A(e7QV4=wC1cGc z8%VzV%+ITk11$}G@QH5VCu^W+%kOz$lN&$3;Ex~_k)G1BW z3~%;YLUhw{?`J78y4wG%hz27IXIGQ#0Z8y>xVVN0s@jN2;|X8P z4gTSi@yz*Th5MofsOQMm@Ikr=1J)cv5vn;;1xvi$?8BJxhrokqHW1pnoTJcHsj+o9 zp98uek+iAMoiz^<;1LZ3Pd{*LxG0|_o$KqJ{LFk5gk^gbkedmUl>%ba`Z@TC%c7>< z!5E+bdNAfuSmyolRj;(hC^GP}7C72pr!+P#xkA=qB|HGSIgWqM{lC3SC*iYnNVJi& zow)d(SGfn-6t}5-o2x(KUppz`JVl6V5(>6?+&WY~0Lf>2=Xal2y#HCW04qKoXNW2( z1npsuG6{W8>Ho2f56py$z(0fy&F~>sQg>>s+X11Y0plf!od$>-Jx^MGfD*6455~w4 zRp=rUQ*QZ&i2p*&aM3kd`+eb&AjxxRUV!aH97lkI!wfHarRZ<>troxl_GcdgfWpi!3(M`OB;jX+ zW{2yB+E4c-{F{I~;AjSDldxUeUz{9vgKtTbolPM`gZ6ys|C&r24$~+cY2zPeQ35SP zSw{W|e|Wq!CNIa!-1ASI>x%_$iF~uWp|$+ByB09K$q0U5s$V0K=gENRCqzvlgjPdC z(;uM%6N8x(jO_P$r0-NSWD^n_WK11Be zGDwa|cxb@DSAdyTFjXylmgW#oXDN#Q4mY6OXLT9UOreIDnV3rkfdTEEMSG!`_^mbW zGb;QIC1L&q9$U7VE~D5dq`;Mk2h^CTzPbHp??s!Kbz%JY3a(;NAQ^xZj$G)0?XH>U zD`7Wv2o>Z%t@j!$TOH)ws2eJL;;%dOizbu=5mRz3NoaEAhb$rZxm7Xph#j!_k+P-HHdhK!4mTDoiUi+kpy`6pD4EByMusj??Cv7cv{f some View { + VStack(spacing: 4) { + Image("app.appearance.light") + .resizable() + .aspectRatio(contentMode: .fit) + .frame(width: 40.0, height: 40.0) + Text("Always Light") + .font(.subheadline) + if AppDefaults.userInterfaceColorPalette == .light { + Image(systemName: "checkmark.circle.fill") + .foregroundColor(Color(uiColor: AppAssets.primaryAccentColor)) + } else { + Image(systemName: "circle") + } + }.onTapGesture { + AppDefaults.userInterfaceColorPalette = .light + } + } + + func appDarkButton() -> some View { + VStack(spacing: 4) { + Image("app.appearance.dark") + .resizable() + .aspectRatio(contentMode: .fit) + .frame(width: 40.0, height: 40.0) + Text("Always Dark") + .font(.subheadline) + if AppDefaults.userInterfaceColorPalette == .dark { + Image(systemName: "checkmark.circle.fill") + .foregroundColor(Color(uiColor: AppAssets.primaryAccentColor)) + } else { + Image(systemName: "circle") + } + }.onTapGesture { + AppDefaults.userInterfaceColorPalette = .dark + } + } + + func appAutomaticButton() -> some View { + VStack(spacing: 4) { + Image("app.appearance.automatic") + .resizable() + .aspectRatio(contentMode: .fit) + .frame(width: 40.0, height: 40.0) + Text("Use System") + .font(.subheadline) + if AppDefaults.userInterfaceColorPalette == .automatic { + Image(systemName: "checkmark.circle.fill") + .foregroundColor(Color(uiColor: AppAssets.primaryAccentColor)) + } else { + Image(systemName: "circle") + } + }.onTapGesture { + AppDefaults.userInterfaceColorPalette = .automatic + } + } + +} + +struct AppearanceManagementView_Previews: PreviewProvider { + static var previews: some View { + AppearanceManagementView() + } +} diff --git a/iOS/Settings/Settings View/SettingsRows.swift b/iOS/Settings/Settings View/SettingsRows.swift index 48ccb344a..f795f7937 100644 --- a/iOS/Settings/Settings View/SettingsRows.swift +++ b/iOS/Settings/Settings View/SettingsRows.swift @@ -179,13 +179,12 @@ struct SettingsViewRows { static var ThemeSelection: some View { NavigationLink(destination: ArticleThemesViewControllerRepresentable().edgesIgnoringSafeArea(.all)) { - Label { - Text("Article Themes") - } icon: { - Image(systemName: "textformat") - .resizable() - .aspectRatio(contentMode: .fit) - .frame(width: 25.0, height: 25.0) + HStack { + Text("Article Theme") + Spacer() + Text(ArticleThemesManager.shared.currentTheme.name) + .font(.callout) + .foregroundColor(.secondary) } } } @@ -212,7 +211,7 @@ struct SettingsViewRows { /// This row, when tapped, will push the New Article Notifications /// screen in to view. static var ConfigureAppearance: some View { - NavigationLink(destination: NotificationsViewControllerRepresentable().edgesIgnoringSafeArea(.all)) { + NavigationLink(destination: AppearanceManagementView()) { Label { Text("Appearance") } icon: { diff --git a/iOS/Settings/Settings View/SettingsView.swift b/iOS/Settings/Settings View/SettingsView.swift index 83f116da6..588da7b5f 100644 --- a/iOS/Settings/Settings View/SettingsView.swift +++ b/iOS/Settings/Settings View/SettingsView.swift @@ -32,8 +32,8 @@ struct SettingsView: View { } Section(footer: Text("Configure the look and feel of NetNewsWire.")) { - SettingsViewRows.ConfigureNewArticleNotifications SettingsViewRows.ConfigureAppearance + SettingsViewRows.ConfigureNewArticleNotifications } From 1576bcd87aa01cea4f61ac6909c57699b9e12081 Mon Sep 17 00:00:00 2001 From: Stuart Breckenridge Date: Sun, 13 Nov 2022 00:06:32 +0800 Subject: [PATCH 05/80] Display & Behaviors --- .../Appearance View/AppearanceManagementView.swift | 14 ++++++++------ iOS/Settings/Settings View/SettingsRows.swift | 9 ++++++++- iOS/Settings/Settings View/SettingsView.swift | 10 ++++------ 3 files changed, 20 insertions(+), 13 deletions(-) diff --git a/iOS/Settings/Appearance View/AppearanceManagementView.swift b/iOS/Settings/Appearance View/AppearanceManagementView.swift index 7834d436d..f700f1fa4 100644 --- a/iOS/Settings/Appearance View/AppearanceManagementView.swift +++ b/iOS/Settings/Appearance View/AppearanceManagementView.swift @@ -14,7 +14,7 @@ struct AppearanceManagementView: View { var body: some View { List { - Section("Application Appearance") { + Section("Application") { HStack { appLightButton() Spacer() @@ -25,20 +25,22 @@ struct AppearanceManagementView: View { .listRowBackground(Color.clear) } - Section("Timeline Appearance") { + Section("Timeline") { SettingsViewRows.SortOldestToNewest($appDefaults.timelineSortDirectionBool) SettingsViewRows.GroupByFeed($appDefaults.timelineGroupByFeed) SettingsViewRows.RefreshToClearReadArticles($appDefaults.refreshClearsReadArticles) } - Section("Article Appearance") { + Section("Article") { SettingsViewRows.ThemeSelection SettingsViewRows.ConfirmMarkAllAsRead($appDefaults.confirmMarkAllAsRead) - SettingsViewRows.OpenLinksInNetNewsWire($appDefaults.useSystemBrowser) - SettingsViewRows.EnableFullScreenArticles($appDefaults.articleFullscreenEnabled) + SettingsViewRows.OpenLinksInNetNewsWire(Binding( + get: { !appDefaults.useSystemBrowser }, + set: { appDefaults.useSystemBrowser = !$0 } + )) } } - .navigationTitle(Text("Appearance")) + .navigationTitle(Text("Display & Behaviors")) .tint(Color(uiColor: AppAssets.primaryAccentColor)) } diff --git a/iOS/Settings/Settings View/SettingsRows.swift b/iOS/Settings/Settings View/SettingsRows.swift index f795f7937..266b74341 100644 --- a/iOS/Settings/Settings View/SettingsRows.swift +++ b/iOS/Settings/Settings View/SettingsRows.swift @@ -213,7 +213,7 @@ struct SettingsViewRows { static var ConfigureAppearance: some View { NavigationLink(destination: AppearanceManagementView()) { Label { - Text("Appearance") + Text("Display & Behaviors") } icon: { Image("app.appearance") .resizable() @@ -258,3 +258,10 @@ struct SettingsViewRows { } } } + + +extension Binding where Value == Bool { + func negate() -> Bool { + return !(self.wrappedValue) + } +} diff --git a/iOS/Settings/Settings View/SettingsView.swift b/iOS/Settings/Settings View/SettingsView.swift index 588da7b5f..b53249b3f 100644 --- a/iOS/Settings/Settings View/SettingsView.swift +++ b/iOS/Settings/Settings View/SettingsView.swift @@ -22,22 +22,20 @@ struct SettingsView: View { List { // System Settings - Section(footer: Text("Configure access to Siri, background app refresh, mobile data, and more.")) { + Section(footer: Text("Configure NetNewsWire's access to Siri, background app refresh, mobile data, and more.")) { SettingsViewRows.OpenSystemSettings } - Section(footer: Text("Add, delete, or disable accounts and extensions.")) { + Section(footer: Text("Add, delete, enable or disable accounts and extensions.")) { SettingsViewRows.AddAccount SettingsViewRows.AddExtension } - Section(footer: Text("Configure the look and feel of NetNewsWire.")) { + Section(footer: Text("Configure the look, feel, and behavior of NetNewsWire.")) { SettingsViewRows.ConfigureAppearance SettingsViewRows.ConfigureNewArticleNotifications } - - - + Section { ForEach(0.. Date: Sun, 13 Nov 2022 09:52:25 +0800 Subject: [PATCH 06/80] Renamed AppearanceManagementView --- ...ceManagementView.swift => DisplayAndBehaviorsView.swift} | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) rename iOS/Settings/Appearance View/{AppearanceManagementView.swift => DisplayAndBehaviorsView.swift} (96%) diff --git a/iOS/Settings/Appearance View/AppearanceManagementView.swift b/iOS/Settings/Appearance View/DisplayAndBehaviorsView.swift similarity index 96% rename from iOS/Settings/Appearance View/AppearanceManagementView.swift rename to iOS/Settings/Appearance View/DisplayAndBehaviorsView.swift index f700f1fa4..1b1a4f539 100644 --- a/iOS/Settings/Appearance View/AppearanceManagementView.swift +++ b/iOS/Settings/Appearance View/DisplayAndBehaviorsView.swift @@ -1,5 +1,5 @@ // -// AppearanceManagementView.swift +// DisplayAndBehaviorsView.swift // NetNewsWire-iOS // // Created by Stuart Breckenridge on 12/11/2022. @@ -8,7 +8,7 @@ import SwiftUI -struct AppearanceManagementView: View { +struct DisplayAndBehaviorsView: View { @StateObject private var appDefaults = AppDefaults.shared @@ -105,6 +105,6 @@ struct AppearanceManagementView: View { struct AppearanceManagementView_Previews: PreviewProvider { static var previews: some View { - AppearanceManagementView() + DisplayAndBehaviorsView() } } From ccd8fa4ca728e393901efdde096852b7c65a8a49 Mon Sep 17 00:00:00 2001 From: Stuart Breckenridge Date: Sun, 13 Nov 2022 15:57:13 +0800 Subject: [PATCH 07/80] Minor refactor and renaming --- NetNewsWire.xcodeproj/project.pbxproj | 12 ++- .../ColorPaletteSelectorView.swift | 87 +++++++++++++++++++ .../DisplayAndBehaviorsView.swift | 63 +------------- iOS/Settings/Settings View/SettingsRows.swift | 2 +- 4 files changed, 97 insertions(+), 67 deletions(-) create mode 100644 iOS/Settings/Appearance View/ColorPaletteSelectorView.swift diff --git a/NetNewsWire.xcodeproj/project.pbxproj b/NetNewsWire.xcodeproj/project.pbxproj index bf5fb09fb..7bca6344f 100644 --- a/NetNewsWire.xcodeproj/project.pbxproj +++ b/NetNewsWire.xcodeproj/project.pbxproj @@ -849,6 +849,7 @@ DDF9E1D728EDF2FC000BC355 /* notificationSoundBlip.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = DDF9E1D628EDF2FC000BC355 /* notificationSoundBlip.mp3 */; }; DDF9E1D828EDF2FC000BC355 /* notificationSoundBlip.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = DDF9E1D628EDF2FC000BC355 /* notificationSoundBlip.mp3 */; }; DDF9E1D928EDF2FC000BC355 /* notificationSoundBlip.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = DDF9E1D628EDF2FC000BC355 /* notificationSoundBlip.mp3 */; }; + DF59F072292085B800ACD33D /* ColorPaletteSelectorView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF59F071292085B800ACD33D /* ColorPaletteSelectorView.swift */; }; DF5AD10128D6922200CA3BF7 /* SmartFeedSummaryWidget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1768144D2564BCE000D98635 /* SmartFeedSummaryWidget.swift */; }; DF790D6228E990A900455FC7 /* AboutData.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF790D6128E990A900455FC7 /* AboutData.swift */; }; DFC14F0F28EA55BD00F6EE86 /* AboutWindowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFC14F0E28EA55BD00F6EE86 /* AboutWindowController.swift */; }; @@ -864,7 +865,7 @@ DFD406F7291FB1A600C02962 /* SafariView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFD406F6291FB1A600C02962 /* SafariView.swift */; }; DFD406FA291FB5E400C02962 /* SettingsRows.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFD406F9291FB5E400C02962 /* SettingsRows.swift */; }; DFD406FC291FB63B00C02962 /* SettingsHelpSheets.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFD406FB291FB63B00C02962 /* SettingsHelpSheets.swift */; }; - DFD406FF291FDC0C00C02962 /* AppearanceManagementView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFD406FE291FDC0C00C02962 /* AppearanceManagementView.swift */; }; + DFD406FF291FDC0C00C02962 /* DisplayAndBehaviorsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFD406FE291FDC0C00C02962 /* DisplayAndBehaviorsView.swift */; }; DFFB8FC2279B75E300AC21D7 /* Account in Embed Frameworks */ = {isa = PBXBuildFile; productRef = 51BC2F4A24D343A500E90810 /* Account */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; DFFC199827A0D0D7004B7AEF /* NotificationsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFFC199727A0D0D7004B7AEF /* NotificationsViewController.swift */; }; DFFC199A27A0D32A004B7AEF /* NotificationsTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFFC199927A0D32A004B7AEF /* NotificationsTableViewCell.swift */; }; @@ -1600,6 +1601,7 @@ D5F4EDB820074D7C00B9E363 /* Folder+Scriptability.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Folder+Scriptability.swift"; sourceTree = ""; }; DD82AB09231003F6002269DF /* SharingTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SharingTests.swift; sourceTree = ""; }; DDF9E1D628EDF2FC000BC355 /* notificationSoundBlip.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = notificationSoundBlip.mp3; sourceTree = ""; }; + DF59F071292085B800ACD33D /* ColorPaletteSelectorView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ColorPaletteSelectorView.swift; sourceTree = ""; }; DF790D6128E990A900455FC7 /* AboutData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AboutData.swift; sourceTree = ""; }; DFC14F0E28EA55BD00F6EE86 /* AboutWindowController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AboutWindowController.swift; sourceTree = ""; }; DFC14F1428EB177000F6EE86 /* AboutNetNewsWireView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AboutNetNewsWireView.swift; sourceTree = ""; }; @@ -1610,7 +1612,7 @@ DFD406F6291FB1A600C02962 /* SafariView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SafariView.swift; sourceTree = ""; }; DFD406F9291FB5E400C02962 /* SettingsRows.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsRows.swift; sourceTree = ""; }; DFD406FB291FB63B00C02962 /* SettingsHelpSheets.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsHelpSheets.swift; sourceTree = ""; }; - DFD406FE291FDC0C00C02962 /* AppearanceManagementView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppearanceManagementView.swift; sourceTree = ""; }; + DFD406FE291FDC0C00C02962 /* DisplayAndBehaviorsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DisplayAndBehaviorsView.swift; sourceTree = ""; }; DFD6AACB27ADE80900463FAD /* NewsFax.nnwtheme */ = {isa = PBXFileReference; lastKnownFileType = wrapper; path = NewsFax.nnwtheme; sourceTree = ""; }; DFFC199727A0D0D7004B7AEF /* NotificationsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationsViewController.swift; sourceTree = ""; }; DFFC199927A0D32A004B7AEF /* NotificationsTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationsTableViewCell.swift; sourceTree = ""; }; @@ -2908,7 +2910,8 @@ DFD406FD291FDBD900C02962 /* Appearance View */ = { isa = PBXGroup; children = ( - DFD406FE291FDC0C00C02962 /* AppearanceManagementView.swift */, + DFD406FE291FDC0C00C02962 /* DisplayAndBehaviorsView.swift */, + DF59F071292085B800ACD33D /* ColorPaletteSelectorView.swift */, ); path = "Appearance View"; sourceTree = ""; @@ -4063,13 +4066,14 @@ 512E08E72268801200BDCFDD /* WebFeedTreeControllerDelegate.swift in Sources */, 51C452A422650A2D00C03939 /* ArticleUtilities.swift in Sources */, 51EF0F79227716380050506E /* ColorHash.swift in Sources */, + DF59F072292085B800ACD33D /* ColorPaletteSelectorView.swift in Sources */, 51F9F3FB23DFB25700A314FD /* Animations.swift in Sources */, 5195C1DA2720205F00888867 /* ShadowTableChanges.swift in Sources */, 5183CCDA226E31A50010922C /* NonIntrinsicImageView.swift in Sources */, B2B80778239C4C7000F191E0 /* RSImage-AppIcons.swift in Sources */, 518ED21D23D0F26000E0A862 /* UIViewController-Extensions.swift in Sources */, DFFC199827A0D0D7004B7AEF /* NotificationsViewController.swift in Sources */, - DFD406FF291FDC0C00C02962 /* AppearanceManagementView.swift in Sources */, + DFD406FF291FDC0C00C02962 /* DisplayAndBehaviorsView.swift in Sources */, 51A9A5F52380F6A60033AADF /* ModalNavigationController.swift in Sources */, 51EAED96231363EF00A9EEE3 /* NonIntrinsicButton.swift in Sources */, 51C4527B2265091600C03939 /* MasterUnreadIndicatorView.swift in Sources */, diff --git a/iOS/Settings/Appearance View/ColorPaletteSelectorView.swift b/iOS/Settings/Appearance View/ColorPaletteSelectorView.swift new file mode 100644 index 000000000..a6457654f --- /dev/null +++ b/iOS/Settings/Appearance View/ColorPaletteSelectorView.swift @@ -0,0 +1,87 @@ +// +// ColorPaletteSelectorView.swift +// NetNewsWire-iOS +// +// Created by Stuart Breckenridge on 13/11/2022. +// Copyright © 2022 Ranchero Software. All rights reserved. +// + +import SwiftUI + +struct ColorPaletteSelectorView: View { + + @StateObject private var appDefaults = AppDefaults.shared + + var body: some View { + HStack { + appLightButton() + Spacer() + appDarkButton() + Spacer() + appAutomaticButton() + } + } + + func appLightButton() -> some View { + VStack(spacing: 4) { + Image("app.appearance.light") + .resizable() + .aspectRatio(contentMode: .fit) + .frame(width: 40.0, height: 40.0) + Text("Always Light") + .font(.subheadline) + if AppDefaults.userInterfaceColorPalette == .light { + Image(systemName: "checkmark.circle.fill") + .foregroundColor(Color(uiColor: AppAssets.primaryAccentColor)) + } else { + Image(systemName: "circle") + } + }.onTapGesture { + AppDefaults.userInterfaceColorPalette = .light + } + } + + func appDarkButton() -> some View { + VStack(spacing: 4) { + Image("app.appearance.dark") + .resizable() + .aspectRatio(contentMode: .fit) + .frame(width: 40.0, height: 40.0) + Text("Always Dark") + .font(.subheadline) + if AppDefaults.userInterfaceColorPalette == .dark { + Image(systemName: "checkmark.circle.fill") + .foregroundColor(Color(uiColor: AppAssets.primaryAccentColor)) + } else { + Image(systemName: "circle") + } + }.onTapGesture { + AppDefaults.userInterfaceColorPalette = .dark + } + } + + func appAutomaticButton() -> some View { + VStack(spacing: 4) { + Image("app.appearance.automatic") + .resizable() + .aspectRatio(contentMode: .fit) + .frame(width: 40.0, height: 40.0) + Text("Use System") + .font(.subheadline) + if AppDefaults.userInterfaceColorPalette == .automatic { + Image(systemName: "checkmark.circle.fill") + .foregroundColor(Color(uiColor: AppAssets.primaryAccentColor)) + } else { + Image(systemName: "circle") + } + }.onTapGesture { + AppDefaults.userInterfaceColorPalette = .automatic + } + } +} + +struct DisplayModeView_Previews: PreviewProvider { + static var previews: some View { + ColorPaletteSelectorView() + } +} diff --git a/iOS/Settings/Appearance View/DisplayAndBehaviorsView.swift b/iOS/Settings/Appearance View/DisplayAndBehaviorsView.swift index 1b1a4f539..53d65716b 100644 --- a/iOS/Settings/Appearance View/DisplayAndBehaviorsView.swift +++ b/iOS/Settings/Appearance View/DisplayAndBehaviorsView.swift @@ -15,13 +15,7 @@ struct DisplayAndBehaviorsView: View { var body: some View { List { Section("Application") { - HStack { - appLightButton() - Spacer() - appDarkButton() - Spacer() - appAutomaticButton() - } + ColorPaletteSelectorView() .listRowBackground(Color.clear) } @@ -44,62 +38,7 @@ struct DisplayAndBehaviorsView: View { .tint(Color(uiColor: AppAssets.primaryAccentColor)) } - func appLightButton() -> some View { - VStack(spacing: 4) { - Image("app.appearance.light") - .resizable() - .aspectRatio(contentMode: .fit) - .frame(width: 40.0, height: 40.0) - Text("Always Light") - .font(.subheadline) - if AppDefaults.userInterfaceColorPalette == .light { - Image(systemName: "checkmark.circle.fill") - .foregroundColor(Color(uiColor: AppAssets.primaryAccentColor)) - } else { - Image(systemName: "circle") - } - }.onTapGesture { - AppDefaults.userInterfaceColorPalette = .light - } - } - func appDarkButton() -> some View { - VStack(spacing: 4) { - Image("app.appearance.dark") - .resizable() - .aspectRatio(contentMode: .fit) - .frame(width: 40.0, height: 40.0) - Text("Always Dark") - .font(.subheadline) - if AppDefaults.userInterfaceColorPalette == .dark { - Image(systemName: "checkmark.circle.fill") - .foregroundColor(Color(uiColor: AppAssets.primaryAccentColor)) - } else { - Image(systemName: "circle") - } - }.onTapGesture { - AppDefaults.userInterfaceColorPalette = .dark - } - } - - func appAutomaticButton() -> some View { - VStack(spacing: 4) { - Image("app.appearance.automatic") - .resizable() - .aspectRatio(contentMode: .fit) - .frame(width: 40.0, height: 40.0) - Text("Use System") - .font(.subheadline) - if AppDefaults.userInterfaceColorPalette == .automatic { - Image(systemName: "checkmark.circle.fill") - .foregroundColor(Color(uiColor: AppAssets.primaryAccentColor)) - } else { - Image(systemName: "circle") - } - }.onTapGesture { - AppDefaults.userInterfaceColorPalette = .automatic - } - } } diff --git a/iOS/Settings/Settings View/SettingsRows.swift b/iOS/Settings/Settings View/SettingsRows.swift index 266b74341..0be579199 100644 --- a/iOS/Settings/Settings View/SettingsRows.swift +++ b/iOS/Settings/Settings View/SettingsRows.swift @@ -211,7 +211,7 @@ struct SettingsViewRows { /// This row, when tapped, will push the New Article Notifications /// screen in to view. static var ConfigureAppearance: some View { - NavigationLink(destination: AppearanceManagementView()) { + NavigationLink(destination: DisplayAndBehaviorsView()) { Label { Text("Display & Behaviors") } icon: { From 08d46f877beb2e5320de3c980ce2891d83490079 Mon Sep 17 00:00:00 2001 From: Stuart Breckenridge Date: Mon, 14 Nov 2022 19:36:58 +0800 Subject: [PATCH 08/80] minor tweaks --- NetNewsWire.xcodeproj/project.pbxproj | 12 ++ .../AccountsManagementView.swift | 104 ++++++++++++++++++ iOS/Settings/Settings View/SettingsRows.swift | 2 +- iOS/Settings/Settings View/SettingsView.swift | 1 - 4 files changed, 117 insertions(+), 2 deletions(-) create mode 100644 iOS/Settings/Account Management View/AccountsManagementView.swift diff --git a/NetNewsWire.xcodeproj/project.pbxproj b/NetNewsWire.xcodeproj/project.pbxproj index 7bca6344f..6053df0c3 100644 --- a/NetNewsWire.xcodeproj/project.pbxproj +++ b/NetNewsWire.xcodeproj/project.pbxproj @@ -850,6 +850,7 @@ DDF9E1D828EDF2FC000BC355 /* notificationSoundBlip.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = DDF9E1D628EDF2FC000BC355 /* notificationSoundBlip.mp3 */; }; DDF9E1D928EDF2FC000BC355 /* notificationSoundBlip.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = DDF9E1D628EDF2FC000BC355 /* notificationSoundBlip.mp3 */; }; DF59F072292085B800ACD33D /* ColorPaletteSelectorView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF59F071292085B800ACD33D /* ColorPaletteSelectorView.swift */; }; + DF59F0742920DB5100ACD33D /* AccountsManagementView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF59F0732920DB5100ACD33D /* AccountsManagementView.swift */; }; DF5AD10128D6922200CA3BF7 /* SmartFeedSummaryWidget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1768144D2564BCE000D98635 /* SmartFeedSummaryWidget.swift */; }; DF790D6228E990A900455FC7 /* AboutData.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF790D6128E990A900455FC7 /* AboutData.swift */; }; DFC14F0F28EA55BD00F6EE86 /* AboutWindowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFC14F0E28EA55BD00F6EE86 /* AboutWindowController.swift */; }; @@ -1602,6 +1603,7 @@ DD82AB09231003F6002269DF /* SharingTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SharingTests.swift; sourceTree = ""; }; DDF9E1D628EDF2FC000BC355 /* notificationSoundBlip.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = notificationSoundBlip.mp3; sourceTree = ""; }; DF59F071292085B800ACD33D /* ColorPaletteSelectorView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ColorPaletteSelectorView.swift; sourceTree = ""; }; + DF59F0732920DB5100ACD33D /* AccountsManagementView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountsManagementView.swift; sourceTree = ""; }; DF790D6128E990A900455FC7 /* AboutData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AboutData.swift; sourceTree = ""; }; DFC14F0E28EA55BD00F6EE86 /* AboutWindowController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AboutWindowController.swift; sourceTree = ""; }; DFC14F1428EB177000F6EE86 /* AboutNetNewsWireView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AboutNetNewsWireView.swift; sourceTree = ""; }; @@ -2014,6 +2016,7 @@ 51A16990235E10D600EB091F /* Settings.storyboard */, DFD406F8291FB5D500C02962 /* Settings View */, DFD406FD291FDBD900C02962 /* Appearance View */, + DF59F0752920E42000ACD33D /* Account Management View */, 516A09382360A2AE00EAE89B /* SettingsComboTableViewCell.swift */, 516A091D23609A3600EAE89B /* SettingsComboTableViewCell.xib */, 516A093A2360A4A000EAE89B /* SettingsTableViewCell.xib */, @@ -2887,6 +2890,14 @@ path = Scriptability; sourceTree = ""; }; + DF59F0752920E42000ACD33D /* Account Management View */ = { + isa = PBXGroup; + children = ( + DF59F0732920DB5100ACD33D /* AccountsManagementView.swift */, + ); + path = "Account Management View"; + sourceTree = ""; + }; DFC14F0928EA51AB00F6EE86 /* About */ = { isa = PBXGroup; children = ( @@ -4206,6 +4217,7 @@ 51A169A0235E10D700EB091F /* FeedbinAccountViewController.swift in Sources */, 51934CCE2310792F006127BE /* ActivityManager.swift in Sources */, 5108F6B72375E612001ABC45 /* CacheCleaner.swift in Sources */, + DF59F0742920DB5100ACD33D /* AccountsManagementView.swift in Sources */, 518651DA235621840078E021 /* ImageTransition.swift in Sources */, 51C266EA238C334800F53014 /* ContextMenuPreviewViewController.swift in Sources */, 173A642C2547BE9600267F6E /* AccountType+Helpers.swift in Sources */, diff --git a/iOS/Settings/Account Management View/AccountsManagementView.swift b/iOS/Settings/Account Management View/AccountsManagementView.swift new file mode 100644 index 000000000..ea19c7d0a --- /dev/null +++ b/iOS/Settings/Account Management View/AccountsManagementView.swift @@ -0,0 +1,104 @@ +// +// AccountsManagementView.swift +// NetNewsWire-iOS +// +// Created by Stuart Breckenridge on 13/11/2022. +// Copyright © 2022 Ranchero Software. All rights reserved. +// + +import SwiftUI +import Account +import Combine + +struct AccountsManagementView: View { + + @State private var showAddAccountSheet: Bool = false + var cancellables = Set() + @State private var updated: Bool = false + + + var body: some View { + List { + ForEach(AccountManager.shared.sortedActiveAccounts, id: \.accountID) { account in + Section(footer: accountFooterText(account)) { + accountRow(account) + } + } + + Section(header: Text("Inactive Accounts"), footer: inactiveFooterText) { + ForEach(0.. some View { + if account.type == .cloudKit { + return Text("iCloud Syncing Limitations & Solutions") + } else { + return Text("") + } + } + + func accountRow(_ account: Account) -> some View { + Group { + HStack { + Image(uiImage: account.smallIcon!.image) + .resizable() + .frame(width: 25, height: 25) + TextField(text: Binding(get: { account.nameForDisplay }, set: { account.name = $0 })) { + Text(account.nameForDisplay) + }.foregroundColor(.secondary) + } + Toggle(isOn: Binding( + get: { account.isActive }, + set: { account.isActive = $0 } + )) { + Text("Active") + } + } + } + + var inactiveFooterText: some View { + if AccountManager.shared.sortedAccounts.filter({ $0.isActive == false }).count == 0 { + return Text("There are no inactive accounts.") + } else { + return Text("") + } + } + +} + +struct AddAccountView_Previews: PreviewProvider { + static var previews: some View { + AccountsManagementView() + } +} diff --git a/iOS/Settings/Settings View/SettingsRows.swift b/iOS/Settings/Settings View/SettingsRows.swift index 0be579199..b26597be5 100644 --- a/iOS/Settings/Settings View/SettingsRows.swift +++ b/iOS/Settings/Settings View/SettingsRows.swift @@ -72,7 +72,7 @@ struct SettingsViewRows { /// This row, when tapped, will push the the Add Account screen /// in to view. static var AddAccount: some View { - NavigationLink(destination: AddAccountViewControllerRepresentable().edgesIgnoringSafeArea(.all)) { + NavigationLink(destination: AccountsManagementView()) { Label { Text("Manage Accounts") } icon: { diff --git a/iOS/Settings/Settings View/SettingsView.swift b/iOS/Settings/Settings View/SettingsView.swift index b53249b3f..97e1a0c4a 100644 --- a/iOS/Settings/Settings View/SettingsView.swift +++ b/iOS/Settings/Settings View/SettingsView.swift @@ -41,7 +41,6 @@ struct SettingsView: View { SettingsViewRows.ShowHelpSheet(sheet: HelpSheet.allCases[i], selectedSheet: $helpSheet, $showHelpSheet) } SettingsViewRows.AboutNetNewsWire - } } .tint(Color(uiColor: AppAssets.primaryAccentColor)) From 36fa87b8c46bc4a0e2747302e5f0bfe0e3c05760 Mon Sep 17 00:00:00 2001 From: Stuart Breckenridge Date: Tue, 29 Nov 2022 19:12:44 +0800 Subject: [PATCH 09/80] More Options Added to Settings --- NetNewsWire.xcodeproj/project.pbxproj | 36 +++++-- Shared/Importers/OPMLDocument.swift | 42 ++++++++ .../Settings/app.opml.imageset/Contents.json | 12 +++ .../Settings/app.opml.imageset/app.opml.pdf | Bin 0 -> 5245 bytes .../AccountsManagementView.swift | 49 ++++++---- .../ColorPaletteSelectorView.swift | 0 .../DisplayAndBehaviorsView.swift | 1 + .../NewArticleNotificationsView.swift | 60 ++++++++++++ .../Settings View/SettingsHelpSheets.swift | 47 ++------- iOS/Settings/Settings View/SettingsRows.swift | 81 +++++++++++----- iOS/Settings/Settings View/SettingsView.swift | 90 +++++++++++++++--- .../Settings View/SettingsViewModel.swift | 33 +++++++ 12 files changed, 346 insertions(+), 105 deletions(-) create mode 100644 Shared/Importers/OPMLDocument.swift create mode 100644 iOS/Resources/Assets.xcassets/Settings/app.opml.imageset/Contents.json create mode 100644 iOS/Resources/Assets.xcassets/Settings/app.opml.imageset/app.opml.pdf rename iOS/Settings/{Account Management View => Account Management Views}/AccountsManagementView.swift (74%) rename iOS/Settings/{Appearance View => Appearance Views}/ColorPaletteSelectorView.swift (100%) rename iOS/Settings/{Appearance View => Appearance Views}/DisplayAndBehaviorsView.swift (95%) create mode 100644 iOS/Settings/New Article Notifications Views/NewArticleNotificationsView.swift create mode 100644 iOS/Settings/Settings View/SettingsViewModel.swift diff --git a/NetNewsWire.xcodeproj/project.pbxproj b/NetNewsWire.xcodeproj/project.pbxproj index 6053df0c3..f729266ac 100644 --- a/NetNewsWire.xcodeproj/project.pbxproj +++ b/NetNewsWire.xcodeproj/project.pbxproj @@ -849,6 +849,11 @@ DDF9E1D728EDF2FC000BC355 /* notificationSoundBlip.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = DDF9E1D628EDF2FC000BC355 /* notificationSoundBlip.mp3 */; }; DDF9E1D828EDF2FC000BC355 /* notificationSoundBlip.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = DDF9E1D628EDF2FC000BC355 /* notificationSoundBlip.mp3 */; }; DDF9E1D928EDF2FC000BC355 /* notificationSoundBlip.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = DDF9E1D628EDF2FC000BC355 /* notificationSoundBlip.mp3 */; }; + DF3630EB2936183D00326FB8 /* OPMLDocument.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF3630EA2936183D00326FB8 /* OPMLDocument.swift */; }; + DF3630EC2936183D00326FB8 /* OPMLDocument.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF3630EA2936183D00326FB8 /* OPMLDocument.swift */; }; + DF3630ED2936183D00326FB8 /* OPMLDocument.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF3630EA2936183D00326FB8 /* OPMLDocument.swift */; }; + DF3630EF293618A900326FB8 /* SettingsViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF3630EE293618A900326FB8 /* SettingsViewModel.swift */; }; + DF394F0029357A180081EB6E /* NewArticleNotificationsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF394EFF29357A180081EB6E /* NewArticleNotificationsView.swift */; }; DF59F072292085B800ACD33D /* ColorPaletteSelectorView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF59F071292085B800ACD33D /* ColorPaletteSelectorView.swift */; }; DF59F0742920DB5100ACD33D /* AccountsManagementView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF59F0732920DB5100ACD33D /* AccountsManagementView.swift */; }; DF5AD10128D6922200CA3BF7 /* SmartFeedSummaryWidget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1768144D2564BCE000D98635 /* SmartFeedSummaryWidget.swift */; }; @@ -1602,6 +1607,9 @@ D5F4EDB820074D7C00B9E363 /* Folder+Scriptability.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Folder+Scriptability.swift"; sourceTree = ""; }; DD82AB09231003F6002269DF /* SharingTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SharingTests.swift; sourceTree = ""; }; DDF9E1D628EDF2FC000BC355 /* notificationSoundBlip.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = notificationSoundBlip.mp3; sourceTree = ""; }; + DF3630EA2936183D00326FB8 /* OPMLDocument.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OPMLDocument.swift; sourceTree = ""; }; + DF3630EE293618A900326FB8 /* SettingsViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsViewModel.swift; sourceTree = ""; }; + DF394EFF29357A180081EB6E /* NewArticleNotificationsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NewArticleNotificationsView.swift; sourceTree = ""; }; DF59F071292085B800ACD33D /* ColorPaletteSelectorView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ColorPaletteSelectorView.swift; sourceTree = ""; }; DF59F0732920DB5100ACD33D /* AccountsManagementView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountsManagementView.swift; sourceTree = ""; }; DF790D6128E990A900455FC7 /* AboutData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AboutData.swift; sourceTree = ""; }; @@ -2015,8 +2023,9 @@ 519ED47924482AEB007F8E94 /* EnableExtensionPointViewController.swift */, 51A16990235E10D600EB091F /* Settings.storyboard */, DFD406F8291FB5D500C02962 /* Settings View */, - DFD406FD291FDBD900C02962 /* Appearance View */, - DF59F0752920E42000ACD33D /* Account Management View */, + DFD406FD291FDBD900C02962 /* Appearance Views */, + DF59F0752920E42000ACD33D /* Account Management Views */, + DF3630E92936038400326FB8 /* New Article Notifications Views */, 516A09382360A2AE00EAE89B /* SettingsComboTableViewCell.swift */, 516A091D23609A3600EAE89B /* SettingsComboTableViewCell.xib */, 516A093A2360A4A000EAE89B /* SettingsTableViewCell.xib */, @@ -2775,6 +2784,7 @@ children = ( 849A97591ED9EB0D007D329B /* DefaultFeedsImporter.swift */, 84A3EE52223B667F00557320 /* DefaultFeeds.opml */, + DF3630EA2936183D00326FB8 /* OPMLDocument.swift */, ); path = Importers; sourceTree = ""; @@ -2890,12 +2900,20 @@ path = Scriptability; sourceTree = ""; }; - DF59F0752920E42000ACD33D /* Account Management View */ = { + DF3630E92936038400326FB8 /* New Article Notifications Views */ = { + isa = PBXGroup; + children = ( + DF394EFF29357A180081EB6E /* NewArticleNotificationsView.swift */, + ); + path = "New Article Notifications Views"; + sourceTree = ""; + }; + DF59F0752920E42000ACD33D /* Account Management Views */ = { isa = PBXGroup; children = ( DF59F0732920DB5100ACD33D /* AccountsManagementView.swift */, ); - path = "Account Management View"; + path = "Account Management Views"; sourceTree = ""; }; DFC14F0928EA51AB00F6EE86 /* About */ = { @@ -2912,19 +2930,20 @@ isa = PBXGroup; children = ( DFD406F4291F79C900C02962 /* SettingsView.swift */, + DF3630EE293618A900326FB8 /* SettingsViewModel.swift */, DFD406F9291FB5E400C02962 /* SettingsRows.swift */, DFD406FB291FB63B00C02962 /* SettingsHelpSheets.swift */, ); path = "Settings View"; sourceTree = ""; }; - DFD406FD291FDBD900C02962 /* Appearance View */ = { + DFD406FD291FDBD900C02962 /* Appearance Views */ = { isa = PBXGroup; children = ( DFD406FE291FDC0C00C02962 /* DisplayAndBehaviorsView.swift */, DF59F071292085B800ACD33D /* ColorPaletteSelectorView.swift */, ); - path = "Appearance View"; + path = "Appearance Views"; sourceTree = ""; }; /* End PBXGroup section */ @@ -3892,6 +3911,7 @@ 65ED3FBD235DEF6C0081F399 /* AppDefaults.swift in Sources */, 65ED3FBE235DEF6C0081F399 /* Account+Scriptability.swift in Sources */, 65ED3FBF235DEF6C0081F399 /* NothingInspectorViewController.swift in Sources */, + DF3630EC2936183D00326FB8 /* OPMLDocument.swift in Sources */, 1710B92A255246F900679C0D /* EnableExtensionPointHelpView.swift in Sources */, 51927A0528E28D1C000AE856 /* MainWindow.swift in Sources */, 65ED3FC0235DEF6C0081F399 /* AppNotifications.swift in Sources */, @@ -4110,6 +4130,7 @@ 51C452A522650A2D00C03939 /* SmallIconProvider.swift in Sources */, 51AB8AB323B7F4C6008F147D /* WebViewController.swift in Sources */, DFD406F7291FB1A600C02962 /* SafariView.swift in Sources */, + DF3630ED2936183D00326FB8 /* OPMLDocument.swift in Sources */, 516A09392360A2AE00EAE89B /* SettingsComboTableViewCell.swift in Sources */, 176813D22564BA5900D98635 /* WidgetDataEncoder.swift in Sources */, 51D5948722668EFA00DFC836 /* MarkStatusCommand.swift in Sources */, @@ -4140,6 +4161,7 @@ DF790D6228E990A900455FC7 /* AboutData.swift in Sources */, 177A0C2D25454AAB00D7EAF6 /* ReaderAPIAccountViewController.swift in Sources */, 51C452A622650A3500C03939 /* Node-Extensions.swift in Sources */, + DF394F0029357A180081EB6E /* NewArticleNotificationsView.swift in Sources */, 51C45294226509C800C03939 /* SearchFeedDelegate.swift in Sources */, 5F323809231DF9F000706F6B /* VibrantTableViewCell.swift in Sources */, 51FE10042345529D0056195D /* UserNotificationManager.swift in Sources */, @@ -4212,6 +4234,7 @@ 51C452762265091600C03939 /* MasterTimelineViewController.swift in Sources */, 5195C1DC2720BD3000888867 /* MasterFeedRowIdentifier.swift in Sources */, 5108F6D823763094001ABC45 /* TickMarkSlider.swift in Sources */, + DF3630EF293618A900326FB8 /* SettingsViewModel.swift in Sources */, 51C452882265093600C03939 /* AddFeedViewController.swift in Sources */, 51B5C8C023F3866C00032075 /* ExtensionFeedAddRequestFile.swift in Sources */, 51A169A0235E10D700EB091F /* FeedbinAccountViewController.swift in Sources */, @@ -4414,6 +4437,7 @@ 51FA73A72332BE880090D516 /* ExtractedArticle.swift in Sources */, 84B99C9D1FAE83C600ECDEDB /* DeleteCommand.swift in Sources */, 849A97541ED9EAC0007D329B /* AddWebFeedWindowController.swift in Sources */, + DF3630EB2936183D00326FB8 /* OPMLDocument.swift in Sources */, 5144EA40227A37EC00D19003 /* ImportOPMLWindowController.swift in Sources */, 178A9F9D2549449F00AB7E9D /* AddAccountsView.swift in Sources */, 51C4CFF024D37D1F00AF9874 /* Secrets.swift in Sources */, diff --git a/Shared/Importers/OPMLDocument.swift b/Shared/Importers/OPMLDocument.swift new file mode 100644 index 000000000..a304d9fa5 --- /dev/null +++ b/Shared/Importers/OPMLDocument.swift @@ -0,0 +1,42 @@ +// +// OPMLDocument.swift +// NetNewsWire +// +// Created by Stuart Breckenridge on 29/11/2022. +// Copyright © 2022 Ranchero Software. All rights reserved. +// + +import SwiftUI +import Account +import UniformTypeIdentifiers + +public struct OPMLDocument: FileDocument { + + public var account: Account! + + public static var readableContentTypes: [UTType] { + UTType.types(tag: "opml", tagClass: .filenameExtension, conformingTo: nil) + } + + public static var writableContentTypes: [UTType] { + UTType.types(tag: "opml", tagClass: .filenameExtension, conformingTo: nil) + } + + public init(configuration: ReadConfiguration) throws { + + } + + public init(_ account: Account) throws { + self.account = account + } + + public func fileWrapper(configuration: WriteConfiguration) throws -> FileWrapper { + let accountName = account.nameForDisplay.replacingOccurrences(of: " ", with: "").trimmingCharacters(in: .whitespaces) + let filename = "Subscriptions-\(accountName).opml" + let tempFile = FileManager.default.temporaryDirectory.appendingPathComponent(filename) + let opmlString = OPMLExporter.OPMLString(with: account, title: filename) + try opmlString.write(to: tempFile, atomically: true, encoding: String.Encoding.utf8) + let wrapper = try FileWrapper(url: tempFile) + return wrapper + } +} diff --git a/iOS/Resources/Assets.xcassets/Settings/app.opml.imageset/Contents.json b/iOS/Resources/Assets.xcassets/Settings/app.opml.imageset/Contents.json new file mode 100644 index 000000000..bcca90bba --- /dev/null +++ b/iOS/Resources/Assets.xcassets/Settings/app.opml.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "app.opml.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/iOS/Resources/Assets.xcassets/Settings/app.opml.imageset/app.opml.pdf b/iOS/Resources/Assets.xcassets/Settings/app.opml.imageset/app.opml.pdf new file mode 100644 index 0000000000000000000000000000000000000000..edcb0a6b9e6e46d1b7b1d0fb226ea4995d22af5f GIT binary patch literal 5245 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 literal 0 HcmV?d00001 diff --git a/iOS/Settings/Account Management View/AccountsManagementView.swift b/iOS/Settings/Account Management Views/AccountsManagementView.swift similarity index 74% rename from iOS/Settings/Account Management View/AccountsManagementView.swift rename to iOS/Settings/Account Management Views/AccountsManagementView.swift index ea19c7d0a..f46d12f49 100644 --- a/iOS/Settings/Account Management View/AccountsManagementView.swift +++ b/iOS/Settings/Account Management Views/AccountsManagementView.swift @@ -14,22 +14,15 @@ struct AccountsManagementView: View { @State private var showAddAccountSheet: Bool = false var cancellables = Set() - @State private var updated: Bool = false - + @State private var sortedAccounts = [Account]() var body: some View { List { - ForEach(AccountManager.shared.sortedActiveAccounts, id: \.accountID) { account in - Section(footer: accountFooterText(account)) { + ForEach(sortedAccounts, id: \.self) { account in + Section(header: Text("")) { accountRow(account) } } - - Section(header: Text("Inactive Accounts"), footer: inactiveFooterText) { - ForEach(0.. some View { - Group { + VStack(alignment: .leading) { HStack { Image(uiImage: account.smallIcon!.image) .resizable() @@ -77,14 +74,32 @@ struct AccountsManagementView: View { TextField(text: Binding(get: { account.nameForDisplay }, set: { account.name = $0 })) { Text(account.nameForDisplay) }.foregroundColor(.secondary) + Spacer() + Toggle(isOn: Binding( + get: { account.isActive }, + set: { account.isActive = $0 } + )) { + Text("") + } } - Toggle(isOn: Binding( - get: { account.isActive }, - set: { account.isActive = $0 } - )) { - Text("Active") + if account.type != .onMyMac { + Divider() + .edgesIgnoringSafeArea(.all) + HStack { + Spacer() + Button { + // Remove account + } label: { + Text("Remove Account") + .foregroundColor(.red) + .bold() + } + + Spacer() + } } } + } var inactiveFooterText: some View { diff --git a/iOS/Settings/Appearance View/ColorPaletteSelectorView.swift b/iOS/Settings/Appearance Views/ColorPaletteSelectorView.swift similarity index 100% rename from iOS/Settings/Appearance View/ColorPaletteSelectorView.swift rename to iOS/Settings/Appearance Views/ColorPaletteSelectorView.swift diff --git a/iOS/Settings/Appearance View/DisplayAndBehaviorsView.swift b/iOS/Settings/Appearance Views/DisplayAndBehaviorsView.swift similarity index 95% rename from iOS/Settings/Appearance View/DisplayAndBehaviorsView.swift rename to iOS/Settings/Appearance Views/DisplayAndBehaviorsView.swift index 53d65716b..365db386a 100644 --- a/iOS/Settings/Appearance View/DisplayAndBehaviorsView.swift +++ b/iOS/Settings/Appearance Views/DisplayAndBehaviorsView.swift @@ -32,6 +32,7 @@ struct DisplayAndBehaviorsView: View { get: { !appDefaults.useSystemBrowser }, set: { appDefaults.useSystemBrowser = !$0 } )) + // TODO: Add Reader Mode Defaults here. See #3684. } } .navigationTitle(Text("Display & Behaviors")) diff --git a/iOS/Settings/New Article Notifications Views/NewArticleNotificationsView.swift b/iOS/Settings/New Article Notifications Views/NewArticleNotificationsView.swift new file mode 100644 index 000000000..13b68b9f8 --- /dev/null +++ b/iOS/Settings/New Article Notifications Views/NewArticleNotificationsView.swift @@ -0,0 +1,60 @@ +// +// NewArticleNotificationsView.swift +// NetNewsWire-iOS +// +// Created by Stuart Breckenridge on 29/11/2022. +// Copyright © 2022 Ranchero Software. All rights reserved. +// + +import SwiftUI +import Account +import RSCore + +struct NewArticleNotificationsView: View { + + @State private var activeAccounts = AccountManager.shared.sortedActiveAccounts + + var body: some View { + List { + ForEach(activeAccounts, id: \.accountID) { account in + Section(header: Text(account.nameForDisplay)) { + ForEach(sortedWebFeedsForAccount(account), id: \.webFeedID) { feed in + notificationToggle(feed) + } + } + } + .navigationTitle(Text("New Article Notifications")) + .navigationBarTitleDisplayMode(.inline) + .onReceive(NotificationCenter.default.publisher(for: .WebFeedIconDidBecomeAvailable)) { _ in + activeAccounts = AccountManager.shared.sortedActiveAccounts + } + } + } + + + private func sortedWebFeedsForAccount(_ account: Account) -> [WebFeed] { + return Array(account.flattenedWebFeeds()).sorted(by: { $0.nameForDisplay.caseInsensitiveCompare($1.nameForDisplay) == .orderedAscending }) + } + + private func notificationToggle(_ webfeed: WebFeed) -> some View { + HStack { + Image(uiImage: IconImageCache.shared.imageFor(webfeed.feedID!)!.image) + .resizable() + .frame(width: 25, height: 25) + .cornerRadius(4) + + Text(webfeed.nameForDisplay) + Spacer() + Toggle("", isOn: Binding( + get: { webfeed.isNotifyAboutNewArticles ?? false }, + set: { webfeed.isNotifyAboutNewArticles = $0 })) + } + + } +} + +struct NewArticleNotificationsView_Previews: PreviewProvider { + static var previews: some View { + NewArticleNotificationsView() + } +} diff --git a/iOS/Settings/Settings View/SettingsHelpSheets.swift b/iOS/Settings/Settings View/SettingsHelpSheets.swift index 8fbda4166..726961149 100644 --- a/iOS/Settings/Settings View/SettingsHelpSheets.swift +++ b/iOS/Settings/Settings View/SettingsHelpSheets.swift @@ -8,70 +8,35 @@ import Foundation -enum HelpSheet: CustomStringConvertible, CaseIterable { + +public enum HelpSheet: CustomStringConvertible, CaseIterable { - case help, website, releaseNotes, howToSupport, gitHubRepository, bugTracker, technotes, slack + case help, website - var description: String { + public var description: String { switch self { case .help: return NSLocalizedString("NetNewsWire Help", comment: "NetNewsWire Help") case .website: return NSLocalizedString("Website", comment: "Website") - case .releaseNotes: - return NSLocalizedString("Release Notes", comment: "Release Notes") - case .howToSupport: - return NSLocalizedString("How to Support NetNewsWire", comment: "How to Support") - case .gitHubRepository: - return NSLocalizedString("GitHub Respository", comment: "Github") - case .bugTracker: - return NSLocalizedString("Bug Tracker", comment: "Bug Tracker") - case .technotes: - return NSLocalizedString("Technotes", comment: "Technotes") - case .slack: - return NSLocalizedString("Slack", comment: "Slack") } } - var url: URL { + public var url: URL { switch self { case .help: return URL(string: "https://netnewswire.com/help/ios/6.1/en/")! case .website: return URL(string: "https://netnewswire.com/")! - case .releaseNotes: - return URL(string: URL.releaseNotes.absoluteString)! - case .howToSupport: - return URL(string: "https://github.com/brentsimmons/NetNewsWire/blob/main/Technotes/HowToSupportNetNewsWire.markdown")! - case .gitHubRepository: - return URL(string: "https://github.com/brentsimmons/NetNewsWire")! - case .bugTracker: - return URL(string: "https://github.com/brentsimmons/NetNewsWire/issues")! - case .technotes: - return URL(string: "https://github.com/brentsimmons/NetNewsWire/tree/main/Technotes")! - case .slack: - return URL(string: "https://netnewswire.com/slack")! } } - var systemImage: String { + public var systemImage: String { switch self { case .help: return "questionmark.app" case .website: return "globe" - case .releaseNotes: - return "quote.opening" - case .howToSupport: - return "person.3.fill" - case .gitHubRepository: - return "archivebox" - case .bugTracker: - return "ladybug" - case .technotes: - return "chevron.left.slash.chevron.right" - case .slack: - return "quote.bubble.fill" } } } diff --git a/iOS/Settings/Settings View/SettingsRows.swift b/iOS/Settings/Settings View/SettingsRows.swift index b26597be5..bbf2a8a11 100644 --- a/iOS/Settings/Settings View/SettingsRows.swift +++ b/iOS/Settings/Settings View/SettingsRows.swift @@ -8,6 +8,10 @@ import SwiftUI import Account +import UniformTypeIdentifiers + + + // MARK: - Headers @@ -57,9 +61,9 @@ struct SettingsViewRows { /// This row, when tapped, will push the New Article Notifications /// screen in to view. static var ConfigureNewArticleNotifications: some View { - NavigationLink(destination: NotificationsViewControllerRepresentable().edgesIgnoringSafeArea(.all)) { + NavigationLink(destination: NewArticleNotificationsView()) { Label { - Text("Notifications and Sounds") + Text("New Article Notifications") } icon: { Image("notifications.sounds") .resizable() @@ -115,29 +119,47 @@ struct SettingsViewRows { } } - /// This row, when tapped, will push the the Import subscriptions screen - /// in to view. - static var ImportSubscription: some View { - Label { - Text("Import Subscriptions") - } icon: { - Image(systemName: "square.and.arrow.down") - .resizable() - .aspectRatio(contentMode: .fit) - .frame(width: 25.0, height: 25.0) - } - } - - /// This row, when tapped, will push the the Export subscriptions screen - /// in to view. - static var ExportSubscription: some View { - Label { - Text("Export Subscriptions") - } icon: { - Image(systemName: "square.and.arrow.up") - .resizable() - .aspectRatio(contentMode: .fit) - .frame(width: 25.0, height: 25.0) + /// This row, when tapped, will present an Import/Export + /// menu. + static func ImportExportOPML(showImportView: Binding, showExportView: Binding, importAccount: Binding, exportDocument: Binding) -> some View { + Menu { + Menu { + ForEach(AccountManager.shared.sortedActiveAccounts, id: \.self) { account in + Button(account.nameForDisplay) { + importAccount.wrappedValue = account + showImportView.wrappedValue = true + } + } + } label: { + Label("Import Subscriptions To...", systemImage: "arrow.down.doc") + } + Divider() + Menu { + ForEach(AccountManager.shared.sortedAccounts, id: \.self) { account in + Button(account.nameForDisplay) { + do { + let document = try OPMLDocument(account) + exportDocument.wrappedValue = document + showExportView.wrappedValue = true + } catch { + print(error.localizedDescription) + } + } + } + } label: { + Label("Export Subscriptions From...", systemImage: "arrow.up.doc") + } + } label: { + Label { + Text("Import/Export Subscriptions") + .foregroundColor(.primary) + + } icon: { + Image("app.opml") + .resizable() + .frame(width: 25.0, height: 25.0) + .clipShape(RoundedRectangle(cornerRadius: 6)) + } } } @@ -197,6 +219,8 @@ struct SettingsViewRows { Toggle("Open Links in NetNewsWire", isOn: preference) } + // TODO: Add Reader Mode Defaults here. See #3684. + static func EnableFullScreenArticles(_ preference: Binding) -> some View { Toggle(isOn: preference) { VStack(alignment: .leading, spacing: 4) { @@ -253,7 +277,12 @@ struct SettingsViewRows { Label { Text("About NetNewsWire") } icon: { - Image(systemName: "questionmark.square.dashed") + Image(systemName: "info.circle") + .resizable() + .renderingMode(.template) + .foregroundColor(Color(uiColor: .tertiaryLabel)) + .aspectRatio(contentMode: .fit) + .frame(width: 25.0, height: 25.0) } } } diff --git a/iOS/Settings/Settings View/SettingsView.swift b/iOS/Settings/Settings View/SettingsView.swift index 97e1a0c4a..b1639a85c 100644 --- a/iOS/Settings/Settings View/SettingsView.swift +++ b/iOS/Settings/Settings View/SettingsView.swift @@ -8,37 +8,42 @@ import SwiftUI import Account +import UniformTypeIdentifiers +import UserNotifications struct SettingsView: View { @StateObject private var appDefaults = AppDefaults.shared - @State private var showAddAccountView: Bool = false - @State private var helpSheet: HelpSheet = .help - @State private var showHelpSheet: Bool = false - @State private var showAbout: Bool = false + @StateObject private var viewModel = SettingsViewModel() var body: some View { NavigationView { List { - // System Settings - Section(footer: Text("Configure NetNewsWire's access to Siri, background app refresh, mobile data, and more.")) { + // Device Permissions + Section(header: Text("Device Permissions"), footer: Text("Configure NetNewsWire's access to Siri, background app refresh, mobile data, and more.")) { SettingsViewRows.OpenSystemSettings } - Section(footer: Text("Add, delete, enable or disable accounts and extensions.")) { + // Account/Extensions/OPML Management + Section(header: Text("Accounts & Extensions"), footer: Text("Add, delete, enable, or disable accounts and extensions.")) { SettingsViewRows.AddAccount SettingsViewRows.AddExtension + SettingsViewRows.ImportExportOPML(showImportView: $viewModel.showImportView, showExportView: $viewModel.showExportView, importAccount: $viewModel.importAccount, exportDocument: $viewModel.exportDocument) } - Section(footer: Text("Configure the look, feel, and behavior of NetNewsWire.")) { + // Appearance + Section(header: Text("Appearance"), footer: Text("Manage the look, feel, and behavior of NetNewsWire.")) { SettingsViewRows.ConfigureAppearance - SettingsViewRows.ConfigureNewArticleNotifications + if viewModel.notificationPermissions == .authorized { + SettingsViewRows.ConfigureNewArticleNotifications + } } - + + // Help Section { ForEach(0.. Date: Wed, 30 Nov 2022 21:37:39 +0800 Subject: [PATCH 10/80] More settings work --- NetNewsWire.xcodeproj/project.pbxproj | 54 +++++--- .../ExtensionPointManager.swift | 2 +- .../AccountInspectorViewController.swift | 20 +++ .../ExtensionInspectorViewController.swift | 21 ++++ .../AccountsManagementView.swift | 119 ------------------ .../EnableExtensionPointViewController.swift | 19 +++ iOS/Settings/Settings.storyboard | 6 +- .../AccountsManagementView.swift | 106 ++++++++++++++++ .../ExtensionsManagementView.swift | 59 +++++++++ .../ColorPaletteSelectorView.swift | 0 .../Appearance}/DisplayAndBehaviorsView.swift | 0 .../General}/SettingsRows.swift | 54 +------- .../General}/SettingsView.swift | 2 +- .../General}/SettingsViewModel.swift | 1 - iOS/Settings/{ => Views/Help}/AboutView.swift | 0 .../Help}/SettingsHelpSheets.swift | 2 +- .../NewArticleNotificationsView.swift | 1 + 17 files changed, 275 insertions(+), 191 deletions(-) delete mode 100644 iOS/Settings/Account Management Views/AccountsManagementView.swift create mode 100644 iOS/Settings/Views/Account and Extensions/AccountsManagementView.swift create mode 100644 iOS/Settings/Views/Account and Extensions/ExtensionsManagementView.swift rename iOS/Settings/{Appearance Views => Views/Appearance}/ColorPaletteSelectorView.swift (100%) rename iOS/Settings/{Appearance Views => Views/Appearance}/DisplayAndBehaviorsView.swift (100%) rename iOS/Settings/{Settings View => Views/General}/SettingsRows.swift (85%) rename iOS/Settings/{Settings View => Views/General}/SettingsView.swift (99%) rename iOS/Settings/{Settings View => Views/General}/SettingsViewModel.swift (99%) rename iOS/Settings/{ => Views/Help}/AboutView.swift (100%) rename iOS/Settings/{Settings View => Views/Help}/SettingsHelpSheets.swift (90%) rename iOS/Settings/{New Article Notifications Views => Views/New Article Notifications}/NewArticleNotificationsView.swift (96%) diff --git a/NetNewsWire.xcodeproj/project.pbxproj b/NetNewsWire.xcodeproj/project.pbxproj index f729266ac..ee4d676ea 100644 --- a/NetNewsWire.xcodeproj/project.pbxproj +++ b/NetNewsWire.xcodeproj/project.pbxproj @@ -857,6 +857,7 @@ DF59F072292085B800ACD33D /* ColorPaletteSelectorView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF59F071292085B800ACD33D /* ColorPaletteSelectorView.swift */; }; DF59F0742920DB5100ACD33D /* AccountsManagementView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF59F0732920DB5100ACD33D /* AccountsManagementView.swift */; }; DF5AD10128D6922200CA3BF7 /* SmartFeedSummaryWidget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1768144D2564BCE000D98635 /* SmartFeedSummaryWidget.swift */; }; + DF766FED29377FD9006FBBE2 /* ExtensionsManagementView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF766FEC29377FD9006FBBE2 /* ExtensionsManagementView.swift */; }; DF790D6228E990A900455FC7 /* AboutData.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF790D6128E990A900455FC7 /* AboutData.swift */; }; DFC14F0F28EA55BD00F6EE86 /* AboutWindowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFC14F0E28EA55BD00F6EE86 /* AboutWindowController.swift */; }; DFC14F1228EA5DC500F6EE86 /* AboutData.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF790D6128E990A900455FC7 /* AboutData.swift */; }; @@ -1612,6 +1613,7 @@ DF394EFF29357A180081EB6E /* NewArticleNotificationsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NewArticleNotificationsView.swift; sourceTree = ""; }; DF59F071292085B800ACD33D /* ColorPaletteSelectorView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ColorPaletteSelectorView.swift; sourceTree = ""; }; DF59F0732920DB5100ACD33D /* AccountsManagementView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountsManagementView.swift; sourceTree = ""; }; + DF766FEC29377FD9006FBBE2 /* ExtensionsManagementView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ExtensionsManagementView.swift; sourceTree = ""; }; DF790D6128E990A900455FC7 /* AboutData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AboutData.swift; sourceTree = ""; }; DFC14F0E28EA55BD00F6EE86 /* AboutWindowController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AboutWindowController.swift; sourceTree = ""; }; DFC14F1428EB177000F6EE86 /* AboutNetNewsWireView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AboutNetNewsWireView.swift; sourceTree = ""; }; @@ -2014,7 +2016,7 @@ 5183CCEB227117C70010922C /* Settings */ = { isa = PBXGroup; children = ( - DFFC4E7328E95C01006B82AF /* AboutView.swift */, + DFD406F8291FB5D500C02962 /* Views */, 51A16992235E10D600EB091F /* AddAccountViewController.swift */, 519ED455244828C3007F8E94 /* AddExtensionPointViewController.swift */, 5137C2E926F63AE6009EFEDB /* ArticleThemeImporter.swift */, @@ -2022,10 +2024,6 @@ 516244E2241E19F000B61C47 /* ColorPaletteTableViewController.swift */, 519ED47924482AEB007F8E94 /* EnableExtensionPointViewController.swift */, 51A16990235E10D600EB091F /* Settings.storyboard */, - DFD406F8291FB5D500C02962 /* Settings View */, - DFD406FD291FDBD900C02962 /* Appearance Views */, - DF59F0752920E42000ACD33D /* Account Management Views */, - DF3630E92936038400326FB8 /* New Article Notifications Views */, 516A09382360A2AE00EAE89B /* SettingsComboTableViewCell.swift */, 516A091D23609A3600EAE89B /* SettingsComboTableViewCell.xib */, 516A093A2360A4A000EAE89B /* SettingsTableViewCell.xib */, @@ -2900,20 +2898,40 @@ path = Scriptability; sourceTree = ""; }; - DF3630E92936038400326FB8 /* New Article Notifications Views */ = { + DF3630E92936038400326FB8 /* New Article Notifications */ = { isa = PBXGroup; children = ( DF394EFF29357A180081EB6E /* NewArticleNotificationsView.swift */, ); - path = "New Article Notifications Views"; + path = "New Article Notifications"; sourceTree = ""; }; - DF59F0752920E42000ACD33D /* Account Management Views */ = { + DF59F0752920E42000ACD33D /* Account and Extensions */ = { isa = PBXGroup; children = ( DF59F0732920DB5100ACD33D /* AccountsManagementView.swift */, + DF766FEC29377FD9006FBBE2 /* ExtensionsManagementView.swift */, ); - path = "Account Management Views"; + path = "Account and Extensions"; + sourceTree = ""; + }; + DF766FEA2936337A006FBBE2 /* Help */ = { + isa = PBXGroup; + children = ( + DFFC4E7328E95C01006B82AF /* AboutView.swift */, + DFD406FB291FB63B00C02962 /* SettingsHelpSheets.swift */, + ); + path = Help; + sourceTree = ""; + }; + DF766FEB2936344D006FBBE2 /* General */ = { + isa = PBXGroup; + children = ( + DFD406F4291F79C900C02962 /* SettingsView.swift */, + DF3630EE293618A900326FB8 /* SettingsViewModel.swift */, + DFD406F9291FB5E400C02962 /* SettingsRows.swift */, + ); + path = General; sourceTree = ""; }; DFC14F0928EA51AB00F6EE86 /* About */ = { @@ -2926,24 +2944,25 @@ path = About; sourceTree = ""; }; - DFD406F8291FB5D500C02962 /* Settings View */ = { + DFD406F8291FB5D500C02962 /* Views */ = { isa = PBXGroup; children = ( - DFD406F4291F79C900C02962 /* SettingsView.swift */, - DF3630EE293618A900326FB8 /* SettingsViewModel.swift */, - DFD406F9291FB5E400C02962 /* SettingsRows.swift */, - DFD406FB291FB63B00C02962 /* SettingsHelpSheets.swift */, + DF766FEB2936344D006FBBE2 /* General */, + DFD406FD291FDBD900C02962 /* Appearance */, + DF59F0752920E42000ACD33D /* Account and Extensions */, + DF3630E92936038400326FB8 /* New Article Notifications */, + DF766FEA2936337A006FBBE2 /* Help */, ); - path = "Settings View"; + path = Views; sourceTree = ""; }; - DFD406FD291FDBD900C02962 /* Appearance Views */ = { + DFD406FD291FDBD900C02962 /* Appearance */ = { isa = PBXGroup; children = ( DFD406FE291FDC0C00C02962 /* DisplayAndBehaviorsView.swift */, DF59F071292085B800ACD33D /* ColorPaletteSelectorView.swift */, ); - path = "Appearance Views"; + path = Appearance; sourceTree = ""; }; /* End PBXGroup section */ @@ -4217,6 +4236,7 @@ 512AF9C2236ED52C0066F8BE /* ImageHeaderView.swift in Sources */, 512392C124E33A3C00F11704 /* RedditSelectTypeTableViewController.swift in Sources */, 515A5181243E90260089E588 /* ExtensionPointIdentifer.swift in Sources */, + DF766FED29377FD9006FBBE2 /* ExtensionsManagementView.swift in Sources */, 51C45290226509C100C03939 /* PseudoFeed.swift in Sources */, 512392C624E3451400F11704 /* TwitterSelectAccountTableViewController.swift in Sources */, 51C452A922650DC600C03939 /* ArticleRenderer.swift in Sources */, diff --git a/Shared/ExtensionPoints/ExtensionPointManager.swift b/Shared/ExtensionPoints/ExtensionPointManager.swift index bf8cb0402..bd8a173cb 100644 --- a/Shared/ExtensionPoints/ExtensionPointManager.swift +++ b/Shared/ExtensionPoints/ExtensionPointManager.swift @@ -38,7 +38,7 @@ final class ExtensionPointManager: FeedProviderManagerDelegate { let activeExtensionPointTypes = activeExtensionPoints.keys.compactMap({ ObjectIdentifier($0.extensionPointType) }) var available = [ExtensionPoint.Type]() for possibleExtensionPointType in possibleExtensionPointTypes { - if !(AppDefaults.shared.isDeveloperBuild && possibleExtensionPointType.isDeveloperBuildRestricted) { + if (AppDefaults.shared.isDeveloperBuild && possibleExtensionPointType.isDeveloperBuildRestricted) { if possibleExtensionPointType.isSinglton { if !activeExtensionPointTypes.contains(ObjectIdentifier(possibleExtensionPointType)) { available.append(possibleExtensionPointType) diff --git a/iOS/Inspector/AccountInspectorViewController.swift b/iOS/Inspector/AccountInspectorViewController.swift index bcb707f4b..747dfd139 100644 --- a/iOS/Inspector/AccountInspectorViewController.swift +++ b/iOS/Inspector/AccountInspectorViewController.swift @@ -9,6 +9,26 @@ import UIKit import SafariServices import Account +import SwiftUI + +struct AccountInspectorWrapper: UIViewControllerRepresentable { + + var account: Account + + func makeUIViewController(context: Context) -> AccountInspectorViewController { + let controller = UIStoryboard.inspector.instantiateViewController(withIdentifier: "AccountInspectorViewController") as! AccountInspectorViewController + controller.account = account + return controller + } + + func updateUIViewController(_ uiViewController: AccountInspectorViewController, context: Context) { + // + } + + typealias UIViewControllerType = AccountInspectorViewController + +} + class AccountInspectorViewController: UITableViewController { diff --git a/iOS/Inspector/ExtensionInspectorViewController.swift b/iOS/Inspector/ExtensionInspectorViewController.swift index 79c2cc43c..74b885890 100644 --- a/iOS/Inspector/ExtensionInspectorViewController.swift +++ b/iOS/Inspector/ExtensionInspectorViewController.swift @@ -7,6 +7,27 @@ // import UIKit +import SwiftUI + +struct ExtensionPointInspectorWrapper: UIViewControllerRepresentable { + + var extensionPoint: ExtensionPoint? + + func makeUIViewController(context: Context) -> ExtensionPointInspectorViewController { + let controller = UIStoryboard.inspector.instantiateViewController(withIdentifier: "ExtensionPointInspectorViewController") as! ExtensionPointInspectorViewController + controller.extensionPoint = extensionPoint + return controller + } + + func updateUIViewController(_ uiViewController: ExtensionPointInspectorViewController, context: Context) { + // + } + + typealias UIViewControllerType = ExtensionPointInspectorViewController + + +} + class ExtensionPointInspectorViewController: UITableViewController { diff --git a/iOS/Settings/Account Management Views/AccountsManagementView.swift b/iOS/Settings/Account Management Views/AccountsManagementView.swift deleted file mode 100644 index f46d12f49..000000000 --- a/iOS/Settings/Account Management Views/AccountsManagementView.swift +++ /dev/null @@ -1,119 +0,0 @@ -// -// AccountsManagementView.swift -// NetNewsWire-iOS -// -// Created by Stuart Breckenridge on 13/11/2022. -// Copyright © 2022 Ranchero Software. All rights reserved. -// - -import SwiftUI -import Account -import Combine - -struct AccountsManagementView: View { - - @State private var showAddAccountSheet: Bool = false - var cancellables = Set() - @State private var sortedAccounts = [Account]() - - var body: some View { - List { - ForEach(sortedAccounts, id: \.self) { account in - Section(header: Text("")) { - accountRow(account) - } - } - } - .navigationTitle(Text("Accounts")) - .navigationBarTitleDisplayMode(.inline) - .tint(Color(uiColor: AppAssets.primaryAccentColor)) - .toolbar { - ToolbarItem(placement: .navigationBarTrailing) { - Button { - // - } label: { - Image(systemName: "plus") - } - } - } - .onReceive(NotificationCenter.default.publisher(for: .AccountStateDidChange)) { _ in - sortedAccounts = AccountManager.shared.sortedAccounts - } - .onAppear { - sortedAccounts = AccountManager.shared.sortedAccounts - } - - } - - var addAccountButton: some View { - HStack { - Spacer() - Text("Add Account") - .padding(8) - .overlay(NavigationLink { AddAccountViewControllerRepresentable() } label: { EmptyView() }.opacity(0.0)) - .background(Color(uiColor: AppAssets.primaryAccentColor)) - .clipShape(RoundedRectangle(cornerRadius: 6)) - Spacer() - } - } - - func accountFooterText(_ account: Account) -> some View { - if account.type == .cloudKit { - return Text("iCloud Syncing Limitations & Solutions") - } else { - return Text("") - } - } - - func accountRow(_ account: Account) -> some View { - VStack(alignment: .leading) { - HStack { - Image(uiImage: account.smallIcon!.image) - .resizable() - .frame(width: 25, height: 25) - TextField(text: Binding(get: { account.nameForDisplay }, set: { account.name = $0 })) { - Text(account.nameForDisplay) - }.foregroundColor(.secondary) - Spacer() - Toggle(isOn: Binding( - get: { account.isActive }, - set: { account.isActive = $0 } - )) { - Text("") - } - } - if account.type != .onMyMac { - Divider() - .edgesIgnoringSafeArea(.all) - HStack { - Spacer() - Button { - // Remove account - } label: { - Text("Remove Account") - .foregroundColor(.red) - .bold() - } - - Spacer() - } - } - } - - } - - var inactiveFooterText: some View { - if AccountManager.shared.sortedAccounts.filter({ $0.isActive == false }).count == 0 { - return Text("There are no inactive accounts.") - } else { - return Text("") - } - } - -} - -struct AddAccountView_Previews: PreviewProvider { - static var previews: some View { - AccountsManagementView() - } -} diff --git a/iOS/Settings/EnableExtensionPointViewController.swift b/iOS/Settings/EnableExtensionPointViewController.swift index 64ecc1a72..3412dfaca 100644 --- a/iOS/Settings/EnableExtensionPointViewController.swift +++ b/iOS/Settings/EnableExtensionPointViewController.swift @@ -11,6 +11,25 @@ import AuthenticationServices import Account import OAuthSwift import Secrets +import SwiftUI + +struct EnableExtensionPointViewWrapper: UIViewControllerRepresentable { + + var extensionPoint: ExtensionPoint.Type? + + func makeUIViewController(context: Context) -> EnableExtensionPointViewController { + let controller = UIStoryboard.settings.instantiateViewController(withIdentifier: "EnableExtensionPointViewController") as! EnableExtensionPointViewController + controller.extensionPointType = extensionPoint + return controller + } + + func updateUIViewController(_ uiViewController: EnableExtensionPointViewController, context: Context) { + + } + + typealias UIViewControllerType = EnableExtensionPointViewController + +} class EnableExtensionPointViewController: UITableViewController { diff --git a/iOS/Settings/Settings.storyboard b/iOS/Settings/Settings.storyboard index ac14658e4..a8cf0758a 100644 --- a/iOS/Settings/Settings.storyboard +++ b/iOS/Settings/Settings.storyboard @@ -385,10 +385,10 @@ - + - +

  • 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%0AiW}(}jUM3ZaIU`)txJ&g#OcYH@u)MYe}1~Y zeN?!UTmH_s|E9yA{v0wZ++F$cN%a{a>x*zFocr6$+_77Ed1~v!sZ;(=IrVj1<_Gna z;ll?%dQa(*^?gGK)u-xPDVyVbtTRe|uD+~MoA=Gx(>qS*m;GMGcIEgVvSKo4M?-!-7N^XDnZ*FfcS+_QmHg&}4}E$|=3eRB`c@}=IeYT=?^}J<2_KZaK{!{R zUH3V9zZrS+hch~akfFah9e(qavHfwJvt6!BmoduskhjP%zIW^Nem%XjNjM>Ia57JS z{u%vE$*&&gZ{+#>RZ9Q(T>4z7k*D_4=k1>xI*id*-$MWXe$aXIpHNl3rM?(pT;5*x z$L><)ge#w4NB8G#*}QpAIlb9mwlbXi{JMFQaQB}CI_FITnY$AzxZo8?^5wo*cN z`1B(~es*8w)tCPEr!zZz$n&Fagi&|-@k5<(Bb@PZbcH`3zl1SDIa{*ooYUphhcA9> z%k^K4vFASPW610NnqA6Y8KHiB5c;~WWLF87CqoD~`h=0Aj2mN&+HkJ6ZrnKG^82~` z(&tb3ekzoaT`Jt}hu!*8;amM(2z{rF3pq;F2lXdUC|4OSYeR+pZ>oCqS8jiDd1LM0 zp3isVLMhof`rGDhwrZR+!hd~oJIaTB3-rBYQU!nJFb_o}9lrzqkP}iewe9Yh3cqPZ! zP+w9!wxwKtfDVCb^A&E&gLthW5bU7JtxPN(7k!CE0pjfoKH^Z%oECH z_~iQ5Q1)wty3wCc|M}gJV?Ss4%Dg*w<&)Ao8~4VR(EImI_NmX?9G#b6cH}r2x=;A> zeRS{l)%o+qb_&V1I_2Eo`KnLCmeUzdpZ;b$Z}Oo+k33n%2%mqYwmQF!@;$nDeE#h$ zUqW7f8n;#9u9Q=|AOL$=kcab#TgH5-|#VWZ``Ll zWvhNKRQWc}7`5HGw<%d!cAOK=r~K;fQ{l#yI%8z0JeeVDjE|$-ozZ==#|L3=-rftN zl{V{gu^{=Ks0o9ZrKr_QI7eg4iE-KWcq%(44@<>E$XbLCE-?K*uK&W&-t?Z`03{}{QW zGcW7=p6xMu++JOc+YMj3gi?EzRF4tH_*gddj;%1pemz^~N7j{)WsDy6*Z0+bLhtw<_O`q2tL#zd>&f2B z|8e2Ih0)*rB}XYA&-RrYIl>3OH@F|Cl#`+S87DLEZ0RjsHR{7}sOvDg+>Mj3=P@a^})_wUH5m+&EkarO20Hh)Ixy|H2Zjj#XbOR4i6#s}p?=+D15pWJfYqg>r7RmS(< z+s-K;vQGbgFMF=sxW6xccSmNA9OHA@P)_(A{h$2aX3Lh-Z z*v+mmzF*(=rN-&1to-11XPeF&VVu7X9Y%gL!uYVva4*bm(qLTBmw z`tpBHDBqO59UroUP`7{KGryJ{Jr2 zLiv#A^MkPG?@Nci4^G}<@9#>TE#-?)<1oN}n#}gZ`==fByG# zADSoUY0N4+&Jg%W4YUF zyUy9VtuL~SIw>TZj34K8s4(jLZYiVAmoSdDDIXM%O|r7a2qSZxEP1=(^XMC#$}J(( z>HlK-uULi=7*1?w>rm;3*oxIjlQ+Y|H)5R*?)RFGk<*DJ0ruE8b5aL z?(=rm{hq7b`w#t}x5jPV89RzLXW1{C*;U`mxf-MX{Oygpa#wzwuf6~LV!Lz+UwL15 z;YN+Ir*{14`#N{dXO{X9_LIA_A#<;M-gfROr-VD%)uZg?Ct*XMa2@JSl?|tSv9*87 z$y35N-#57Np_Gx;JKJo9{`}&5+-99WBR@F3vrUeyyS{P#_4~GSyB9{C629H4s(*~GGd6tfFXKO*y>Ux^j!8OYJB^v z?XSA+kGJJq2$$nj?aANM;mU2+jtif@jB;5N8KZ9UT}sxdKK0H1&bH35<-T6l*0|sM^7YE!hHsTOIirkI zzRCZ1?lz}yj6R>Ee9qmH9YXkAE<;!7-26}OcQ$WsjWR;mFX79%J=y(1g>mC+xZ6g! z%{@2DemlLhMOAjy_dglR?U%c+qj$Es9d|M}M}GXfIY;^1*?1vrW&J2&eDERko^zqY z*saU*Mc28LWpjidcgAOx?|VLU*mF9B&GF&FUYGGTMYP4`{-5$?$G85!E_*J7E_wR5 z`uE$N4Lf>d?)miH_cczH|I{5y319v;ueM}=4(D8s>pB-oDSdj}j{hM0_BY4(r@m9p z?Vj56#r2k|sMK)enDE$Tv7FsArI$ea}@F(Nas2qVpB4>0d90HJ}LvF4TEA)5RDzj8T2U zPEdmb3v}1@V8kLAAxhc3eAE38S+*MYS~=A@&VMpCevSMq!Sn)t6(vim?8QWj`vCeh zEyItdFM=|Hx^&poZskdtA-jozzI0fxK+Z*h7jZa+7|cjo zWZeGv19P99yrp7RXg2O8R)9tud5oSapp~rLmSQn*Qf}9hJOlwYE*ek}X zxn&v)2N1QP3H%89PAn}B-E-d;AdKrPx&n7#ZzKjE`|-kI|28L zH4|xBaO8TllzJSwrgr>we6TK4@`YCIjiyM;?X|LyrZQk$$>%7}yMb9u-_KGfmFIwe z|DZ4;b6pjE9a$?-{UJj_UWK{;*k*l7xK0c_nqL5)5(XL_jqSQ}Ze^}otY%+V@*h-F zVpfVSDf9e5jJ-jRgv&Bfi9e`=K542@V&chVTjRu{kI;RHDhhT4tX%5LBwZI)YvJt= zj9^UHeN6K;6e2Xdn`P^;PQ7*b;kIF@$D5{g1={A9(%gO)UWHkao20=KAz1m$G$j`;@h$(_X=*%X_5OC&)26@2-VyOZleo{1@HmqaSIp|W)d*6JhFsile-k{^)T7S zT?A}L_YYwH2$r*s6OY^jTZ%3abNx+sl!$)ElShr;UTh8@R`b?c9AEl%&?D)Vp?W3q z2`uU2pz3(G`|`UIul6Dd`8e8DmIytBgtF-ltx6$^LW{$_s=kzm(5O{jG&fkpO?@?f zd4ZZPw;PrSP3n6t%$Qa4J8D(gf>rWZO$@gzw68fqsv4j*A<=)ISaV#2rR;c82f$V6 zf-S{7W-_fW4Df2uckM_w1!r^ok2uX$So-iM2BH(k+unbUaF#xboVBar$fq#28D>)rl+a z@`Q)a-W?)p35B0QnvH#Bh*9jC04qNv^vdH7Vy1--%`}u-Ho6n~-#c>)rHR3#RgKFX z1vAA$o>%B_mF*;==f|PHt8Ma@A+1p={atBCD-PX`FH|qOJ%=n4UIlzPlk0koSCbVA z2~2kR!p9APuu?aJ%ZZ1;t}zlr z(sEy{tHK_yNm!56J&KS2017<0DUy4k)S9wvEywUH-GC0SH`vi3Zc<5dD4dTHUiGZ~ zaWPqzutBoFsYkK)m7+3x+0n~kRUz7rcJN_DD zjDqz2fCM<4!@}PF_H+-As+X=$cWFcR-GO?4{@9Qe*+I({zpfRoV@8}hZo!~~k78dZne@y`I;Oer=fB)C#x)#k2IPffZrRx5Z% ztUcDNjV>@pFu^sVil1=&bm&hFen?3OE*#xaKC!S$G5PLc<{oajmh1@!50 z(Md_vi&I1F;}jMfLT9ise%J0V;59Gs0cZpqJ@{M$Y9iD#D61MPod^!89^&|WpA*2Ze!uQHQ)bt9YjgPf16Wgm_lcPtbfv@!vJ*ZuBphU+)hj0GSK{pkB`LMGwiP5&AwNTqixG?1xT9w^LQCk*|;fb~QC|4NrW^{cm#H)&QPXfYD42(C3j-?)Y(m0i7s}X~-hI zf*^;ZCd>a5Cvt!;TtLr%(V&xj7fM{7=}d%9^MI6O(MhM7=k@KE{dAIt>D9Cg=*OA) zzaI2XRef(pf#^(1#X+jFSMurazlglCd)Kz^w(tQb@(d?PT} zDNM}1QQ=l_uuJ!RC<7#J5z@FJ?rKjz3CfLVq(!fdMG?1;{TX8zOG>ZEZEDx{SLvnPZ2D;1x1$Vw# z=8n5e5ykhhTAQOux-Gu8ty+84{1sCzraZ|xO!WIaH7e6pd0n$+%53Zbh;BgpS_jtJ z;T7SLhd+^^nwbuYi`cc1;;ZFoKlfHueV!o&9XYQB(9_-;t~s5_Ipw}FdWWB^CE`+x z?jyeIuo*+A4pwlICzjK}{t{K7x z91;ujGn4i@@~%05E!iqPf$>Rh!^->QU8|$>pDv_**OJ)mE+==hhslK+K6ld-}*r+&0_e_U|~ z_xwTkm~h6#S+AH*YL!b@OeDv|@jN|$#pHWT=RaLfS4@bG2{8vIb>yo{Z3c5wAv1+s zk=me@wgl@Z2_Fjc1!tPaKsiBker;YYA~GCH$TEm%{)^1w2BX2FW4icVs| z;%p8`3KrY5$rN#Sg2gMO{3VujC3JW4l4R(+L+)1Mw0CtuCOtG8b_9Mg$A6?Gzw>XS zkBnt|vR9!9<+}8)jN^wON497%-ss9U4SP&_j5}?}DaylAD$g{^L@b{Io2flT+5L0n z_<*|)INcM?0A)M-9gfmT1;(J7S|sqOCCy`aI=rN0D zh|=B8_%rb+W+D-%N#Nu+e35t(*+Jk}-E^^0%o!s$sDvc${d^CWd8$}I+p>{EiAlKM0$CMNAczuyG zLp|l7VExYt3=4))b23Y58;5|#3*N;Tf=Ho&t;$qH5hoOjGYL8@mOskAND*oc;(FOZ z3d6%g_T2Vd06qB)H`t@I28-RZ zysX$D%qKKhXMLK*+Eg%ch0m)Aw)DzF9rtaAYMLS1__4MzUkf};An+Q`xWi-G8Nae_ zUIU84p|8q-+9isxhLCDNE69&OI&)?nt@p%YgBBMnL_6h_0GEN^iPZdTOZ&Fm(bT`4 zM`9?JhCqaTe278&sdvdaoX3}xd`U_DN^#(po_KVo{FrOT z;SZxnhDUdYxXe7dFkbKJrfi8fu!E-?j3(CSQ&G9eE-ml;@$HAiz*Dm#M#R;6b9I-T z`#kWa;m~{VS1u%b2j4i`!#7m(4>I(lT)8YBu+XTHrF$@s!~wg;%}AKffTKGa zi?Dd0;o^!C>lh2C7iM;f7(2YjjjiyA$T6c*%<D zJ27{6JlPU0%X{8XO4RPkVEI!en^d4Q&%ctAbj%2_r_7f8bnjAT(i+I;T{svZe_6xusH_2fgy#k-Fdfe7TePSuJhp@>-KAg0*cRTNJz zpEUY?qC~`#zs(;|cs=^_csc8=aW=#gy$bsD0P!fE(mzhcJJ&}%wgnJorwS>aycVD3 z+ssNtJbh2iEx~315KkkKdGA?cRVbeF&R1unMQ<%ELyJZ>MK1h6O&~Lw=QyXO@%=qReEYm&>)=~j@LwWhu}e)@nZM+H{p{aC2g_oX z8A7gFq8@5fK`7m;TNS`m2taN9lkFqgn^iUxuw|l;!EK@%`R;8UDG1Xs2^do?LD(64 zL9}6(mP5xxl!!AaI_^KasQmPO_8TP{xg0K|30o)P7mQB?c4}#Ud7X4pEX)flQO{wF$Y^yRtj$5s!;31>{6*Exs+SJcHbL3{|Eonn}yOag3(T-6Y!?oLCpQJtE#RO6|0#c~i^ zoG=H3=76`l#r#F2g5s}`g-7vIc|3_uUetJUN4~RKrExF-)RaWX|4om}9+}ZWK}HHf z$lZH3kjK-<#cLevrwxylI6tj_IBLr~NOtuoJ7o&_;qlbS2@5qw>~J>Oh#RD0-WEh{i&zFmV0QVgiZw45X@-%qrAqf z_HJ!C;2o}hrXfM`fKQXX(09{CftnhV!I}SwL=9mSsgXCgVyrgVo*x(twy?sXe$kF; zHnulGjIkOQV^2fsv&K(wSkt{31q?XrGx{#&Q_u*~`WZVW(R2t3VhEar9`AiCW<6gs zw5Kixvy0Kin0Yff7-l2e2)^tpF~Yk3{K>xpC~8QwNGEG(scSRvqW9?-W!dX3aFf;q zr`0RDXH?%gA!h=i6wm(%K8_@(*EYml<`RS;6fzNabCsXAA>&tK2BfP;x$0+m zSM4_>Z+Ma}Z^PD^6^1!=B{Bu5HRCvK;0&tkUHU|b9T}7qP|mWnj;c#<7H^7Qpvf;f zWQa+{-Qbo@kHVnZcaKU+*Gahd7;XpPS~Ly7%+z_;ePMvSexPa!&klq9UxSBXLU3sA zPPH>M`)z&ez3|t_bo8F5;E%aR`m4Vyu^7-;XTvJZ%g-=xPeY?fSSC9;%bHq2)4WN zxt2A4yJ7Ao%q8KGs!!BDG8V4_%9Ps{izjccL5Gdn_*QlH68KRcG4ux-#2O#A*cK)1 z9)c>dp=w50zVl{zHm4om5xT*18`r{=$~@xyC+eHcwq#>PD=CTQNFkswR@^7 zB<&kXufsY$>_>chkf0I68F^rfrH#y)b%G;M;b-ul~%nL``;r}xu zH=Wvu#m~SWfpfw7SH%P%41czsOw}glCbL3>v@Cc9|H>rWq*CeK{tnT%n8y`1jAUVi{{ksDA}54fOPbkXQbe<_+GRr6sE1-`*mWYS6#k zr;JU7f4BK&f)58!T~Nj=@bACeIn+W+_-M^|!=>C|xgv||U+(p#UPc038REjfcB(7O zp#L66r=$D}+VSCoi8(Sr*5=$}iVz3AA`I0w9;)g2AtLzn#Y_#U)G9*}v<_p) zLVdd|zfvbSQ!j^`SIR9~&}~4W-$7HSbU@%R8O`5ulcSZ=0z@!2!Y~ACR~|JWD%PM& z?K=(_v_%2G#CH}*6s_s-)QDq?KS+Tlgc5}`z$|iO8L6r__TeyA%&MrZ%txf6FLVxU zEIB^HDrxk>+E}TKd*%mK1`ch3Iw8{vbcLkZW3O6O{;GPcbkfFkSy63UfH*R4t*i)w zC!^%YHTklrQ@p5lf?J)>KceNc<;2A0lBojj)@sI(>gN5LkpM)B=ayf zP`KGE&_~Sw>v^cxUBm#qK?2!~L8y0%P8EKRaoAEXldS)#E+g8SaZ{>*HBD$a6kh7( z#ok=0>TpBcoXE&D#Zqz?rh0>!<~80tMdc(P4Dlz@_*CD>GLfoCV!6tlY!?N~Y)O57 z1N%2~N#d^L_*zC|oVX-1L@-=0BrVpe%0LvQlYaD~Cu8^{F^2U4OOY&4fs5bDhSrHT z%wGn&Ezy**g{NJmTbJs^1fvxFUMGk$gBYHh_F63$p(RsaHxGXyh=08q^c_;4?Paf9`%vHxb*HKgB+)DU^av z7IwthDjsfOI0Mk*uK@8mvLD4BRfM#vIGJ1FXCz{IOGUO6E(yNbs11`kQ8dhjtGyyF z2{W>VW7NF?W>WQl@gy%CnT``g(^)z|iwKu=&HP020ZK4h9ks@G$^iM(exa88zyI-0 z8fm!{6yzFGCSQ z=^*f~_j{A~vm%*!2aY$(7EgxFe?m0oi$H+0Xx3^>a=-V5&R5Q2 zMmjLtexcgbM~F=UB$M33c#2A3TjtB1y3>S+j-%Y2VN2DWm})u1ix+H#&lZ#(*6r9# zhzMQ0SvDyLiU5ExUei#f)|r z`&igr*!!05_+Vb)C6>K7P*oWyPwy)1k*ka|_Hu7N;6@6SFZOpc;EVr05Ll+iAjdkV zD4tRG!m6}%16hv#)#2Vk?{0#z;`QEgsJALaf)m$d7@@|ZST_8kebEC5@heEsaK1#6 zEgTNk=8#aILQ6_nZ*&Cy(^x-VpLaJQ8nxzHLd?vFcend1-rIOsP~%+&XMFhu3-#TF z(%*;%e{oq-;EyBrceh54U`E>ofMbL>6xf4&|Ju6ndr59%Ys8-jfkD|wo}qhpi&(b# z{^HrMcbCua9v&bILoSH;5dO(`H>xa{f55E5WD*eXB43VQlO#RzU0#TH8|$i2WyZ+f zUD(s+y0N}y(russ>u{Ex>i21n`LS}AXg(`dXNtevJyySmg=0({y)vYL?~BII!Dg^6 z9yD+xk0~t;)&zFV{Cpo0{I;4U@lBYbJ+|Uf!+=jvp8IdD39w~SYk3F!Ygqt`)`&Xg zR4HS}_$*j5SwbYAS!|LXcWaVK#^dloGeS`1$j38)`WBP_9VY&)ogF(?9-mA2a!O8c zZf?XyD+fd(c$f<<88oG%cD>n{EDkYn9i-^NZCqEdtc>y9;QBkrYL(HHhn|cAbLM%Y zEI%wv(ijTMF*KZ+833AP6JXA1?c69!qEk1GUKeSbi0rcxqRsCF-O6Ju)}h;kJ`Y&; zPX%k{!erqs$kB;j^!=K4`j}~P2Aot4!)GH{#o5q;3_-akR_z?;r63P0OJvzwt+U%V zuF6lTklc3L+&9)yxQLuLiH)`WY1)Q;o9TqoBB`9<adO#y4y{s z(()&O1a_-$QNccxtsJ{4fXG_Rl77}!n8MM}=s^bS3&tsuyZl%cvYK)> z&Sq%tlrNYTn(l2#C2_&T>8+ny7V-urYoLSDk9y!GWcEpJu;`EDr-~3mE3tHj-KKsv z!Om4Py{oQZwF9uZ9E(hX)yj$40@O*$-RH0WKU(zPPuy(L(0|y>AqSM_P(zhgpmrO} zoSj+e5F;MCy?;VjyONc<;LRlLZp)zdk7Dv`Cb~=fQOyjf+DY(4O*L4mCh7S=_pbAP znFWh}+2RmFJsA=Tput^fjOLeY()2jvv+B(4GdZakl!2+b=weT5#b#drt44w{+RgM* z(Pg{3(K*A>O)n2qP(ZTOwrMYUwL-%Vr5QbA z7_0$AjvrYBH+N?&kDpfa)*y?K$1V3V62?b#0X{yvH|L2p9cr5+&Tc5pbfuq{E8Qu; zbQ3PP@LeiUx-a1Sx#-I~fbU)A*_mr4m2Mr+4=B@(Rn4`GsN^M~4%3x1RKcys-mMu+ z#WLOGnrY}Gyx{FS)BP8>_6BdIvB`94*|Qvl0GV!iu*xl*=?<>i<{PcRG8SPL_mx*p z4mzg4ydcvJ5V<#*ZYV{0eq@5rMP(#%YE^fkR~b0>I`$ZJE%iOr?H&29;r+^(+!>^2 z+BK+bq`C&<$GXm;A^R7Qp8p2@{^ z-|jbuJph$qK8wf0%;_>rDGMZ*uwY50a`~0hEi4Nea+2i$U>?KPH#F*5F3a3)lv{U2 zbS2LX%PYmlRtT50#Utn7?A>y&Cm3OFl><@paLX2#CjJ zf$qLRZQY0OluudVC6+&y6mrYhCFvwcB({XsPiR2EfYL8ZTyBtSX(8S^*`lJuQi`o@ z%qJpi?4{BKmWab__^j2ZFglloFT2b)r0z;qk_QnWKa=KHfq~Tz8sev)p)Z$wM2DO* ztc0C0a+@jPRFClQL+z$@iVhVb0zu=Pj{-zWO0G^ZOwi*PT7wve@t`2Q>A&Wshspq1 z8<$QcDP77??|Rx){%^YrgmIA}ZfQq`87fwst<{l`xwp^eqeyNq&-9CGemW^e>f*HF zL>EvxCT{i901DCkzu*zM!_d7)Kc-NwQ)S7qkKa9R4ZYOtlJz!axO-w1f1wEnDmL9` zo=ycp0S_tQ+hMgqQ$V8jfTe~T@R(YntR@EftTZTSOHh^?U@_=@JrM3pC$&L{1e;Fs`n|!bnQw&=wfQNICOA0k$eocmdU>`Jt(Du z7!=~1xjNMF`K)DJP5z(lr4_~El=o4kR!DdQQ86DlI*W!V*_ zL>PX1SF5^#4Dv3}>^PUHlcW1|)(GtMP}}Ml=*epE9?NAxL&n6vT9tCYed+-|F<8yy zT3me&mGxv=a+Aar1(3Mi(*1UlVG!KR# z-3|ezDRdW@ItEf5-bE^-mow2MZB7Bnein8+rYR6O#00YS1Mn);kcL@648RN14r?5| zlm>`^4l+7xneV``j*5sORBG+dRX=`zMHZC&21F7wsMLT#tUXNu2oik zNzT9qfeH8-O9ziI8NCK{Pa0~CZ27g##jk%2)XG_`nW_V(sw-eE!N2p2tkA^yxvcL` zK|Rc51nyB$RNX+`>`!^|Q`5R{O(tNb4O2XhZJSrZlY)rvGDCUrmrVFx9Y4uD{EiPG z5yM)9X`-u?!Ym>Ja5UvK?j%rNORO7||Cxa*us@b|FL}2@>hBSuR%|5D{C5N{e z!?Jj7vW<1_Ps^uAMoFqsEaOjnkgmM{!FyXL9@Q*B$nqMMQ;($Dx{`V|0$>hqcT7~bzxc%W&ekMLzE4PvWJ3z$07!{FS=J4@WbEpHrVw$Uw znQz3^zvrsH@zyf0GDQUG>|c4?N5KzqSa;ckIp# z+d*k};i+Cl9?pyGN~UoThr`7)MRW%CR*wLsw=V0~2i1S~je;Z?F_y)m0*^Es;b&cy znEAaIZBck2!+(-m!PbRWg3a_YjbVaH^<)5HUR4?vqm0F3&N)FAgOLrU zh)QBcF2l6bHrs%Pow(YJ67qeV;g^@{lh0zPJac3z$HWyKqW!?U-!8;)ufD~i+D>^? z|NjyPI%fiFK1*_V%lwVz&&zU8uAOF7{%HIU(lmnnE#s~FU%yh2glixx~tA-euSO18fWex9}vugc;@9&uGgwfy5xT>z=Qdrl`5n~UaN@X zolW@5NAnXn=jHHq2>?r!2Kug-?h+ac_nxPsh?F4oLoLV+Rk?w%JIR0`L;m1O5dp_n<7qm5-Bc|rh6@3=&S#Ato+HVZ5Nj@6aEuJtP$>?w z7-*9rzEvFj{H`!|mUBX4+FlVKw(1H-O8wgC7WmqioQ4tJ1k~n;#qqg|#(~W1(i!nU zY7qC#%sDi^dD1Vd?wU)^LzsWCb(2D%CI-(0zX{9L@E9bs{#Rl$d_A%`LD_DZK2u&r zFFJFuqNr1WFbOODiRsVa{!xEg&;*eZvIbsTJ%gXMPc@+)60PjF<5u&!HcK-yp;R#J zLgq;?VxtO`v(aS;Lz_3TfWr)dl1&2KMb*x5yk!-K@_t<+f98U<;SMCN!0<0;d+Nwz zCu8euP;_+CB+sW^Mk#dhsUwT6Vi5D3xWWJx6cDL{Vy}4o#yXDuJ-mE7pwk**pCzZf zSaWfznMAftc2+-rN7k=?-;#Z_JF{kt^VRcuku0fVW#6THV209TDqBpuS({R(tA0nGzC^88YSUfc*S2cG;2oE*Y#&8Eh$}1;TdA6aCG>K&ldujr}m3kF4Scz5_*W z(h=tD58`gFxC{Xp!QK7zA?>mc+lxx|EUwGDw#`xUwrUu@Qqa#Jej1}(!ydSl)?h>O$ zHY89MM`0EKi!d(bzDHz4`WQltltv^75elMpa};&cnGVBmMqdXvdImoMM%p~4iTY?X zX5ttrX<#6zl~mNSq;?uPwxJO@3@;DLw4kAJNQBf}eWd5dYrc`!lDL*p0r#YJ+P-p+ zRW1Ay%&lR9yzWWLB^s#;dNO#1{ef43pc^<9yenCT#WwN3i9S04$l1@SRb^z*L*ceT zVdLQFnkOzg_}yVX*nDrTvB74T-tmfRE#dyr4*ht4q0}44J~%Kr{=*JSPt{~$EQ`uxSTVpT0EQW$I(54wA3Hda;p-YRv;39?q zF%iM&2U~z0*v7gmk7pXPuz=igr5y6s?e+Y=R7Eg3yQjSW3}M%RY)x@qG+nE1ZMu{l zz1q8Kk6tZbb=GY07iXm5cvq2rG8KMa zcn)<=)o%cnJtD)u)u94OGGpBomq6CdELR`Dlxd@ro7pCTdfHexTOpqi**X(=dC1eO zWXZ5?+*`4FfA7bWBd^cdqf4v^?v}~z#PzL2VBo+Q#_c z`TOf=xIP5M&4$kIx=rx(ydU%@U+~HS2J$%#rP1K0DD~MIoz@~BDqLTs8Nr%DXm3}P zS+tt&7O2ilPXlXH@0%}w!{StWpokqRFQ&9lmsNCT`@=MahsbaqI-a`)_X+T5M_u6r zcsPdwTGEi?BrBr`UWF#sJ}$|RpKk$wq+zFa7f(P%N+#rzbSG6in?Woj_md%>5Yx2! zkdbyz2!)RT6!higADmrI@F7kA6&F!14*URp*tPf=p~q7*^XDkIerJrlJj?J+JFFNK zK&kJ=^J2S6__39s%vYuQGimk!0VvU*kc4&$4x$!^P0)}1?WZnq^J!ZtWm3*b4(eE8 zRFIZHNpnVdudQ2>8YyjDYa*QIe>M5sD)9{MM=~)Xf>Han$D5X48=hp!{_N2yX zK&Rh9suYeEZ>@g_TOjh-rMHyvr6i8~;ol`lQPa}Gqr=xJ44MLq|9g#r2$T6PC!z8M z8qqeu91TS#CMg-8EV{s>riA{Mf~z?8p*4c5H1@2G2Iq8GQ6xVA?<}8jr-Ii5zl(4<;-VKK3uKeCYAst#JONogy?PMm|;k?Jdz1`RV+?|VwkF{L#0J7E{EJI zW`w>%Z4`y7aCdX9bK(#}5t9b(b8{W7Nedg?Kb7+E(Uf%Ml7jJ}=9ZIZ0hd4OANU0T zvzgMrD?ifs(0+KtjBiw3L_oZe3>`T^ghj=@jbGzo z+hNpb8=@q{IWoNC`_cqE3PdG_J{=$+jKjeD0DaE8h#KfulPy&Z5IgDGf@E^$VkcL$_V$q|JaRwv?23bxE|ZS zKsq(}iU64EU|6zJ7`GB*6x{-oNg_)?l)*w!T%N2Cd`jZO2%0&rBQV6!2xGeZLpi-^ zE5rCd4opd(EwoT){pFD}?EB`gUBgAyKFyO8{v!fgsHqey zepOm;&ZKo{RVmq2m_AU5lcA~km* zASaF2)#_Td~CsOJ|^5z?=_Gi$s;)m(o8>4MH zhKq=^sRl=Fle#lF{DG#tPeq7tgDI6c+G{bPe%P@K;mWWRU6STUvVcK11;VD1o@id<*)(4m zD(Sp!vFX!#+@{#Wb2c^01b<#5S>Jm+gRvU3zyGyT%bl z+>e&w4a~VT5z#-eK2W(782fQH3~B?f5C8`YyrB&^%@4&=vD0J?DCDWz2-4)%*3nwp zUU(tg;~vCoCiDghmViddEpqO+5VWt%hsv}iV>xPLvL)Cx+wRM>AJ54bIK+ULJqCRb zfpRGsGtLH(Ruz@Y;^&Q<`GMbp#Tu(Ud77=e+$5kepoPY>--~;z62W339kP1MAvJrL zW&{kcH&WmDqq_~f$ z4f@amyEx1>T@YwRdi6H@5>oIu7AEh zA!*^Tk0|9-;=g++Bw(B!w%7aXeDS$i)v&gL^_SiKYkhX%zYMp*-M$t8OFVMeC3eXe z)wR&a^_DN>CId3A2XcC<52)QJFn>PeBJ6|2Q!KFp<-4~&54)8c$#V?b16u;KRS(w* zfb7zqS5rfEE623!McVTtZWYjL3|~z8_PQe9e3KoPtowdfF^J{3pR9`CVHUl*m-NLF zPCW2{oy&7){1}~tOaZgdAvN-lMIf?Dmbxp^pUgv~iz1Wt@9=z?mHDSjtZa{4mb1IH zo;B+Tmgu8%%WiZkHAhX6v#=II-qd9o`lpg%|GyaUxVUTc z*T2~BLLfJZtFdIYmwFIU|KsYFe-P^4#pE^8u`epGP2N5_5RppyZN7Mk zKzzd}A*QH>M&b1o! z-O=>D=;q(Vl9nex=>@|yH_BC8k`D&$*Mt*`+vIRyNsX{h|3yecin{+UMR<#-CBkSV z`BDj|F$E1}Ze(+Ga%Ev{4P|a*Z(?cFwHjmoj zC}K!|t?lP~~n{jpmgiT6vGza0F6O!RMe+ChPVWA5}}6vRgn`aHz67hgR{LeEx86cJk9Miy&SsICT(G)}w)ILn!Su*vw^H7gah|%LPvu;DJ(n2t+1T zZozDp5t5jyf{KbboEDr~IvBAmB7KW@F|A01j7vgFI zz?{`fv^tf{k)pvB#50iqg0kD~)Ef*>wiBX>UQex5hNLZr2M-TAJuqi~OHkx3S;`Sn z9`kPht@AJ!{8K%#u!z4DL*4cy*lj(zwR2+$n#@W8631nel-3Rdse^H@x}?R>L8t<8 zjXcpVO-sL-D}#ya3N_4wO>9mJ`fGP$`omu91f?gmYb+m4fm{=6(c-S#Fs9NzSb_nY z>{s}uDArQeqYLgGx<{jWsJyAt2_b7<2%O5%Nd_Wnk=mN zIe^KAh(CiR!_x446WUdl*r%X58seaUhQGrj`WXQ;+)h68S>ZzU?DGf%iDwLJuq!)j zj$k}NXX?+&lh2V`Lpa`v;55SzB;8^_yqYX(0y=J_oH}Syr!{4mIWLChG zaIMM;&ypW;y+ujt1O2$E=io@ilmcO*kQma&3#p7d^9!^)Ws0zm9jMstJQ0itoYzT| zjF1*5xDbk^jf#vgHfgpvK!?fLH@pObnY+FJfeS`6SK^h(@#Xat`_NU{pUkl5r(c2z zj^+GF1j$EsL+q%g_dce?>pShhb`ic9#lvlB9Xb$>NzN*1Udi z2sc|SQ#9Nl3?ObT6bFRX$)KB>f}&x4Jso%fV$13^`2*gm5EE_-sDuXQXw!wuwfd7q z@?V{gg@lJQv0c?7uKSAQix|p)BNkp|me|};OjCLy%{RzSK#8R`&@y%y^bQT`RH1g# zQ!KNEs*+j*_VPy@LOOxLgJ`e7d=#Q|J0}f}cx*lQdu)V$5;{XWhC*=XSQm5B5dmzv zPQ;a(K)>QyPxqc81oT43FoqCZj%h%dy{rg0rd_RNW-R6vJ0& zTW(R005&FL*hRR>BtS?!w_Ddl^>hxf0ung}BKwL0*2%=VDu$x^zy>>EMjC>5;Kx$9 zC?tNsFuXV9Vz4pB*N)?U?;5;^%xrW9L!q zYBiF3bv^4o`2%lyL%J|Z`#?`v49SX;>FD251G2*v?xX%|?k&WpXVwha8sC*7Y zxomiBEx6tL{l!9QgOm9l3xkPah_8Lp_&YN z5{{-vXSH9uF?S%Q1~EABby3tTfU4=jI5)_)zSjwbLB8Al2UPMwIQWYqU0D$Ult46w z5~#8!?t1g6O=tLBzH=YkUd@FIw#v_y*a}vQp4fY*FU40}OL9ulO za3D#5Lb+oEnti08FbxHp#*J*rJAzrLc(cF2t@o8|V6vN}u6QX%sFY|6^BA`WB{QO` zXtToQ*l-OQKy<@-c|#cxCLmY>DM%GEc9?m|*&0r5FbVhL9ya`0gd#+rKwyFFuQ3t#hgRRt8k|Q?7^pkkv&DuTrKHgmE|qOn@y`=g(oU zy1z{@-VLF^S!&=znd?EG{Q+4qr)8_~p8YZsIiW|F3(w&jlzlqYDLDgaee1yK=G@4jrMd6!fe^&tjCWy zpb&BW^c*(yDXTJzM(!JB18UC33L@D-uKKAsasHKxM3i=}F1XZMe=SBPu*=yb+x5FT z65jU)o`w+6l$Vq}a*otJPWVHXX8x2!fgEU2Yu*;YN!9*SmG{p)FT>v9Ny?EWF{xlS zLNEXZYzJJ6KL?EC5mUH&6sGzG+7wj4qdrfj&;Yst4tM0irw1Mh*wz>wmBk0fbn$p} zZz;?`nj;&8Q`r(ldJDVy`!bPLLlro{KDbNDkt^`$3!eedPAo3CQh+4U zA&~kE5FLtFc$rqkVa9AZjWxE7IR-*>sV($3>J5*gboco<0R!ZdVgV`kmP5O4s4JZb z&rFL;NSMPo}S{~uuAiBRY;22SpYva zqTt}mCV;Gnz|d zPc=hJUhTq4B0qp<&(!x}uvS^t02R0L&r*`W^d@}7B~5y%?l@x@B^k1&TM>2=++aCG zbKa>pXqPPi@gs%U`3wRR8{rZPf&t^Y!q@{s>G1a$g-@qMbT_9}_)q;c7LL*<6ElDtn+tC|ekmz)A6XY3pf7s$Y zeXEEZ{;tuF+g>z{oZrEpj)0Mh>85OZ*ph-H&G;K+)AFP0?IP8xt=lkr%#ja2K|^J> zFef(aK~adQfXU)Cx7!(9)@_8mUMs4`;M#2ir*keI2h;U1e&G zJpm1hXhUJLSma!0C|<<&X5w)qdJ+az22St7XPR$8US;JRGAofx4uGDL5ckgfgxIPH?6kABgF16woJ!oDo5O2KSoocwWdjg`cpMlJgg#WRZRZlJa|ZWcGgoD zKUYn`E=u-Jar&6<&LFKWM|5P7bsU#5jk0QP^7`S&YHU~GB(N7<_UkhJh$dCM^U8+B zfhQHC2q3F7u^d9K{u|(-w}NUBu2olguVvVm`Y?xuYi3U&{mKm?-0MVv*1yOL5yp0p z{TE5$x+X-R<>$feE}~w$o=WDj++TTx+WtPqQI(jX_svx#6$v|YMa~%I0b)vPTJl3$ zlT@wYMghIE!^V+G5G~_o3Qd;AS)9EmKn6H{w{zq=C#00Pk$V@`Iu{)|%y`1ho-DhO zJ0T@ZCON!`^qmR)ZaG{Y-t~XK;v}==6cM>^Ow~2`lGBF7X>**y2n!!Pr|V-Q$GvZG zX|oEg>ViHv;5anYrv40C#MlUcTDZb-wM9iu{1y4PiyQ|P>9T+YqozbRjte<{@f|r> zI8IAf0sIs?1W`-Kjmtopc9Xcy0>7@reO05Hg#dveaau5drb><^PI>vHssQMeIIt8| z1k$620OtPj*3~d5^&N3Owmn^`akwFAp(7`sm8l4UX-#r#`&CY|$Zm2j9V1Z!50+wb z;YwXVl$>=XVOq4VJPz*Ck}IoyQm9mNYb)#Al6#pqRl|B|G?Coc`l|S)08J{Hm#5IUU`&q4?46z`J6E|Ho1|7qR8y9Tai932@E>}wuj3d@^ z&@j##B9@ZlvlvaP77&5C^yj!L7|PIhuaM*LOqCvT9716=`fG<9{{zNLeAjX0+{N*f zLPAy129(ExO_=}^nUn50-p(ak^y4)IUYm86O;X4EGKFh8JznZeh1KkMl3!_NI9ncX zTC}M<9#p~XK9r4yRUOnngb3DIMZ-1 z+Xc7;uaQ~^5WGS6wZ@g#pQ9fUPb_iz6y@b9szRQhVOLtw^e*k;Whvr2bx_DK#CI;Y zlyWCT%%tMj>tMwMW14mVl)+nO8Q9&%J2rsA z3kxW#o}i}qP%e7CSAP2B`wX{^q zW|GxI8v+MzOX>S^-hI3m1HIWUITo$9?x*9y?3G>m#=}GI^&fsesGvlicoS)mcop&D zXerN2;tjO)(jZ>XHbg0Rz_ish_5efWnucH3#3$Z6h3iVZ5y8g-Oh^QZ%wkRyun{0| z4;0zzt|mz-WlBl%QoUZ;*#!Co-UMe%h*TlOzC`iGGl9k#t0R8B7GxBPNYpMO&J98N z`7rCwD7DhmK2;e$vi?jQOm?MD7}7HznToEuM?2HZnb58{^JquGC>JA68Zy!)7UZ4L zlfc^{p$|h29Fm5bP;-AM)OaS;$QWp76JC1AoM=UXhDs4(b1roL&%aJ+L0Q3Bia6#zF}M2nL2Vtb}15hGEDs?7}b% z7lxrIl;9u>(xE(o+CY^+oj?s_AkPCmh%gdnh+)JBqCn*bdLQZ>H;Bk#D3Qn$WRWq- zMeWQb<)|-{R2kRpo)sf5s@OhGi++eTr$>xIT~kC8c9rR7EQ))&BEMq_qKVgZooF#= z6Caf>Gb62-iGMmWBrYlDAc=EMGU6yGo|n)1?<0nRRM68%QrX z;neKB*50-n;+gk|5s{fPR+_$@7POW`>rU%;T8Ah`v03Tejd_d3mA;Nj(fVb4tSk5E zEG#qQYdRKn4Sv?Yduy?n^aHYnMl|biIJY9Pj>Pw1DH`8{<@~QbSkgXKVH7>9sT=Ld zRUEamucej6Td{MMOl)PJTU&*6wf()NlyWLFohij<`cizR^U(Bot=;JkP4~IfR`(zx zd8*<1RSm#d)UA1nM{?L9PLZ^y;b>8F6Lu$lnXH5C8l~v|w2(tJ$@!`#DHhV4iC8nr zq4`nDyShYV=Eq1E=6KcHEY^Aw78j?{`k0G{oSs4#O?`MX@r9#ut1_=pX8H+9B$@Hd z!&6~@Vfl>qCTV>TCnC}Zxf1!uo|F1A$y;18L!VRLNWYp>FJ_S!^kdY z&oSp2$*z$?KUk959H~osVjAm>;|JODjY>2&QmK?@w0K7MNsWKBR-!sP@5NR~W|!!P zDDx;z(~)?o6Yq44jzcD#F*%~?Oh;%!Xj}>rRzHuE^pjS+rX6mV(T5(XmpX^a*JURD zi4jd#ue_t2GEXOcGJQ_DD;WI{*RN*C+LARQo|0^J$z=0_>#G{QiRXz(@AlWSMngqu z5UHZ>imu|v3<@jWX|Nm&*7QV*l9+q(tLTcpN^`tb=@QK)7>!kBCeo{>wuE1wyUp|o z&#Pkx$M)Rwm^rM@W1h|}oxkQ4<~(M3h|G4)^Y}k6Bkni&3;&7^|JPgOxAWws6`_~mVS|@*Ovv$ zQ`9ltcwuMbxk^Vke(NT<6I*&fol-D&5RIck*K+0dnYJLJ@C z=&~rMleL$v+0TxYOkI{TTE|L!jb!7#qI^Xq>PkQU(OTKpPAUDXG#+Os%F}w^CmmuE zackO#mA&mKUg1bviydtnHpXRejphi6aL8QRbHXOn5bZ@DZNqWd&Vyt7&hA`1@?NBk zYeY_=iLh)pT%+3}F_(oSmv+tfI2|YWnnCUr+a+F^Me`*dq#$2{lpxOdCDw-xw!Uxf zXXa7~m0t#bN3ddYEmjMfOsH=ai}Efqem7noLry%mM2sIDhbIMp*2iF}{F?odX{exd z{37bh7*vvHV?0s0)M~nnmh3PMl0Fujgzv)^La8wGpRsaL^nYV(U~=;aBIyi99N~Z z<{?}Z>ki*Mk8Y#W$Ck6_6%sY0%}S4n5yhAu5wpvVpD%}+!r)T>32jw5j8$PqqKHtQ zHzic76v0*!6MYk!q80WB;5?Hj2 z7)ZooD1{+ei&eG2ijpc#h@#Mk-EEcn}wZSo{TXAL{DDUGXqfRbeidF#jdY&yV4? zSCHRSBnhw2|DdiWG^WKTVzr3U#7MIrQ+VVc;m7od82Ptjx_Ax|`%D+ElnIJYv!NL2 z!a2l7+GLw2=SvZ48a81w$MOUK@qHzOfl{(}aU0 zJQOw2>#0P@$?+gxkyql77mfdhdOx`686{60*{M^GHZl`Uqu3u~#u~DQvYs=+%R2Jt zu{u&|)}8WW*wv_yS}5Yns6ob61u3WJ>^z^L_=B6TI{-~`Zd$~(( zV+r{&FMZYsnYqL)w4-WW7(}zlE0uIHHJhmUR5%RxsQHFtu)LaysJ%?r1al7tsf7!} z);&j{jipa5BK#$v#7ZRHsHQz*R4bvVluUXnHVn6PnjjG_jV@j3QFG~(m`k6;TGO}K zyYJ+r2%Y^AV zjCnGzjvkKlk`MQbHc}dCsYSm^tqpmJC{yzgCn0`m6ryn@iYSCd*F9s5rx_ygpCF^S z%81}qO^DIu(4gI+xpaajzb@rhf>pta@=jMNXQ8J@T57K(ah){=Zf}LB=?y zd_{I2yvS+F!897xCzxglD>+Rm#7BOSRG8otY3%P~Y$PNiXr>iMIGcJp3YyNur!*8Y zC3%qaRJGyuozvmOCC*;uT*=set?Mk|FoJ|WCupSAs+Ba7M(phwO=`i8%NA*Q3w_Q} zT=69iWwfQHn5k51TDf2&$dMY^wO*}GJMA=1*rEwbw38B1X0$tl{Ak@+M&lo?{GyM_ zCAg2!Cew1^cGAhFo7>gpnM@n@oZU);cA9dfjihi{HhQ{bR7xq!IUPc_Oy~xSUzr%O zva~~4y-rDaZMEe!WMykO&O~n_aV(x(Kki2yT4I7`8*?48$f8irXoYe{g+n=62Unq- zjHrp6Atzccm5T-`9L5l%LNjj7HaA((iIqfDZ`wmgNgNZ&97IL;bt*YeXO^2;)~)Bq zkW>)O_$*Bi^F`_7Ewc+xs~j8|H!7uSl_K8q-%?ZxR%A%28VRxJnGmTqRccYDI2UC~ ziqqkATyR?95xo{1gMKk6B%CdTB#^8zgC@(e$El&CN>a>&Nt#VvlNBkMOG^DAhf|Ky zK@LKq5YwV~lm6EHBPPqrPwt0KrHRyGNyMc!zPRhW{MOhPl{1N|2>G_rTZ5dC%QuOl z1;rULxSXtUE149F9)~PC=2A65q^ZmPC^W`5)6O*hMiDxSLUj17DjGxlnffKIg-=4C zn`$)WOBv$Cm^9O)BmzAKEUNfMz8YH1&>OUQQ8v>lYK=9umn>2u7a4w|3Hbz(UdL|i zF;>!j*R7VIS6}>Z)|a!jwJ=w1+IN@1yMd8Zn)SYcH4L_-OUo=@3oW5{)J-O{4v%T}oE0 zd3>c5otW($Rg*YAh92`}{&h z5$I&0&5))p@i#FzN3L7W)xHQurFDOXB-G;zk|C{iQB@Pz`AIcI8k#jqPwt6ularsk zGZ_kP9a;I*s>alzQ_TtTZnGG3F*VJex|l~jLzUe_L5N5_f7z#V>L=8bh|d2yKH26a zL?L9I5R;*B9_s4T5Yi*I(dVt4s^B@Um<5ffHts(nYc^q_Rh6tds#8Tf$3os?$+Ozj zh_Q)!6WKmhnd&@F%DOhPIV&4imDQvgS+sh|W<%x_zfH+K>rA9#C?rE76|-2glAuea zwFqX}!Ja=@8;c+%XT6Ib&vI>nV6MkfB$wlOE zf{Y4h%$o2ojPS($`lfbt@ipY*1?!KTq-2gosH<)@t652~DitJqjQ6>85;PCaWC|LQ zu;LHrJQ8A<6q}*R3yzQ?qI`<4#4c1VvpY{is@SZ89-0P?cCSHaMeB(l-t3u_@`_1Q zkKq?hAHtR;F3u9A6w!oR@ydY0xQLRnN$X5gz8^4HSV#r_XOa`*A!&oP>aP6QWgrsSv@|G1PJbknj zBiFG!EeoQzN>**&WKSoYBKiw^Bni#&M#@{W(hyZ@vdxqmtPtLI(Hl46PsC!Q#%98r554O(L4BRFedi z>CvL1ye=Z_$Xb;cc81|mhlr@<3>CE&*7^=-GVREe(IEM>dx)R;EA(F$VJgK`oFAlx z^r_B3^o3&>L$idRh=^2t%x&ms6sb7HD$<2RjuHCw+191xh>$Xjb1PN&l2SD4xE#7C zNHd~wl239%Iw2q7p}dQ6H1<}9BHl*Bm`E?dl}kTocOu+4n!CB~<~GMHWmol}Roxk9 zYo%en?vCD!l*d@3L@LgNmy+Hh+md;3vf$JoWSwLc1HWd?c$qQQ8E1@jG@3?oT}UCx zFDR?b1~he>5s^`TWzgdy8P5hkmZ#f~+iJrgqSj2-mL`+do3h7qOS}?>cp_enw6kdK zHC!$EB1x0O36nIp%{Oa}CN;8-anR9my$RS5)Iwzoc0q88R;NZHh8g zl$t83DN2PDr$(lVSka&lS?hd3^IXeE#3`a$o0(d~y^#84IVf#R8bKnGU`Z6CWQkej zitYBuhDBVahmeC6+6c*_QyB$^#Z2R#YlVt!PE3Ar&pLq9sPZpisYd;m;_ZHB9A-5xs>~BzLwXNTkTq zNSWxXQ=MqkMD`Q1^Pbf9L@Cl-2#FZ&U8MQS7@-8qMq~J*jDk*9aH6BLh%S;W4k6Q22a^#&Wt*jfAbu4mlNDg`pV%5Bga`1dR zR)R?L=Ts>T3W+2xI*VvE9yRUmT&y7uiAaf5c;pw6;*2-eGmbbMDZ576r6mltDjpG` z%35D###21)MlMFO-;?xYPL&cBzRQr+W%-gOxLZ8WM42I?c+vbJI>bY_nxka7=EaTS zFlDPsGlXy&D4gz=u>?gJ!62hcq_o9hDXECTlS7Xo<4EZt{-zbdElQ5#WUU9$G!sPW z1jA7bnwp^*kF(i4KI_zuDuQJR_IHf^X1=0}9ogrJCypn&CoK}3Ns7`(>mQaH*(eHa z*m3(P9FVnz&i)pYlMrn|B^fCBoAh`*u z!lJ=$j=opv%}Hw=JNwBih6WkD0}Zm@`V2<)dSAVqF(+n_@phQOvejh}-st0zWuW9uWe~CfWsr`S4EDK>40?AV1F(G`gT6N%gWb{B zevN_o=z|hta0$}KmBk=o!eS7hKQV}l^kHSh;LiQ*0YwbrkB7l=dxk-2RAB%bg)m6} zVK8`{2L@dm0|u?*{soV%enHk_UjXrE(7{AO;|qpmDl$U|N*ROYs$ua3Mc?BK#>yJ< zxjYTB#27NtCom;_ts`HML~G9TPww~vO-bKDvJ)c|>4VWDrjWi%+>$Q{$3YMe#U$aS z$``cf_=0cM&!g|{gVZoY(IDgt0`GU+B zp#Psq-=cg$@%@tYg$#fK*>a{V`GV{;zF>0FSC1)a6p+$)BLM`WpY+{FzJS?I?nVIP z3ugC346t*&=pR{*q8AJ%eLM1kD4*X2YDwSNc0qe=U0~cLU64a>E{G$27|8{X<%tW* z18~6zq_2FpK+nx>!7-LC2uJ!jxfW=%OU&7{r3LLnXu+5}XF+cbvmp9T794Y8vY=W! z7T||D7BpUT5lp~w)*+YlMPttsq|Y5V5(`-V6AL0&K1Ao}>)8;B1=&1#oLJD9z@;xz zX6Y+GC}xUt=`%nqke_2qpKUzjAUcjA9~StUNHKxwYXGsJynSZ+;@q0PnEY!~km-xJ zXT*YleujV$7#WUEEU<#cm+|a5A|KaYYE5^OeM`bRY0%h3If-8akR$}V6=`tt|0zh zRDCAAM+H+saRn|p)kDDyqzeJzaRtq7Di~vA+bm|IhawaL*lsXYrK=|sj;LQmDGX$^_fM9f3UtbqlR{;N< zUL0RM(5QlItj{7`fuOMI*e&ZjBO}i+N|mzt0&E5U&iW|mLt0-oIck0NCKaTlin9r1 zb-z%mz6vmBt%6v^v1V1!@AG}U);C*KkY(#jIJLf_0Ijd(Rs}Aa8p5m!I6kF=j!CRE zEJnfzz*Pa%ga0A0mdL87fPQc)XkCwK5EVrQTlqc6MImT?Ap$vu#Xx}yChIl7!|6bR z3fM7BVQYP5<-32fFEB)HeeDcXP=2lxpaMtS4Gr)=1x#FDvJ(7TpJxkd>vMBc&|b?F zd~1CbAZ!u641|!4N`ZS>Qt)LHQcw&z3cwm<6qK#?!BQ05WkD3QHy8>|%nu3zV*>@P zt#8?%0H7Uzf|AxZX+HsBl26dP);CX20C$yz3Jb=K+a57^0>M%<*9pkyaM+I$N5u)a zciseX#=8kBwZ2g{0lxl5Y=YD$*aTPmYl0%zX##+)ukM+k@wyc!TkDfECMbr%1fc;V z3y_tX))$yb0G~(&OF&25T_q?krvw`gMG0z6@+64<%p{n5GzoI@YZ4$&Y!Xx+I)RO* zSV%d7qg^6_<7GmEX#z+Pt@YX6BPen2jzHg3JAyb~as=^r+X!~e*4H=r0QHR(dh!in zDUz%p0(y8w(C0QqfLnJWh<|+;C4z_T0@0f0**15*?7Ksx*3fri(&*zW)`tve8SV>@sfV+SH;tpm_^Q3o1MC_6Y# zikgj}_WEY{2GT(VnjD}fcpeA(9*YBO%O~^Pipc9D#w4iWXOa5`xLu!(yaCquIpcJe zG%@K0i1!fOIkdRIQ3F@gvjMkDX9JU0Y#?;cYXFw6uZPw^@4;#y1C1K!y6b~A4LpUB z2I3E*fdkt=1ChbbK=s^a;7!+8M`nOMwhVl8r;vG)0rm-Gp!3`qz&d|1kmUMs69ez! z4g(Dz$v89Pc}OV|Fd+8m7r;IlUm%{)3rx1Yy59v%o~;YaZ++F~0)ilc4{?EK&2E9J zW46HQQ!UVH8(N^s^^GtKFvG_Jb#Q%S!vbvMz5?k-SK!)gtw1E#=OR`h`1^DKJ3z$0 z{Dedec`0x@e+pL$Ed`q1l1fu4m|UVj{7Wcs&<;?b7~B(x&h7-(>H6yB1lU|3 zVr~MbxIPAI0#&YM0y%VH0{M|XKGG!S`ZNd$oJy-*3B1iKj+d=V2`tXAPjC_-J(cXfWT|`Y4g78!_5z1pXvj~T*3#WOtS|Ry1pgo0jQS${L}22 zlV!wsz{vT&>q9(Qq}S(jJiz6TJYZt|=jgn?M49Vr%_y?2uh^0R0?YMXo;-k9+j%m2 zi2;I%!fAvN(e-H~4+wHacUOuvOmftAK=`!|7^UlLTJ8EEnfqcWhy`>((g8*pBLQ@M zEeULN0Q~$q?8|Hn45a9QF|luhhYqMu0NM48xxBKzLe_x3BXmG?sOW(3bq#;lpPsSN z0mM(F0|ZiiBkGwvr32cx>42YdoV~;Vs&AEa0HTGTtQZIw9dOOWsXAmy03j+3MxZb{ zfarkL5IR8bEWJesn1-PPav0D7iT}?559?k7ZUjPOh&ij|7#5fzAhZk=WQbT_ALxLV zu)dG~4IO|p5FHTYA3ESLFbBkK9|sg{Jo*S06zl8wlKw<}eP;z7`&o_zQ*TYOVw9%Y zOJ28Mtp6wtLD03~08P{>69Df&BlLMlOU{Ls8xF9BPTmu6P`v3HAV8Z`1Kj{7Y~oMx zS{qQP&dMsSsa0%%uDW~LuDFscvj#*b8kqvr04XCL{h7=_~T}PZRtrPFIS$+0L09lq>JwdyJ<4O4Tj>WL#>LA0eV_SYf~XG z<+Jb*Ghhi#V08q)*q+?NfHM-4dyl?aU;z4~I0G0^_}-)ke*r9PC5-+r;GA-DYG$!F zGGe@}%rKvlmZ~@f>Vmh;t^&pmbvy#It}M3&vw7HX1@C0F9}o^I}K9 z%&zz1CklutV4WLf1ei%(_=3SUQ!GXPYt?6bef#?X&VzsaKprQ}rbRwL7<6q=CWu(3+QUnF0PpP8 zKavny`vy8HicvO9*8$)p2F?L^k}kbal-4Lh-S2$h=j3(_(;Q@ec>`D&v4c&th1Y0UCf8 zKaZ`?a18K=`9#(Vyi5uMz*7rJUmFGtd;#L1s@W_8;&TCn2_SOJoZK7L0yN<{1x_6~ zFl-VQfR~cR3Sdr;uq#mJQvhF?j_g-yqX59et)+zVXTAu(W&_G-0zljdP?Th-65x~n zuMSft@rMNHA@95BHR47o8zVqrqu=hn$wX0V4^2ST5BMmt5HEVhA;3K{s!qbyXGYC} z00s4&LlA(|!lI0ffeTiboP7Xm^Nqq+h&%wVA$XC&K1fe;O=VAL2#^;*2^PQswAkoD zanNr7U`|e1r>3l}99sim@?+-BiA~Tq`ZNQ;vf%@qG0tQs1`wxDl%wO@U>86x%JP(j z-q3dAutN4*EpsM~TaxD@rz;D@=U$CrEpC}lNtcmhy; zgfTLRb0}RU08|kLWp;0Q37JrUzl)Tlk$?rw+<6dr9?GtY6fpuwJ&85!Ab?zlAho(D z=1$qCq``Us0$M?~8!XM=uiB%J1K=;Y-2r;3S~IN#Oz-OqK+D2EGy^~;Db6(0Sdg3% zMH&V=**dZtf8T|*V|@Z^)1x7r{e4!a05lzW4`@z&@=5@fb^sc*Wvs@PKa;290FX<; z^aTL1M`L@)n;DJ9Wt zB-e)j*XJI`ss|GH=l_#Uh~xdA855YJ>$U32RsSz^Xa^Wg25y6HnE#EQ=nF0k5C4Dj z|DS44M)yB}?AF3xA#{rUryn%^D?Ke)wa@qdTfK}o(Bm>@*Ey-4sGlllIe1&zLT2)4K?(fuPz<))R%*JkbiUUcBd z(T{l#QbR$p|I;_Ssevl(tp8c9G>xP*=qAQM{li->G}q<(9H023|6}Wc*KZ0_@(NA) z{EHdRWyH29K+XRi%gX~o*R9}Xg|NcxZo;WnKo&=8cuhw=+`*WP;n*Vz( z3@cDmXgrE;Y5qlpx;GbIxZP0mpYNO?9mWx*^3m!AYyKAqsk74A!)`%^<{!Qzj2+tX zFtL)Yg(3XSlxj5pOd;`x_%c8*cnAe5%|GNd!@I5Ihvq+3Z~s;)`6|x*Gwo*zR&)R| zk;MsykhtL&_pm4j%SGhU%gjG45n~JWz&A7h$nT5Tg;onMAIVrO)kUZNgJl6t)V-wn zO%32Uiq)!p=HDF&V6TK#kq^xLmw32l+p45>_>05Lf8c$*)8+I?xD|qHy$+iBzp^?v z9nJi^;ffybe-VT;{|DbVmuzHQuuSwR&6)oqc`Xt4u_gNKnE=z}qX|VvMC2%a;M3F$ zQ&_MPAE)9aIaFx7-}_Rd$y#Ur$3pB34=3v0MT)r}L9@@v{P4v`X8u>;{)@u^xdH<% z>>axxZstFlS7qnM87G|iUooXT-?vm|c%Ww+DadC9B~6+ChMhykD}w3@3++dFM?OX} z{{gYiu3Y_cnSVz@jsSvdR#C?MJ4**ZD&e_&JB~Wczb4VZL4G=r4d#D8-)OhaY^?$m zLOKue;%o#O?I5s>PeK*UKg~ksVyBRfV=IQ|zcmX30DG22kTj?+V2O-iRv5Zks>ISRR5Kh!;<=V@C zpG>(FzY*xZ{4W5-a?bZdNBW6&7#DM5pFG9em_vx8`^#ib+K`n3n19N=6wckb5L#(P z4vm`%Dmg)8Pi@zN`7f8gxrAIF{!4MZ8#Q?6-Y;)NfkO%N-|QT&Gz{kb$D_&qo-+St zWm4^J@=|zBbnDD5#mNDFX=vtOP5r|xU_wpK{J)m-4{acPP4010Ic$VBpx!lB8LR$9 zofI$WAn`+Xe^23xj5Gg%4aZukyN6}A^PU~J8iHtM{vYN6!VQT0NYMXlgJ%9a){`3= zaNLp2eCD55>O{~CX*9&r5+LLs=5G7Pkhf1|JCE7Mdf23n@sC?8q~Hd@=Za(e8@KF_ znh*ad+BXjW#%un!&{)HN2boHR;eX%Gk&ZC@f7tE!^2%p`iBbe&G(wvYS@&nXL!uK_ zEL!=}4bZKPzu~`7Eq2C?MT*1!0Lb%??qY_{;or?Zu9$L5xX|IBy#?u&jC&3{7!Lok zjMJ178i)U-0dTq{Dej5(NFDx%Le7DZgo7ZU3D==ZhyU40E?I|e@@4pEn}hgj3m_69 zwOMV;&V+A!a)jiV=yNV%GD*(;?k0apz+inA{v}5BD-Vop;5+I#noOFuX=SpV!;3jA z{5vh%%G$9D|4^t)N(=*c;GJL0oHWg}4gW#U@UPcnqKs5qDVJWy;z2q} zPJ$Fa093=jt1PEL2>Qn}qxkfe6DI5M5A>rK8)stW%q{4lk6q;G1)IQ`!@u^l0SsnF zhciv7TA8dM{vLN2+Yw4ok?g2OA+o^wWd*Qun*n|~{!V1~4|28rs47;e#j2O@%c0Pc zAX%AK5m|XJz7abWLw+;WH-k>!!HL)LUFlRx(F`c>40t!24~|9QL=92Vk`E@=<{2cklQ z3_<)m5@ZAm-fa~X>#*vhIapCc{43So!~we_RfG5+Ux;mNtH2M3_{Yfpvjv#aEUhQKoMI>O-*%|ov`G=0p~OFbN|RyBQPhqWuP4!+ zP|Fszi2uHW-^^-M_z7{i%MCl)(V$7oGP0HOt$+;upc;hwc8S zl)&x}?OO~xh!7M#SpoXdVg13MbxDx@ zaZQ0ScQr_l_pd)Ji}={*Z%U}1g1zsQ6cqzU;q~%?rps3 z|HX;d2q6TE2uXj&ga0kos;_~G{@$tT3&IL22j&V6mgW2Vgg<|O!6x+K_Lj@eUqKCw z4)NX6=D$CF^edB973Sds05-rIe&6S86tWkW5K^vw-lm@~@%mTlRS4sXFO*_$v99`QO zApgK%{f&Q>66NC0FMtp#BepnS{}O+KbGh6*_Qr_A|K>7sP_z@6wmP~Gr4P33pC zYM~Nr`^&|B>97Q?{ih@hoCL^1C_>uL0QwbC(?oe9H~RsB4Jzv|FA>th${rQjf3R9F z0w0X-SrNp3kKz2dZYq`iUw?1wYkfAJuEMG8`qB53*v=#hXzO>W&4eadzwGGG*=%$+ zHSM?h{WulS>VJZO9ixl?VpUQ7Edb+C{Xubxr~dLFAIwhu*d!dMa_rt*mh7ojAEQxI zkW~Fss@pF`@HYAzBWWuAaRn68kFtQo+lIno`xB#|gy$%qQ3sz>KlE3=!;r8C*U1MMxr3zV|4Vyuq?N18uD~m6`BfT(fmDggq2m0dv=Gi;E6o~5 zsV3}Jiv&1e^N+1U_-InJXZ~g?14I8aA9;=WVNY_%wa3VU*oxH4&s#vs)+&9p{9h84 zkoEAxu*xqxI~pgvJI4!a9p#@*O?|0_LrIf=O(wtmM%_f!sf(O}VXKMWjn@?USr6cO&T7z z7Qbu}=+6#=9~f{)@o&p@9 z?ghiztmP*MvRZo5*B}1e7ukgkKgY>dOiIInw1q!(siq%O3YbU2Kj4-Z-y;*j8~l0A zJ0uRQS%P0stbA@K4XG`$?ErzliraMh;s>S5D*pFJrNXb4S>S{^-R~1geyngclL{?b zvakwq6t9&B=Gz@+M;2`Bzzcl4_s3I*xJ04!K4QFj-#{M8vuA%(HYf9b-c%r2CJ#8; zOjghb4ex6Us{9Aq^c+!quF|LR}2u-?8~IuAfOVZsO>NA=n0 z?SE9ZVH*h8ToVOmIbL$WZwDai?d#yigrQkrmekwty)V699!k9%clY+;FN>t@X*+}` z5NZZ7+-LdPy?xUfUE*1p&DfMt@Ok;Mp3_V}PAbd{aK3$yMg*Co2*=I zx4*|Ml9Up<=(>A$px!=Y!g@!9-afTg$x~+SQEXRJ$luE^u|Z3ml^BZA?m zX#2Uezj^{wR(1MWUfN4aKM|MnwNF4%tvs+ezeqMcqj@Fjul@R#vu{d_V_p5zGxl(W6wvG&bJ&63t(<|0_FJokAT%ah z?0GJbCwDG60kEy$Zf-uM^8x5LOZOM*Bd)J1gh^@) zMqHoK9=D7nu9+?S3#LZYcy`I z-!gt${)v!=PBb8M{m=J+-R( z02;mZDKTxp8ZZ;2rZmG0RrSJhisrX;DK6kRc)N9!uoq^;G(PUKX zpAaz^S=h2;<2g5vdKC|=-Y}mVD6LTx1=tgb)(+yU^)IeOa5JC~AyI4n6J@LwtxgFV zves9@A)TWF3_=00&EOxEQlMLjb=_FKHiX#vW{T@j;b0oy{T7)3oyd@?YdZ6EL;)i6(*UJ|&Eq zt)G`HpDU5E`A%#bTHjlZVDg)|5tb0W16F zIwPrHka>Ld2tmM%&_sP_Z)61}Y15+=P`>~qfEfDI$FA{}U`7{fr$6E2h>Lw;oBpZ_ z8oQow>V}I}y$U^!#PUe2kk7QK%Le^eKGVwf&q7=tJIacS%b;RRrqi8|HWra6<|~p0E<1KgN&J z!RJ!~P=eQvGF~w?dy)S*7%xEY{P+c<7U(z4OqtdB1<(#6)^cez>b{qO%VFCZ? z`*1#LH-8M;zQEVb7j%(nCpLeEzryaPCi=o+3fX|k<*j(J(H;7ke>*EAIrhpp(UQnA z9}fM)5*380%tvNBGG#F_iX_J{<~tE|61+Vdu7mm4$VEJMx!P_mf@CaxNslaPihV$E zT>h!7X0!^`b5>wkhl6WuTJ!nJpXZhPEY-@4SXTL;9Y!SB4vvUfQ+`(9^)QjbQDsg6BS=(ou4tZOP!prDF6Hsn7+5@VqN>gBnIh7GckxjDx@PT(N>_+!>X ztdD;p+S@m}zMaG)9)F7kPN-F#aTwh}RW+9RnzZ;M;Ju@vd3=p*V5vq>Va0&V$vXfPOro-_L&-3e_Vo`iVhg+1d zEs!p#9O8=`cr4*<%zpUXJ?pI!QHxTCPf1~q zxI!}Eu;CBYOADe%S;Oc1(b0f_z=hZs!(Y)F@kz>2a}!%;;jbfaj)focGt`3@L;fUQ z_Y?kU+5EWT0MbIAGou-9gs%;e;D!F}gWs78P!GO)9+JzZsA%vRl4LhJ zfl@~BYw7H}C4xVTN(jq-(NqThdn`in2f%9tzEfpqPS~mvNG}*8jLGOZ;Ypni@P$Bv z|LA?bKpEiPt0Qi~?fn!caeGCjau&JXr;id; zlgT2gcWnHn_ur)VgMCJ=Q|V)MdaSzh&3m($&i-9`O)Yu9jrKIKBUgRUiT5sawUKBf zlP^8U0V)$0YdkCFbH)RDDQ&JICS5% zcQJlMhwk4$F-A)MOAO~$9{yfEiP&5?JQ@w%pRxpLZFf{yHVN3! zefhidVkmHovGJJT;fwyz{r)u8#pQzp_K(CI z(xLm{AbAJhCgnJEZ%n`qeIj+FALT*CJbwJg+bmNZ;Z`9(VGbv{pYx|JuL|8;$`z_k z*>%BZnjNv(ri^iC#lo5;}iqPxOeb;F|Aw*|5 zZ5s<;kyu*fS=r+s?O9Y^yA9enHa?;m-GpuL2@s+@1?0Oe$(<(#v9r%;6tZ@4|fq7R>EKh}=edwO%n;b0VL$kItAG-g0 z@vgKX(K>GEUh-JSuhg=y(y$f-`v~3NTAx*2H}{UhJ}7Q5CKA1{lIH(PWM zn0r@lme?~OjtH<0>|o$~>N;(cHhFY2%Rye- zN4Bc{!FE{F6YCdCETQ(iw%>}IbOa}!6ph_e?ASH_g*I{qxH^JLr1^g;^tOPqboh-`11j` zR4-y-Zcfb+?XRm|^>NsslaQ61*HEy*#{P|dS23;W#P#yFDN}x6& z=RH?TID2lF$`w?#EujZ(pYeo!Gw4C~!)3)OYm7U^>BE^*$;5K@%>Oi$tazgvMZ*|G zD{%tqc<^K#r}}<>D71t-F=wx~Yb7v@t8Dp*1$fSW6uAd^Ylq37`TxY((^5?)_Bc@>k5@qCksJ}DL{tMlDi#C25xFw2hVkeu%oHeaeC@glfle7N` z&TJYIXvo={MdL=f>w3>~_Qgh!6!n_3U$$oLr2~)R`N=~98hMBpPSAW0`kcM1;)GKl zOU85dm5CY0`d^;S*^AQUkT?_U{5g9E^9)@|Db8L4st+EE9T+5vh|v2GDgO)tmm=@u z>_5LHgV7!GS(CG$Gb=Hk73(axG0~WK&Yo{Um3XZW+MGS9p~jBsy?o`Cvp)+3$<`m} z$}$u@<~yDVu4X-H!0h`nORt_4VcEBZ?RExPo-|{sKzXun)z2X4WG`Lrhl^qXQ4+ME z>k9Eok-fqX-`(qSPZA~rd*k#ik-hp0gswuySPF#+*{cZFSF5Q>{CT2nHi^`@k(;U? zJuG_1h3w~5l?ZjULF}d93bNN6($_i`=HGBFYOI-^u#>zW`EZc^vPsJ`OPc8S?t<)_ zVolNpf+3Q8;~X_1`%|c#LZz6KBBi}jCfS9j)TwaiCuH9tLq0o81`EX`iW=wx^L~{=Bp^SIdKuc-SZK2QAy*EAOv&gCGDf z>p{thP129-A?*1n!oEgTCs-FL#sa`vZzOxWtNOia@HV+Z+9ugUB25c|)|9I@dwP*% z50tPW*@H+iUlr4i>>Ku}8LebwPfp0@XGh58Ts%JgVUZV?@kiH!(Ci`4R{Prr`u*rI zmBe1&5jU{e$bP3l?rfYiR=MR~)sjq=i*msMZtpm^=eW-S-O=csv>|K&n&(vcf^QB?wzWPc^>0eJEXbixK|lKm)SB7N1{OVs>{ zJ=Ok`OmnWu^#8NaYI7Go^i0W~Q)k)2ciw5@Gbx%~;u1baX?o9{sbflSW4{vdin(@C zU^+s{J`897dl6G?fXdjtN>kj+HE~7(`$815UTjf->>N++087y8+&vKC+Cjq zMkJYlR?0W_GD=s_UKuO<#(q=S9vq8+WThv41rA;sXtH2M-KyfO&P8(I>z5K{#{NC~ z_}%1?4*MQEUt>%@B`NIp&*73O+=WzmSg_w?c^+(BF~lQ_RxNC8z!i8i+!B8e=jF^1 zwq8{3A5@qr)JPQUb)ohYM$&L4OUQrIcL!V~IjTu8*cU$@&4PV+R6(ed!9G4s4q0St z&a^J}*ABN+s!E9=TybQBeGrcq25uVchi{`ErmOpo$5%wrnHftC8~A*Eu~4%{Iy6pa z*V_$v)7sE$hiQ9Dl<=w-H(}FQdi|9672{D*23MH|qp-C0zA-o(cs=P``{4z~l^l4c zw7!&8HtMEO>jftjfY(!jL{I320h{o8GsZ$zNO--Xlq)Czl%A;5MSh_{`p$(TIUt1B zhdCopZT;iGJKBKP7vrSVC#30SRm;UH7Rdv6ecPc0Q#N|gxNognP2mK!pkz3&SZ@Pf zKWNt!s1lRV-l(claIwM_HTwHM?E^xQK#}>T^B2W-t|jHz;lExy+HDl zIWI8l1SvvM2xHs&_g!uMu?rtMn>kEezl=g}{J>?Z4sZRf4{h+oq0QDGBfvh_&pyzl zT2B+}et5%#SJ@5;trtG<{gKFF)+4s0^&&^s^QeMv(h0vOM3qCt`lI|X!lDO){Hss- zk8flwv4&mv))T913-_(fq^HY^ec|2e(bCyVjFgvN?r>Rs?hP{j%2hvwfr7W{LjcIq zs<-1F*k}`r;~quT7gFH1;v-WzcS!Y1u)-3&t(3-}dQ~k`h53ntP5m3k&gEI?PK&h% z*!bL=`l2MMS6woLL7@-8HtMGV5{u61(5Rm?cGQ`vhlhyz7C;oDJ`;ck;R7G)PtqZp zG9Lk9ubyK_*S#>PH?xaqAo=e7^xJ@;=Pp#WT>N<`13kUPY^-TIGN>pav`&x8H8amI zI91xl#OXQl(NB;JPbiX%KDJaqFC)4w)Hl2&J=~bev64A-0V#zD{j%)KJ}1oLYB;e?8iTAc1ykmCVHSp6c1#zc!%hX{gp#mHLCw%h19RbN~6K$;W{{m`Su)1@wX06H_Sk_it7H zdDOCzfW}$7a_bJy&s*vEfQG2&_EzWo>$7i=e6T%USkmX)IMoCF?}+$(-9a)^7Tv@u zHfzj~J>T7&E^lt{q36>Ky3XeR2O9J7d^_X$T3g_-s@cQJ#?an*#|bIze0M3V&g&Fc z%xtJ2MCbR%%CHTwPkN@9=j--1rBRqQ=IZ=CaLp5ugW-I+c1Lkt-+b&cyV~Q3 z=;oJ;&};1|!&*>fSwV|G+99Ick=Xq93DgDGT1^|7$J;zBHLqvnmgX@*nXWcbArsB3 z=_wCXziSB^6U~7U53_PfDkpYJMvvT;`S$@cy&4)(4Hc=fF|VzK6AZwAF)_bFarQ1u zfsw-e3a|8A!3g`5`;ohV`H7qd2A{l&5}5_Wmv2%P0IXJ;EqIrYQ|nbnG0PzPV3_9e zSEFFsZtJ_{9o9&P9V=Om)bjhEqnc6;gewGemgTWhejuA^wX>g2JT77Rk4!)ZmY69S zvCK_(K{Bj7@p`y;R8V^=PfYfh1EVTP72fMQJQ9tI&5zTwqy4+7|f+a}ejN zk3^mpUgo1|k#ESaR%Ga%kE0nl644%=V6zNpmxL>4_lHp}$m5PRSpdNoke^UYH_{7& z4Yj!Zc(1o0f{!=8!T(`ab=cRQ#~YtKb4I5T{-{OWJAO9MrOoQ<_!~Gs-76r>@nXRq z?nXvE=eyx}0cF#dF0+nIH@*~=eE+=!>9Xd1tlKM0)W)#5Xrjg&iemd(QMe|4QW`$v zT`Q9tBJh}XTu`u#M*-j}F(-HJR#?aQ7sv(_{bdcfg2H%tN#_q_Ij&O)n=jt8;I64c zM0M|-GkwqN8G`b=kQ9;J=jRfzB4P1{y6hO$-&yJ5taxuSwt|5cvzH4MPkn0FblFSy zgW)J1W^?8UR{(wD-L4*+Xl6ddku~wPdVN=Sj0M6HKOC<6h0E<(Bk`;jus;`yhVU8p zX~ajHF$RMY@v}aUAY9=7Lhp!Uf?9#M&L3j9l z=N4Wc>&?)sgxAX9Cu57ExZ(S`oVUjX68(n1{WN?O^Y%%ypc$_WKYEr74u)^dhv1Lz zNY*E36$h{i2T`1W;V&Xy;jvjPY1DD>oYU(GU(2AIqOKCY!J_8e1W<(PZyotyg#R?* z<|&SA;!x1FEOYd^B-`OU39eGHX<7o7s_?#4u`l<>tTk0LUz`mXi&y&#kR^}B5bR~cTc z%KANn>-_{qQMA>nDmK4&KGb+F*CBLU(i6X1#m?7FDardzsiGGS@+t++zKaCh)&$a? zp!%LSwD00;Xj-ZO{qQ@}_)(Qbs3_oLbArXH3g z3n=frqDumUo1hwdQ`*1k2BXnfkMbUcaIfvdrF(W?HaxYC@~)EfS`^eY=I;n5RcnV) z-fNVYY{OX)IsXwu3cu7F3w$>x@5X=YQ-I<}J$bK@w7OU`gMXbeg8EQfB0g@0ee(Vb z4YiT=4zQmp?riw7veLf%zCq*vS(ELGch3>^KphVP!@F1TSYz1%7*cU7bg2>A5+qEq zV&J`wr|~I)-sgdLf;pInb&50a{%-UCgk#<>H1HnQji*uyywhHxbhsqWrjhOWSGCQ) zoJaa8Yu4GffetM2zQj`wQ}>ej6qQ3rQXYc$#S~opPKW;H4jDrR4ae~Zywk`_5`f8MV?q}BRQ+7{?k^#H}N`wLLovAvw@hb363|+5_2~9}UQHM9PE?8eP2hvQe zbSt&NiUi(2k}lV>Yqvz`f%j6eqO7w_BY2lleRva2K;?q>LuV>|@^}$H04+fRxEgl}q(Aao~MaP{#dU#k+S1V#mhZ7I;Tf&yvC+@P3BiE_#4^6G}ra zdzg77PW8I(M~gYCg(C;{nq=IfF+1R$a2~r2e3^m2W$?tJ`vLFmrz*gP0C;a$EQ9zB z3Oyyd=n6^#-s{*&cS-@gGyEmF>*@6GUInOoB5=UROARr*>+e3tFcJRUXT_ScIrf<9 zzq=5CmZJN=s1y;OJX;sSJnD1u@BV{^9u=(rWMm!;&wuyC&OheAd$t%?w?9zSq`eaj z@yqoPUsM_EIL><)J0i=!dp|+>>hbT+Y@}s)0t$e423+Z_t8fTppTHdJpOPpFc()1W z)M$AQ@c!45qoBk1&U3tX2TIc2y#jC5+`M%iq}(0+xgcyJ7(XLFu5aY`hZ8{_3S9|r z>NR|e{p@V)nTj#|M0t3_|6*Qrfy08L+R(R!-vGM1%_0B_(;_P$+iSQX?6a$sjj^;% zY!4LWJS$3W}W77gL8oL?o9(T^Wf=VfO zbrxS9nxZ3Wy8s5KO6&y{ zs-zA`q$+Edn##hqZk%KTZa3%#l!VY-M#)Pqr}=ikt($iwZ9W07UbpnE8!fuj3rgE= z`r&J=06G$xHMSejK%m-9=KQ1G2mvSF?dyU!WmY%0jpn|Zn=6{QGLqE67Pg`VHr^r9 z$e4HM9)1aOquL*L$?=Lic+)92`q!gjC-wlDfO>JaaNCWhP*t3kQ0XxCTiK1Xbm5;* zG;KFM*OK<>Xev2mIaU-NZEBYz$@lSvQ^SMm%9&MaARdqi2M2db@@9i8nY(Ti)P`C$b9Zt zmb>eP`-U=7k(!Xl?4*Znf(fw*zT1Dxn`|6h&=YpIc8V;b#ev@k%R)Xgc*A25)D|W+P3nK9~WJ_>G6qqDb0T)HD z8&}U+aN&@816M>wlGG4E>fqYrA(rb#y<2OP*yW{?CD+a0VrAqNA^kJ%yt`NwcT>sr z*OI9(1APTQcQd`EY0`?I9)@){$y3ub6dlg|RIac6uSmJTawNjkG`l z@Eh6WFY`C@Q?-!`aMW2eh`A{29DJfVRTs5a%)y){Pj?ZjK70=FCY&&8j9Bl5bH`?j z+!tj`nT1RZ1`cOs9)0465Wwhg%ylIWN%)j0j?Cl7;Nqx{LQ*a0$Bbz=j@N^CtW_1= zi>?{{12KS{MSDNHLJSf)uo% z!cIb4&TcXBmU$2Z%#o^~$S&ukPUQSxJG`ktOv2qlb5!MDjb;u#gwGsL2P2wecib7^ zydyWPpol)3cACCn+S>BbwUnsLlA9m(pA!dC@ai_!ARIzPzff+iUUM?7_FyIL*wc%e{x zbu3#uJI*?Aw1}+XI*O$35oV~0ZQW5&QXI3O$(=I! zn<3I2_}gP}cceIld54hYZG|1F-EUz04yMp%2kDXH+c~r}_3wr^jv2*usM)f3)c9u*RPuApG%o4Vw(f6Bk;+Y(OeL@k@atZ$R=~C>H~A zzW11EKzjYN1hqhNM?T*q^AzHf3;A1(f&_^>*ik12X+j4{I8P;CM34FotRU9mg7h3M zC$Lr_4apy#J(_~3XK&A7z2g8PGQa(=a>&m0x^GC%?kV{hqZSXT>mJh79Efz+^D>ra z59!sJV|!*r{@uBWRCqu^se3eJ;geP*A^zQUzsEb^yLBSzJ4teb&z5cOzXN9#FcR{L zyJ6po?|#n~mD2J|PpbJ(ZxUz_F6wdw`Ni zHk%WOUNJ4S%m}G=aySUu17dQUDi?6+gLF8Gd%Of^Q*)87+%cpQb+DB8ryQE-0hExM z$^e$sKwQa|S8tTOF(4AZFH(aZ?-o1d!5>l>IldD=Y99Fiu?OHR2lt@$p}2&&90fE- zdBOR(KlZpEcr$q5@hE>tOR*E@r=u$9U-XVWj0kCK)lkXcv4==c6BqRQi-?2#AxSXO zJx>fxBk9c8!(`xZ&mQ)Z9M~SZE`E?e$KOR75(%hjB4NW%3Ah8{9yI+Vp9e~?4vn~n zvp~yrkE58d6^UGDzsDp&`aaT)uHQr3HjdcEav13vTcot=K3&P{IdreVMUvEhCw1w< zxJV0og5Tv7E|Tg4rkTd7O#dFgmr^DkvFB^Y{Ck{;pFORl|HbIPXBYTEl-L)qw@3}5 zKZ!#7n-2ebuBMq#Wf3z^Zjo-4$+5LnN7rs5w~405$T7ZL@obNw?QX-EiujF&pX?rxD{Zpz(|JZ$t^B&mbqR(@XUJ*Y$qo#{dkBTc6sS0tGMla*7> z+clfV6=^(P9e$^8jIs=>-eXLp0#av)>OB2IiHBNwz)_a85p19{$QRC=6;95_~WdWjLwtAA;|kUVN%tZA;qwXyYHEM@NXI2WAOV&fCNPVJ4<@4}c{sbaZ}_|>E9p0U zwiNzvDBQx~lT*Ke+>5S$@i`+wiGJKppxF#Lb_grKWj5@sa9)z@s&jL8y z_&aedMgh(Srbiipwbe{`Uv+amTwIlXSeYXJz?=e1Rtw;tw9YK_^E|8PqL*B)L zE-LzLCipXif0U36AFvvsicgYHcpe`x$L9;RmqBhMl@tn2OEQ9IZlqvp9^#gX5`?2n zq|<+0ZoNO89UtobNhm@9qi`c704<#qwU<|iKMUYb^czd}^F5QjI7MTc*kCY+pFW3wO-9`$hm4_5?p%t@Moa2&r zy!-%$6N-yrd!0mj7%0XENn;FiT`Douh;SoC>J9C+G!F%AKOh2bnXO|XJ`-;QKndS9 zvSIU?s{Yw=i2Gtp3}4wj9csiD@oA|~C3iT%AwC)uGYo~(zr?vW()j3?nv1Wf)f=Df zKnmxsYCWfI$0gzSv5}G`6m%q(GM^J1AE9&U^yN3s@p=9xYPHVNGUo{# zpDBHHuXKbwqL$@4RluJ3AOZW5RXpJ*;YisR}JKJsMth;>{u(nkyse=A7R z_iw6@Btw0S#Fgq4mzc`WkFVYqkF_I`v}_GgMH$x1V3j`UpRYjZc+{@4uJlnfEuloK zB{VgXTCyuk+=>jN^g#h5r#=qp8*w9&G>)*p2aK{h6%v-lNu;V6ktDj6Yq=qUMUnzZ z-G?`kB;u<%mI4vdGE$@Z;6TuWVog$lSiqF;crSH-uGB~pu`_qo5lQCc^sMSn?miD8 z2_LA!9=hnB2uTe9S3s!05ic>r28TvE21)*wv=+iH`yd%+xK#SU&L)(%1Az>VDe?m>QN-5Sups4jrP#$L~11U*t(5TK-uUoYbLlwaiH5K$VTp`aVtfYnC2K5@ACGGk_k6Ar_i7_3C1) zjZc*-FbD`>Dd>^vOl$0cz#4@aR~w(7g62O&Jra_<%om23D~^u|h?5}`R?hOP>X9_f z80C(lw>CaFR|FNEJ`Jdi59<=Yj4g(Gq-Mu-gieBg=TFrm5gkc{u>i>c5o~=S%M%DMyo~E>ZDEdXJ=S&%_dZ#pgv!rrBHZ zG1A*)uh^jGp!fiQQA(EmxbrAJB!|53P)ZoZ$1_&CF>baa`-(q`5B~vqQhZoCQirq1 z7KuiR5BGHt9O}z_iC{`0@ME827*SL{fdrkik_ zOGvg_6d!`)#Y+#GqIIM=j(XTIjBy>Q32d0dMk6yaR(#IfiDs;VlzPZjeAJiP@u^nA zLnGP4&R&S)t4=-#0nWd4O^$n@d=#;FbwpP?_#dek*>aIa z^coa34epm69RZJjB$!G5$eJ+0+1DPayECB{%YPtzo~znH?MO{w-^`=G1!gIBGeL2TNC-`#sd}bw7>_}bBBVgkyPyG{Z4j;Uw;sVsiXi@O1@BRS_*Z&ph$=^H++<>g`i9TLlr#s$AkEBK9+UOjv~?;85Sq1cMGb zsY%*d7(V8_IBVKajFcgfptj>SPX|Gx5h)7$40G)0onNRJFK0lHAr*MOB9?`r<<^2ox1-kHj`NyKgT) z*&eBxd4!jUouakHr^)Owhiu*AQwchHEd)R^Dn436C^nb0#fO)8tTRYG?bG6;kt7OD zLhQ$ zvdP|46+c_NM?xW$D;wnFt(^B$K5m?dE;66-l~JdSq_F*bT@igGcE#qLK18a#W0I>6 z=mY!YkM?;eMx!lUuclED%HF4GQ7EJ=>0bziy6?-=$MSUUk_v_YW1k=WFose;I%Gd< zWOP{G5Acv^C>4M3saFI3mqUd{%-f_Km!&LqvsQRDoBknJ!w4z=;nw}vwf{+)H+Ugu zkExePY5;+Xlo4VOj=Lh+KWSfZ2odw=`B=jnL8(9(5JKqvBtt2^g-Dg?4J_+dhk~hc z3G}B?D(Ig_+5k%h!jp=^c7Fn0Mmya|3B+(Sd!X;#KsplF0B#_AN=$P*(9yrBCjUTB z=5858nvyw}mRaMZl&d>2CC@W-Y?hKShYAtg-#d)<4TPguOi8e7N_bl12Xsmi>pQWt zBiush0~f!4S5V3{(+)S!-1QIgi#M;jWVP`&K4+fNi^h(sU&5vc_^_p{-7`6$L-y0Nx6|^Qws+;bOEcgMy2Es z8kY_&LH%NEhkzCmildhdD73rw(gPX}m}(#5ACT++A(X|nIu(NG?j%IIx*2vu)EvjK zjLL0;pR*Fy&28p5B4EFe*+vv2OwXQ$X+tTo=V#wT61@_*6D4AvArB;vn7F??V8m2k zAW-(jL>?NJ%bJKDb)rls0%kP^7=9wm4n^|XF$~^|h7>J6;$16KG_6wpT~SeHC$-09 zqI-VG?eif5dOvce1zb-YDn5hxb!RXCQOAJb7nMN%` zjle}5e86D8RlX}4J5OjdE8wfFGm1mp5u zT_j7ysG0Rt-PJ`nCj|N`T!if2E;3#+i9qx3sl_$?;5ZP<%!H8GxhaoB3p3LZ9=5?b%ml?q}4!9q)4+!^`Rro`?|8aOx8=qj#NfO zbUJg*q5}k^>spVY%p$nv0#SvTtSl-rPF;>HGZDa{44ul$Og01xQ!WBVHkI9OrhKl@ z$D9cOdEKj=={UzYHoyp5A_y3t2}Y1U@L2^k6(382;ioi(ri5HZD#)M@-`M|_k!uoX zRMPZ?l`z6*1REOh9*sbP5?QWMN1k(%87%u5m*!4&YsDz%z)W2}jeybbCx%GPv4 zd=F$e%6;#O;cx1}&@yGcGb>HVXz133b7H4~e8R8Eu-EHhV-22C5`Ik% z>rQJr#lsEM*VOfDEaSiP!;#s|ebg8@BaVnzw`KhV`3~Y}|35T2`a^&EiNS_GxPBYo zWkei}tY(f*$rh_@;s_}VOa^w&gu14%w3-sUMLJuEqgGq9;%y*~W<>|Zk4#V^bn7+XvW>p&Iull#NgB3(eTWzAV)I8P@>xn+7thXKhab?p+WAE`WZNbeHz1RYhrn-M8KIX0{qg`Xq7o>WOTPJE6?gD|{JQrzMg$|kbD zkvxq4Pc_-p-l=@n=NPD?;|38sssh=^xHjc$n^lasHjM%QK53Y4E7vB}z%8!lA3%rh zNC3eA#sQ&YM>~TLBT%b!kRj~TXi4hazYg5mBM?rt^-CvtL zMGT`(n3f$m4KpdhAwFIxq}QgM!G$;Iw$U#;N)?~$MMPxw#yxp#*%8D#a85t5C=Ce9 zj%G@^<(h0DgU=#6+OXdwO0o{z)+W1NQ!Um1bcs63u-(gsH{6_(`gDY!FxZg^ynS(w zU%koF?~Yez|78l#Siz3q{t;M2nR;KOYg2!_YV9}}ZlCfBJ1Xi(?2dcRt!Fpb5nU76 zrb?ERKu&Tz2%2I-KIT0g@iH62a@VG^Vhz3w&=5e1YZF4fznIxTJs{AzvJQ1*HtQ46 z@K}jD((IEmKs85=O7lK5s6S9g9=?W-DE$rBN7LLH0rI4bs3SA9#Vb%th&47xSiR7CeOB+V)M9MQO4n+k=V%zZFIw3<#w+8srYUWTzG z`02>kvo>m1+5)~w9`e#1PDh4G)Koj?6F)#FUFarFGUz7Wwz>B$#b$hsa&d2pU`LdK z*tsK}mBGRzJuzGnq?<0{3Gi^n|JVTrU6`_a^oG%NxcLZ)Qzw>}^`2blG8&P9L|(_{ zf#gY?5e!nb#QBL+B~ZgAR7g4*<`d2Pb~#QnyQdcp$p9(YL8RNniJ(#1}P1)LZ$6gN($tZDQZFkwAB(9{`;JNlwi~CX$q*pPU9mE#+~`)ajxsZbM2^7w9Uc ztFPcXd8Q{IgI?`sC8+>A71Dof$xidl*%j9@$v>>J3{6^~UWK#UZ=X?VyHm_jDq!za zAl6xy%|zT~N=uvqbFnJEy;GT4$$BE*?AAN6@_(;DXKrBc#Jr-Ns9d8codh?Zp^nc9 z5`=WpstuK-Jd|g}>7+cXrpi$e(@AZJ`+>-8NhdvQg=UDaJ*B0uHTp4+4Z##v9on(l%Zgf$q-a%ty_nJBWa#4~UIF2;s>o*o9#AME! z1Ym+ii8{)>DCyafOP+{ZW7drK1~GX$e3aiV%*_0(LX@EA-4mi-TtAeOC4XR zy4DOPxE_^>0U#_o)1@anNslyi7Ft8hWm3zG$)1iUI^qo}W8(}+M(=I*`|3_&>aec3 zm(yQsHlJ~b+FgpJsxOq(EK60b990XYI9SaN!SW;7g;Hhok@Rr)EXYEs4$7NL6KQ{; zWRoXIWfe+OyzmH3vhl=*tP|NU84lBUin}&sYONBmvqYcOCnj${wLdqs<&`TGE zQV4l$1Oq_*)G#H6(I-VJMu&fU6fGCr)Yt zaCBnkWe%(DR3fNVpLg;H*08=_5hnxlPBlYYdyoq}Kyz}b;-p)vX|W42CcJ0f=@(o# zw-sMEtjXCVP%nsx@s6R=!4T$Cvq?9lRS*jxhL%mzWS|K&Bsf1vTKB%Tj>CO+i*-RK zmcvQ;>fm3}5?I4YEdSZ;vjl*7r-e&&UJU^Nu-B53-}G}aN_>-0qeMj|7MLC1B)m|n zkKgHvS~Kw^kDobxQYBA_<*2D&aolTTD52v#Sn1>mPkk!{=BXPXG=@^**p6O^Da9!+ zZM9CRqQ-HmCrNm^|5&y=c{&400Ntoc?zbn8uP7~uK!u+29-F6GNyc7&8sAEI>Eil$ zCC`^D5?F#d;(AwNNf(nMBujZnDA;C6N~>z*j|xxSx;<{ZwX~k%WE|TPQH1D}ujV~M zE)9^;Pvldkn&k;AaVc6v#sccPw>^bq^ioWZVs^--^`K$pr(69s28Zz{eXKK`&uBI4 z=M(4t1aWl9Ja$wbQUsnlVT&$RUTasD_|u9*grrXXRD2AAh|grwCC!$!KIgZwhonnj zX%L1`FUeX$dY=3=H73_4(WRcxz=&|X+pxr+c$G7m?fo?Oog*{KgkD!dNYmywqm9sp z(k0DKng%yaWqqh6GP?_$BT<|d=nP%HGhLFM@Q6C7WM}&uLw;+0^W;yLa0a>vgu?-( zI9C|V{712LhgYpHNdlh2TCmkyc*H6OJb9y#ULDtv~#q`pZG$r zdeY;0*7NMHlNv;FNo%epfJ1vDfBFdPTmot+F!eU8#mJwCeqiN!eLYgm;cFkRGe)&N zxwM8=0fKbtOBZ@iqo0%al4HVkO)wAp6WA%{d|#U*DqV8Z!HkGc_krtli5+JYK(E0b z-Nf7fD~E}!Wve;BmM$lMp6ZsL`)U&az9_ZR-W4Un3#2EKL+9NkAhI~|8=$)sPpg)z z^z>5w(q|~|3CU`Hz<9*Kfm-GW?+CL4NkM7MNkQ?zXsXt%*U|0!_%!NU&B+_5A`&V&#mx?~=NR~gyt^L#Q zOTX*;?wU3^?P(*33gYMh7R3*p9r4NNRf1fj_Q|}UznTog;ds-scFaR|A zf=k-WFrB5A9)Br_tViz|sU z@S`RD$iC&h4eZ%Jxj~k?@Xff21IDuZO|7Q@!jY?~tOZyo5 zhn%F+J(s?P8(yvFlEGOx+SWqsm6Uw=llSFS*{rLrdCw&rP}Q#dK)Cq}q6CKlBIV?W z_|r#9RK(%4OT0UNgO5=itVqs)_0J>M9@+EtC!V?l(!gf3dKe|RiTLRwFGqyEA9^;H zJrx|Nx#XMr01Rj@A+FjEtuWHJx#VP122RA#CD+GM{4~V;Gw4!GP47~|QGb0#4|ECZ zCMwkp2dK%Pq-iw*QJ>A?F4}B|{ZnUDu>PMMc--YROSP*8_jQa(0wzw!1VJXa%8-c>?3rRvZCD+U)}YR7QTHk) zalK4}Kr>}lvv?P0(pnjWD@G`uITHnyP}|fYW-gvkBXO^lXrh7zBGN>b;cP{Tr=;@T zZVT07SPxMsg$oEC+h=kTJPw^n>Y-k2l7G&etaLQA@?M(|;I}+6;3mw|O~C2gEFpQ* zKJA-cYA_%;X$h$O6^qobz}E&Cezp^3tVCUbxlcPzJ!L-%X>wA572wP1$C`v249|;z z&T{(N;v>pQun1E0rkP#{=VXHlRur4V(bEmSVC%g(eK#rrkEW-5o1${1{KY}kH$|m8 z;~WHX4FX+G(A&*(ZOR-MQ55;rn*&@Yic+9&&eJiHjo42xHXDhseK}b>^ArVD@YUf> znt;_g$)|Q}Yn&5u!S!5}b3zhrI`=mn^T;$O=X3$-m!4$1RFs$t3VG|IRwANOimIk2 z^&RM$lPKP(s1qP#cf_C~DvBm<*?)D#(~9ao5JbBnvKi5dOaK{r^Byilr+bWGq3!$L zqLZeQ0~%1FE<$u7xt_8n1sfWolf>01XWn0mMl0$Ix7}GiAv*bm_}ZgEDF{GxD#@mb z+#;(LRi3P@=_I@z8cNvBaYQ$1I!%RTBsTb8paShRojx$0gtS`$q_2pJ$d+}@EsE%P zx?V472|JyX{3B|ougKyfcbcC*T+jr%BTWczRQO7)xdfx$4Dg9tqYwy?e8sj=(~M=9 zdLmBnOOz5k+0)?4)X40fe0wwZwWF?V9_XPXLCq{!#3%IbQIu544sfZ@?oojMBZ#|? znt>US68t2-@29Q&PsYvcbU-Qv!=L(Oc9fAwA@`lX#tt`7Py^hIZlr*I3kYOS@}Q*e z8S^D6PNv(DO6uZYO3lVX={ArPT_(i?3gx{?)dZJ-!IQGC{cFeqr83>}3bPxZ5q2&! zM72G27XrTVtf?jNWJjQ=@gwRj`HV18pvJ*NQJIOq-b!6fzvwG^S*hj$uLVWrDn?j5 zrQY#^hucy`0?&}V4Vpo0OyH<~evs0=b)=*AG+07~JgTdK$vza6*}RYP4nt8Rrp~`n z)WA0I8d9s-#I;CWs$lY9nL@bipWNZ-CRZ)Rr1VzI&xV~8Vx!cY8{DMN(U+EDw(+y-LFIVQt>MpBi_PP@1L=o=G4^l#L}3W zwEAU6pxZ1{;Fy^7XUe4&fN!3Q1cBPU8iq23;EfyqUyw;O;=sEHF2cGg2IDIO;ga~? zO(kR$IXHB=?K>dMb9Ho_2_T%!0m7S7K4)PDq!BY6?20!_#*a&O9n z^r;dlPSbCQ0xY!8Hjw8{EpsvjQ~=mRw+J{asomCC=redze`iHm3I`y*J1aO$IdxJk z0CfPFk2fW#^3E^JGC+RTSX~rA-qbZp!5C-saGN>PT`Bt!%z0DTwmjnRG{wmOAt|SL zQ|Oh7gpN#6@}>;FvwKq&Zj^6|0^WDWZR#m3BmSm-g@99+6*WZ~QFAs0KyIp{s7nCg z0jIhs`9zebk|B42Q!eLkO4Lb6(H_m6nBs2=4ka1bGzQHRCIh6M^C#eLZqp`yQ(FBu z;FKhLn=O+Ho|2MneUS1Qyca|qCb=t|dKfaR5G7D6i)KuPg66!3M&;kSu=*FZeaA$| zhHP$#&;8?aYMg&A^?yhsTuv2o^bbiCG9$+&32ZJCsuM!FYpQIP8)(&%^aRT(DmaaD z?IeV7PEL`(XS`bv0C+J_%jA^IBVm?|2V0n&QZ>wUjX`hONZ@NGi;CRIDg5C97E^bc z_B0TOhbO1d<*4}UW`dlusD}$WIkFjt-P9lO0S9CbiQM2;7&+CZzfu44cs>>)@JcSX zP3P<;n!;=gZgt?)9%g(^4Z(V~-ww_R-b5W3LBakvIVF^u0Z`x}oi%_1 zDtQsO$1uY*2H79QWWEBIN-MV}TjW&jMW#&}*gx1Ty^>SBYV^>T z5b}CqpyU)_vwtS1@B$;eJUA{IAU{>4puO~7|0bs_)|9)g5?fv#nVd4CfXAnkY}O~I zgk*ATy?{9wjrt-v71L58bgl(5*YNoQ_vE6IoPs%twuR5n=C8_X0+&rr`Nbf1#nkcG z(9w4$C}D8^CLNB8U=-MCCUd9$tj`hLe>DT;vpx>*Ay{;Y2u&`4|a-@ zQ-IMJ?;RxA`ba*g#h~;q0L-9}v~|B98paVNr?@}o8k{Lu6X~%O$D1)wl(K-7oSLa% zd8d#WUQzRg;vn?zqi?>gskBIfN#pc`=vSsJs#;@!OCF#7$f@kPqt)b~bjrY(MUhh? z>cQTdMMcP|cKaD?>^s6c^&qDNk{D#isp2u!_W)ypq&-gM3SaCQz;T@Fwj*}06{k}C z2+17Y!!H>ATuQG@N%qNDM&neQWi)vCmQ17l=yihp)zgmD1dM4OYPd2uQd*v$b=APKuugrOW_R6X_)qT3cj$(ersS3*%ajJ0DGL6$2wj5d`SGPYh0=N^E4yV`= zO-6RgaO#DR{R2uLu-Gro_4s~6KW{);BJZlhDJX`k)y3E!qE5r9VSuK|U8-b(qg1kT zoWB3Eh#XGwk7SjNL0Pm7r&K$1(pM3U98TSFtWoFLH7kcxfopqJe&PY*RB?b2(rJpa z1jmY|Tye=3ma5aliBqo;8^s;HHF2sl-@VnhVW1PIB#G*(x)|C=;*{1CZEkOD5SBl3 zt3V=gO3MVzaH@9!5l%G`zizM_boDi#ph_f7ID$%b@sJ$EbctAMC%;z+r+O2IdMg|Y zC5|_?x^=+|rx2U2>%JJ;2}j|S5n^XoMX!ib;$_nI*DDg?UUHlphCl6;TS6q>MFw%o zF8@d)wYnZub?E%k6Q@RUIb=f75~naMWTl-2V>mVSx|e`S9Zs1HB4ib=Xopk0{5puW zzx zHWnf|OyJb9i-?vRu7OiILJ*w_yD?-xpLFSgQ?La1eWoS7Ky_;1lxF|J2Ks;%_s%^rtU+o@cB2Vi(G7Xsiq-CQ|#Wv1E&!BttLJ? zjs$yzB292gyS9X-a|cv{Q@k%;p{F!~deRldW(vkiu`gAAuvao-z~D4E1tkRrPRUTx zep4bB2u%hRk?>(mw@p=G33xBB!G%k(#iLH6#z=0L67KIyX|u>ESj;kk6HLYGo1(bQ zcx)hL#W$57OOTwZqtmPI+ZACML7nBB^41B|!mT*_rchgptI?@s%`)GV`>Sj#U<$Gip zVZ2i4`kR7|EY-}gK!<5u*x}x~I+0=3T?755^6+MaV(Ilw$xcri)sZyjn^NclP3ph2 z=U|=yeJ(lN#v^>ru~grb9-_RExZ<8QHpVxVsuMTlQgFg8>V8uwy7dW|kUeK9S^cI& z5j$BT!NLRv`Avx|mI82RoFsvxfJJ$jl-kH6B#$y3+v(Fcb<^C11-#xIl#$iESgNnS zzHiEX+S@`%!0)R!MH$a9bb`#?VW9|MhI&&(fw`RBy(x~w(X{O#UnS+HZ;`X0#AIi- z!@V~}lsxqBsPgDr*c`}ovN}k(=ND9cpWamRLc{kun2)#&*3{mJAa`#{dj<*=_6%r1 zvE)BlWtq_IO-+6QYSEj*7tDj6DS4y361wQSMz3koChbiTjQr&1DxW)VN_OSSlWnE* zt=g*-OKPFbC*G9o-AbWp<_Y;gAY-#)RFJUndbt=z?7o&M_}-Io{Md zG&V+GxqLT86MO8mgHC!S?4~yMd5}AH+>GmUJs|={{B{$`oe21MQ)r?70Bdzh32`^Y zuzZe!W;Zo%<~_>|Hzeb3%B?`GMmoszrY_=~X`2WI@HSJDL&%$=j_Xia?uxq@JU;LH zM__#*p7Ktxr+f&`F)*8(3onu`MOML2T?n>FrQVV<+DkNHxo}^IHx)@0 z;~)`1KnlF6b1!B=#+yR-$VSN)wDG18gThmk8}+wCyeSk>nrI#ssKlG9yOOI}yeXZg zn1(})+1=FQ?tpUS_i?D$ZYsobHR-x|ZRk&tcrnS>Zi-fAKk;anxi_LwS+#pL~T1`PP(qumGCG03EmV)B0i;#j;~CJ zoNeLiOUUS>lh2!SvyDZt z>es8SP;p?>SHqhsLLLmy+Hk!oX|V;B9OZNcQn_~RWCSW%S}0R*%0*(IOz%zUm5G8* zSsTAAdQ-wUZ3+VGO(ov`kOfx~R-p2FQ@nyju{Sk2zXazFO^y(6_cyiu;T#i$U4Bzp zCE{wx1R?SJ-;`vAPwg*f8ciIz2<)jjWo#2P1E<)mEb7X2MnyjuI7K}fKh5Kg+=(J` z9ympa1UwY+KsfRhB>M5M5}n(3PXcgi@_o)4=Ct#IQgC$Ysv_ms(*ig(sgVRtdkyoZ z(NFj?aEhRM*k2Qz!e#Px3CBrLp@UPoLURqWe@t+SeEAut(Gr}pT+!)TQyVn=VUmhY z`tJ!fHD`OVY)m~kRqdZDADn`5V)(VyC^&^!DM&&>&ai+}CIxsBYa!UuN(x~w>6y^)|BCAP&CZHM;rv|4$QXU%` zhDOcN*$`YfC4CX9knziP3#YUfafk^7*qrr+i$;GgDh}b)2Dz4ZwAh2Fa0<*kJ`f91 za0(v$URa03qJmRlN;}A$NfJbS4~(*GMgn-yG=d$wa7tjK)HtdvIGj4@XK33t&zAQX zAA>l>xf~EMWGZ;;^TQ%ZCz;;xvn0If#3|78m^9HeSh0dQ#cjFU#om)p3Vnw5HSNoM zd4}V?yTUEYP#>%siBs9qG$N7$_ps?<@vBi#0BBl!tezQd^SV`0A+=nblGn>xCAv!0 zIAxqr6lFD|GNq4vLIL8(i7CV9l(eM=7k1!t5+(4QdbrT3z*!-7f@y68@&w7MpPs&g zPMxYsgT=dG7DMFIJ^egX0qjmRk0wG^-dpePd^c{@L5HCs9%nRuBMO_31b5Se6*@&6 zzgsoD34c@2DWJ$w+E>EBm(97-VUAF&8IwC2CtD{6%GQK3S5upE3sU_^Ck@akm7n&) z>PHlnHWDBQ&QHWORpihq2S_S<$DmVKI{1^G_Ozf=iqtC_Tr>QH>n(mARZb%HA)P8K z6_rbaqf9QQbPARry1HafXY67+rLdon9fX`tg|mw~z+03tZbb(YdY?|Iv@T5%=YSW< z323U2di~R>6Ztlb5ModX4q7^8VQ|#xl+vk7q))b~tD;!aDY_?E(flJ^p}?h6&QE{j zTLjJu@>e=_$g2psUB2o}$iHHG|9kBcIZUT!6n_ugsUi$>au6h2!hXhsA)BkP(rzf! zPW8&-SquW7)Id9>l^jvGy=(r%u){<+>M{pPiPzonkvO6iWmG!${rIw^Ktp z#U<&d0Oxk9txG9L;E=;+=2PKzN^2!+upD>`_GmRfS&DcqGTBb4OjBNUS$Yj7+D=it z1XODSw^eKXc4|g4L;!q1DrGyB_6(o^&I~rHKHDj~kw$4fwo`>(v3DG1S+`TAxrSmW zq4J!8SWX4yOo5})l9CGfJT8qs!&u2&ZlK+Mv1idE+<@VYC?OJ*J)fx&i4 zyb3~i>ST4HzS}9t8VlOzbxo5;?OrKvr|tmL@NqUqPW!)|N-)ws6G~{6w^QXiuk*1^ zVrV-x=Y5m}qQ&jh-mqVm^X-(;#6A~hK&Z(m;7%d4J++IWDrqt2PPwHeJWgr79df6< zjTx$0Qy$Kp@;QM8V~{qn5^$$9O;Et?7i+F?rx>!m30Ic?YZP>+zL^zOs;W>MWpQ^3 zsq%5)C`Ak0sUmt{Vy9(gN`gD3ITHu$J9hc78|6+#KE*TYk07(mcd;pLAa3oF!JSHu zv4x(H@)~!_eolPsPEFFLix^>C0>A4{(V0d)>=khJ6|yW+W5-6la#rr8x z#c*8CJ7wlvJ=6q8Er{2rha02iV^rQLQUa`fyi=$G_GmLg*0^^{GLA=@JbCV&%3gs% z_fAO*oD*wE$U!_bXJI>_#GS79PFZQSpNG(=tk>06I zG}=7!-6^g`tV}nec%+h!6Yv&vryMfnnATE#h}|g(;P#<Zdx@aIm<#y@~6_Mn_0%{s@9uS}bU~nhIVm8T& zlw58y3Ipo_-2vPIFQbnIVeAjW5HX`54EuvHFvR{K3>KEblye~-Trjp^J(P+KtSCb}$fB&wNA#Sc7v?kj%!FYc%#SERiW@c$JcFDCncG9b7&pX2 z3^@~rDjZ$6;V6oVV%>aEOyVL5yhWE?EE<_cf{~6wG9Sggr|05q@+UJ+@V>W{Jt}+>Gb?Ev7CwQD9wbkl zpdwKIYYA$+im5R?1x_d?bP1kHv2MZ$2?tYp&%#h_Q;0Yt3Ky?S!Ub;EE{GtS5_!l@%wa-)5i9e^f`WwzJpSIl(S4zlV)QviNk31^j2n_0DO5MXO zWbzj^<(m;vN?Z+zOLeFEicU$9Ka@e_6Uq_!L!%;6wxUE~f{Zi>qd&_H6^ecpQYsHO zRN~O7{3rW)5K`4lxZwj9jB(o7KKlz~T58>a^j@81l43ywH<_w_=5{gKoa!1$sQW+1@ zai5_TC;psnW2no*V>nksQ2j7$Lo5FH`}jAff95S-Y{ma+`#dS4nEK<~(C_H6^uMOF z@I!o74hb9n)iTcTua;&Y)hUSONA&Mn-ol{!;T*qaICv1!+q@&6Xm)~ia86F($?yujU&8herTixUkzqba z{twaeD1+=ZzO>~Z7cBDsL}!*m2pY{}{6=X~xR9YM{2~m+AA#Yo@T(S*z)HzdqyLtc z#uX@SD1Vp#ltJnj-uK7k*>nB_#S9WGg$zDbsuO&wK|QMoqKK(fWBB24hsPNdCGLme z_zqToFvA2Tig(6QJm@_H&bWrcW17AYv1#__GrKr;rdtE&5qLV}^AN+=X3Z?(SczNyu#f~z zX6~6pMk7{u<}xG6iTQkDMPlL;q-c?$8fle@!qcXOJ`ZAO;a1SSt8r-zZ_)2oJwZsgsm2hKJa~!$NHS&%nxfTv7L&Vm+tG$0j)>+eb4KXP@13ioa-b zZTL@3NU2DcD_e5=xbTsY-uSx=ii(Anhl-x{WIrjXrNe^ zhfuyz`4OE=Aqe{*)Ga|IFeuCvvM(fCL!EGWgobX$S)mqhQ84J2;X|Rs!XLH4T0=yC zx(lLz(sr{ThnZ_;9G=4Fn8TTl9|Aj8bi3%q83CqcOm>ID>zl=c-JB1Rchu`G* zVqW*dIZ@u>U^(r}8KYcI2`@Ef+TB)T+-PC*paynvKb-$VKh4I2#Gt=(2jUjmj<7>m zuMPV>#SDtjoTDI7Bs_%55}HvIg5~_kv-+6f@x>gHQN^T`d`54}7a9s8@5~IL=3@zw zPbi1KBS`%aeSG>18=_~he494-R7d?dlu)P=l8|PeX5))49lf(CLL{3^6zj|Yg?LsR1bQTSR~rB`7I45A2mk^Bfp9o%7WD@d010?37Ge$t1`rAc z7(iGdBv}anAVLBV5CH%H9AzPNi6U!#b4q_w*0lNR#B@W|b3)8uKisUgB5o{t8)f0- zBxNBw_ryQ9T3_AK5xJB_D%Mh)q%1HlW$_)^*7qb)aY8eL}76wsvltt#iNm=9^EwS3s6qZsJ)mvaOct@8E@Qnu?vg!;Ag@pRM~5fx znk-TtH@&5Qb03oh!LHA{WKp+du?&ybSC=frIAR&tM(_G)snySlOcw5&Wzf)deHfEP zkxUi_<2U>?S){}Lx4yDvvbcW+G#m-bWI@OEjgOB&xYcCg!C2|KzRF~=k0y(ObA2oy zXd=?}Nt-Nyy_n3AFTed;UX#U?K!dNIo{GTkM4uuT@Wzlsg3qM>_a+c#Te*(NLM_G)Tl!Zdqhh|4v z_+U~Nch_ehWr4N`fPQCYT`0io)1D}cuLB6f!tVN}p)AN%jvyNFFlqiM3$-+_k6Uki zeHCRPDwKt2f3Cg0;B|ckD2qJrUEkgyd|jUt%0ilNXE!rQsS-q4P#XIl>JN5(v!B<; zgBV_aq)`@8JUzRiyki3SC=jEB)> zV9~xpmZ99(=60_$5wgo?5#n(uL2in54YpWB0F)l-y340S@A zUeZI(#d!S-6lL)hRTCe619M*SgR-bPscJ}}EY6u<;M`w-rzYAFWH%^_)k=L>L0Qx~ zzv-?%E$uPhcGMsX%~Y>~pdgwJ&jTN3t!SVuR!b1sljQN^?*WuWDX5(K;Tc^DMU4Wz*_isEEb5BSLItIr zI{6#Jl1_!P;KX}BWjQ$vWzqFwX3C!Pau1B8z0_e8^ZA-mFC|k`Uo{{Lth#{My5JBA z33mj2Q5N&i!iKVt0Ym5cY28B=dd*eOEut*gS*fq< zp-XHzQ5Kc}Sq;zLzDyk?b{=-3Z2}2l;)ga-77k2O_59T;p_0^@Lj zT*S{-vn6YojSsUISNN`630^$vXzFhp z%>WFi^so$}O;@IaB>q$%iMEtQfy(=s<=7MRC__qFyi3Au6DtSxloE@#P-HB72{2<> z$^v+L{+hN>)XiQW8z;-nz49j?olC^ zvXJ4Me|VO%5a}0&QuHpexYf)>_MK*gQWhEd)r4q15Ra}FtW@da+hsu~;N140Y9Z3u z7+Q0|5uK_9ns4ON`C$4&MZy6F_$^sze(&)r2X%wd_Wg(SRD8NGv5@!i}j$+{W zbSUs>$XTS-12JV0Tn>r2CZr&|SQxg@4iw%)F%&@Ml(m_NAuT~uBN8zhelac5lts%8 zR97knv^rB3)ITUE3Sp1KyiHjs3{~NM{jDF3Wbm#ji&}lE6VH!CAkC>TA|{%$cqb0S zzdcp$p8qL}E*qH|hbI=ZQx@h!0&sA1$fIrffEs?=%U&!69+d@l#(ofGk>jDV@KXj$ zt4PwN!YjJ6%Z;`y*F z=&7|=?32K@f~yy>c8NdtqpwpIBvhFNQe21F4uG=MSipj>eLggZLne2iOBMu?3!F04 z7zgTks}V(27I<7Cn3aVKq5j8EXheyhWMx5)V;X`LL`~_+Vof{9QlO!Gk#l7Msg6RL8X#!FrIG7-n;;BV7O3A|j;&Y>R~9W2 zNxDo4OaKOvg@6lT9q3YI9%yBOI849Ns(Z5V>R{o4qUYl_lgg6_Ru)hNA{1d%aYCxT z1s48SkYJ#5jm#APG=lH2vJg!S9ZjQi0I{+-_V)k~0G_z&a*CBjB&g;R5lWdtVg(y3 ziwO!hHb30!k*jG|7K8XYe;SE9U*0RY`{EKKDm^q^{q;u2%3`$SSqXPz>So_@@Ls{9 zGN@xAwHayC1b`LAiq%aAzz?_eXijcw5-1noBRfQd_X>vNzR*}%;M3?-Z4%Q^9>-#3!C&83Yw-HLLMP+9?X&6G_P(ADQHCpvQE3w-AmPi5PZw`rwz8y`JGeyUcq=mm|WXaOr${f z%7SmM6=Dn#%Cj!l|0|1%F)@od z@{<_+J^o%H8Qju-*#U^YoW8Qy$6yjY>AqzE2l8399(IZ2E)K1}SD2L|)sqPu*j9l0 zy@ECpsl{91OcQr}wKi?<6$XXG;^0Wm(|ZNwAl+5smBlpzw&XVc(td|uS)^2!@6**M zHfOtvY!A!A<1~dq4i+|+g#qr0Jn$IHLRS)cg(#%*4YEkr-uPviAxF!y>pU7XVMXTjp3>10dqWvLJx2Z>B8+nm4Cd7E6-&2lA1VNT!0Z zES`@5RY0o0G9sfZp#sa=PyHy467F81O);NB#Io2pGfVbP^~g-af;Kt*xWI>D)Y znXAP*>p1yV8O^c~Zk%O-c?JyR_X^hDNWR1ITf9jj0x$5{(9uURV84_ItDF8FVuob# zrrwq-Dk7F(q;zCiq<{hnR0R2|6?H4SsoyK;QZgz836ia-A6`UR7Oh6Zg5d9ke6OH@ zT#W(JC%yt92dU4{=rAI&5l{W!yP|iCuh5xgCGqwkS={6v zStZLtdcZ$P?i3~@c2Fk1LR5|e2upO9WdWqaAEJp>Y7W3|Y!hTzT+An*%emo-c<7wE zgJJTVavNC|;$71i8saA_VBm7Y2uoa#S6JPqsJ4cutIwZL@^!pI`G{grfTjsNR=tU| zI%ZjjFL+lFC$`v!Nw--R<$vW~Ge!ir95TZhf-Lw+W@;JXyem8aQAUjdaEUF3%Cd0n z9Qqp@@Of9btQiTZv{TDC7s)@mX3p_%F

    =*DYMWyZ8T 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%0AgI9M;K7FiN~Bl;0Le*Gf*W6vh+;LX!%*AR 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�*Rh7{o-P*m!v9F~&>h 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 Nm;d;W=|=p^{{x{_?f?J) diff --git a/iOS/Resources/Assets.xcassets/accountFeedbin.imageset/feedbin-logo-filled.pdf b/iOS/Resources/Assets.xcassets/accountFeedbin.imageset/feedbin-logo-filled.pdf index a68d754ae5b261f9a9efd6b10c2950533b2ebda4..fd592dbf41bf3f42756cd26ad35a24ff2f841981 100644 GIT binary patch literal 7687 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 DLnu%E literal 812435 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

  • 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%0AiW}(}jUM3ZaIU`)txJ&g#OcYH@u)MYe}1~Y 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�*Rh7{o-P*m!v9F~&>h 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 Nm;d;W=|=p^{{x{_?f?J) diff --git a/iOS/SceneCoordinator.swift b/iOS/SceneCoordinator.swift index 8fe3259af..1ec3d517b 100644 --- a/iOS/SceneCoordinator.swift +++ b/iOS/SceneCoordinator.swift @@ -1167,14 +1167,17 @@ class SceneCoordinator: NSObject, UndoableCommandRunner, Logging { } func showAccountInspector(for account: Account) { - let accountInspectorNavController = - UIStoryboard.inspector.instantiateViewController(identifier: "AccountInspectorNavigationViewController") as! UINavigationController - let accountInspectorController = accountInspectorNavController.topViewController as! AccountInspectorViewController - accountInspectorNavController.modalPresentationStyle = .formSheet - accountInspectorNavController.preferredContentSize = AccountInspectorViewController.preferredContentSizeForFormSheetDisplay - accountInspectorController.isModal = true - accountInspectorController.account = account - rootSplitViewController.present(accountInspectorNavController, animated: true) + let hosting = UIHostingController(rootView: InjectedNavigationView(injectedView: AccountInspectorView(account: account))) + rootSplitViewController.present(hosting, animated: true, completion: nil) + +// let accountInspectorNavController = +// UIStoryboard.inspector.instantiateViewController(identifier: "AccountInspectorNavigationViewController") as! UINavigationController +// let accountInspectorController = accountInspectorNavController.topViewController as! AccountInspectorViewController +// accountInspectorNavController.modalPresentationStyle = .formSheet +// accountInspectorNavController.preferredContentSize = AccountInspectorViewController.preferredContentSizeForFormSheetDisplay +// accountInspectorController.isModal = true +// accountInspectorController.account = account +// rootSplitViewController.present(accountInspectorNavController, animated: true) } func showFeedInspector() { @@ -1187,13 +1190,10 @@ class SceneCoordinator: NSObject, UndoableCommandRunner, Logging { } func showFeedInspector(for feed: WebFeed) { - let feedInspectorNavController = - UIStoryboard.inspector.instantiateViewController(identifier: "FeedInspectorNavigationViewController") as! UINavigationController - let feedInspectorController = feedInspectorNavController.topViewController as! WebFeedInspectorViewController - feedInspectorNavController.modalPresentationStyle = .formSheet - feedInspectorNavController.preferredContentSize = WebFeedInspectorViewController.preferredContentSizeForFormSheetDisplay - feedInspectorController.webFeed = feed - rootSplitViewController.present(feedInspectorNavController, animated: true) + + let hosting = UIHostingController(rootView: InjectedNavigationView(injectedView: WebFeedInspectorView(webFeed: feed))) + + rootSplitViewController.present(hosting, animated: true) } func showAddWebFeed(initialFeed: String? = nil, initialFeedName: String? = nil) { diff --git a/iOS/Settings/Settings.strings b/iOS/Settings/Settings.strings index b87334880..a6650a130 100644 --- a/iOS/Settings/Settings.strings +++ b/iOS/Settings/Settings.strings @@ -46,7 +46,6 @@ "OPEN_LINKS_IN_APP" = "Open Links in NetNewsWire"; /* Account Management */ - "ADD_ACCOUNT" = "Add Account"; "NO_INACTIVE_ACCOUNT_FOOTER" = "There are no inactive accounts."; "ACCOUNT_REMOVE %@" = "Are you sure you want to remove “%@”?"; @@ -56,21 +55,18 @@ "INACTIVE_ACCOUNTS_HEADER" = "Inactive Accounts"; /* Extension Management */ - "DEACTIVATE" = "Deactivate"; "DEACTIVATE_EXTENSION_TITLE" = "Deactivate Extension"; -"DEACTIVATE_EXTENSION %@" = "Deactivate “%@”"; +"DEACTIVATE_EXTENSION %@" = "Are you sure you want to deactivate the “%@” extension?"; "ACTIVE_EXTENSIONS" = "Active Extensions"; "FEED_PROVIDER_HEADER" = "Feed Provider"; "FEED_PROVIDER_FOOTER" = "Feed Providers allow you to subscribe to some pages as if they were RSS Feeds."; "ADD_EXTENSIONS_TITLE" = "Add Extension"; /* New Article Notifications */ - "NEW_ARTICLE_NOTIFICATIONS_TITLE" = "New Article Notifications"; /* About */ - "ABOUT_TITLE" = "About"; "PRIMARY_CONTRIBUTORS" = "Primary Contributors"; "ADDITIONAL_CONTRIBUTORS" = "Additional Contributors"; @@ -89,7 +85,6 @@ /* Alerts */ - "IMPORT_OPML_CONFIRMATION" = "Choose an account to receive the imported feeds and folders"; "IMPORT_OPML_SUCCESS_TITLE" = "Imported Successfully"; "IMPORT_OPML_SUCCESS_MESSAGE %@" = "Subscriptions have been imported to your %@ account."; @@ -98,5 +93,3 @@ "EXPORT_OPML_SUCCESS_MESSAGE" = "Your OPML file has been successfully exported."; "ERROR_TITLE" = "Error"; "REMOVE" = "Remove"; -"CANCEL" = "Cancel"; -"DONE" = "Done"; diff --git a/iOS/Settings/Views/Account and Extensions/Accounts/AccountsManagementView.swift b/iOS/Settings/Views/Account and Extensions/Accounts/AccountsManagementView.swift index 497b9f7a3..2bc756eb0 100644 --- a/iOS/Settings/Views/Account and Extensions/Accounts/AccountsManagementView.swift +++ b/iOS/Settings/Views/Account and Extensions/Accounts/AccountsManagementView.swift @@ -73,7 +73,7 @@ struct AccountsManagementView: View { Button(role: .cancel) { accountToRemove = nil } label: { - Text("CANCEL", tableName: "Settings") + Text("CANCEL_BUTTON_TITLE", tableName: "Buttons") } } message: { switch accountToRemove { @@ -91,14 +91,15 @@ struct AccountsManagementView: View { } func refreshAccounts() { + sortedActiveAccounts = [] + sortedInactiveAccounts = [] sortedActiveAccounts = AccountManager.shared.sortedActiveAccounts sortedInactiveAccounts = AccountManager.shared.sortedAccounts.filter({ $0.isActive == false }) } func accountRow(_ account: Account, showRemoveAccountAlert: Binding, accountToRemove: Binding) -> some View { NavigationLink { - AccountInspectorWrapper(account: account) - .edgesIgnoringSafeArea(.all) + AccountInspectorView(account: account) } label: { Image(uiImage: account.smallIcon!.image) .resizable() @@ -112,7 +113,7 @@ struct AccountsManagementView: View { showRemoveAccountAlert.wrappedValue = true } label: { Label { - Text("REMOVE_ACCOUNT", tableName: "Settings") + Text("REMOVE_ACCOUNT_TITLE", tableName: "Settings") } icon: { Image(systemName: "trash") } diff --git a/iOS/Settings/Views/Account and Extensions/Accounts/AddAccountView.swift b/iOS/Settings/Views/Account and Extensions/Accounts/AddAccountView.swift index dcaa6384d..6e19a8e6e 100644 --- a/iOS/Settings/Views/Account and Extensions/Accounts/AddAccountView.swift +++ b/iOS/Settings/Views/Account and Extensions/Accounts/AddAccountView.swift @@ -76,11 +76,11 @@ struct AddAccountView: View { .navigationBarTitleDisplayMode(.inline) .listItemTint(.primary) .toolbar { - ToolbarItem(placement: .navigationBarTrailing) { + ToolbarItem(placement: .navigationBarLeading) { Button(role: .cancel) { dismiss() } label: { - Text("DONE", tableName: "Settings") + Text("CANCEL_BUTTON_TITLE", tableName: "Buttons") } } } diff --git a/iOS/Settings/Views/Account and Extensions/Extensions/AddExtensionListView.swift b/iOS/Settings/Views/Account and Extensions/Extensions/AddExtensionListView.swift index a67aa73dd..b1dd53af3 100644 --- a/iOS/Settings/Views/Account and Extensions/Extensions/AddExtensionListView.swift +++ b/iOS/Settings/Views/Account and Extensions/Extensions/AddExtensionListView.swift @@ -37,11 +37,11 @@ struct AddExtensionListView: View { .navigationBarTitleDisplayMode(.inline) .navigationTitle(Text("ADD_EXTENSIONS_TITLE", tableName: "Settings")) .toolbar { - ToolbarItem(placement: .navigationBarTrailing) { + ToolbarItem(placement: .navigationBarLeading) { Button(role: .cancel) { dismiss() } label: { - Text("DONE", tableName: "Settings") + Text("CANCEL_BUTTON_TITLE", tableName: "Buttons") } } } diff --git a/iOS/Settings/Views/Account and Extensions/Extensions/ExtensionsManagementView.swift b/iOS/Settings/Views/Account and Extensions/Extensions/ExtensionsManagementView.swift index 2727a7ae3..50fb8fe17 100644 --- a/iOS/Settings/Views/Account and Extensions/Extensions/ExtensionsManagementView.swift +++ b/iOS/Settings/Views/Account and Extensions/Extensions/ExtensionsManagementView.swift @@ -45,7 +45,7 @@ struct ExtensionsManagementView: View { Button(role: .cancel) { extensionToDeactivate = nil } label: { - Text("DISMISS", tableName: "Settings") + Text("CANCEL_BUTTON_TITLE", tableName: "Buttons") } } message: { @@ -62,9 +62,7 @@ struct ExtensionsManagementView: View { ForEach(0.. Date: Thu, 15 Dec 2022 22:05:28 +0800 Subject: [PATCH 25/80] Removeds AddAccountViewController --- NetNewsWire.xcodeproj/project.pbxproj | 4 - .../Views/WebFeedInspectorView.swift | 2 +- iOS/Settings/AddAccountViewController.swift | 251 ------------------ 3 files changed, 1 insertion(+), 256 deletions(-) delete mode 100644 iOS/Settings/AddAccountViewController.swift diff --git a/NetNewsWire.xcodeproj/project.pbxproj b/NetNewsWire.xcodeproj/project.pbxproj index 579ad1d45..1db337ea1 100644 --- a/NetNewsWire.xcodeproj/project.pbxproj +++ b/NetNewsWire.xcodeproj/project.pbxproj @@ -289,7 +289,6 @@ 51A052CF244FB9D7006C2024 /* AddFeedWIndowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51A052CD244FB9D6006C2024 /* AddFeedWIndowController.swift */; }; 51A16999235E10D700EB091F /* LocalAccountViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51A1698F235E10D600EB091F /* LocalAccountViewController.swift */; }; 51A1699A235E10D700EB091F /* Settings.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 51A16990235E10D600EB091F /* Settings.storyboard */; }; - 51A1699C235E10D700EB091F /* AddAccountViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51A16992235E10D600EB091F /* AddAccountViewController.swift */; }; 51A169A0235E10D700EB091F /* FeedbinAccountViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51A16996235E10D700EB091F /* FeedbinAccountViewController.swift */; }; 51A66685238075AE00CB272D /* AddWebFeedDefaultContainer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51A66684238075AE00CB272D /* AddWebFeedDefaultContainer.swift */; }; 51A737AE24DB19730015FA66 /* RSCore in Frameworks */ = {isa = PBXBuildFile; productRef = 51A737AD24DB19730015FA66 /* RSCore */; }; @@ -1307,7 +1306,6 @@ 51A052CD244FB9D6006C2024 /* AddFeedWIndowController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = AddFeedWIndowController.swift; path = AddFeed/AddFeedWIndowController.swift; sourceTree = ""; }; 51A1698F235E10D600EB091F /* LocalAccountViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LocalAccountViewController.swift; sourceTree = ""; }; 51A16990235E10D600EB091F /* Settings.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = Settings.storyboard; sourceTree = ""; }; - 51A16992235E10D600EB091F /* AddAccountViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AddAccountViewController.swift; sourceTree = ""; }; 51A16996235E10D700EB091F /* FeedbinAccountViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FeedbinAccountViewController.swift; sourceTree = ""; }; 51A66684238075AE00CB272D /* AddWebFeedDefaultContainer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddWebFeedDefaultContainer.swift; sourceTree = ""; }; 51A9A5E32380C8870033AADF /* ShareFolderPickerAccountCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = ShareFolderPickerAccountCell.xib; sourceTree = ""; }; @@ -2021,7 +2019,6 @@ children = ( DF32ABEA29494CF0008E3A12 /* Settings.strings */, DFD406F8291FB5D500C02962 /* Views */, - 51A16992235E10D600EB091F /* AddAccountViewController.swift */, 519ED455244828C3007F8E94 /* AddExtensionPointViewController.swift */, 5137C2E926F63AE6009EFEDB /* ArticleThemeImporter.swift */, 510FFAB226EEA22C00F32265 /* ArticleThemesTableViewController.swift */, @@ -4214,7 +4211,6 @@ DF3630ED2936183D00326FB8 /* OPMLDocument.swift in Sources */, 176813D22564BA5900D98635 /* WidgetDataEncoder.swift in Sources */, 51D5948722668EFA00DFC836 /* MarkStatusCommand.swift in Sources */, - 51A1699C235E10D700EB091F /* AddAccountViewController.swift in Sources */, 51A16999235E10D700EB091F /* LocalAccountViewController.swift in Sources */, 176813D12564BA5900D98635 /* WidgetDataDecoder.swift in Sources */, 176813D02564BA5900D98635 /* WidgetData.swift in Sources */, diff --git a/iOS/Inspector/Views/WebFeedInspectorView.swift b/iOS/Inspector/Views/WebFeedInspectorView.swift index bc145356e..4508129e0 100644 --- a/iOS/Inspector/Views/WebFeedInspectorView.swift +++ b/iOS/Inspector/Views/WebFeedInspectorView.swift @@ -34,7 +34,7 @@ struct WebFeedInspectorView: View { if webFeed.isFeedProvider == false { Toggle(isOn: Binding( - get: { webFeed.isArticleExtractorAlwaysOn ?? false }, + get: { webFeed.isArticleExtractorAlwaysOn ?? false }, set: { webFeed.isArticleExtractorAlwaysOn = $0 })) { Text("ALWAYS_SHOW_READER_VIEW", tableName: "Inspector") } diff --git a/iOS/Settings/AddAccountViewController.swift b/iOS/Settings/AddAccountViewController.swift deleted file mode 100644 index 75a15b4ac..000000000 --- a/iOS/Settings/AddAccountViewController.swift +++ /dev/null @@ -1,251 +0,0 @@ -// -// AddAccountViewController.swift -// NetNewsWire-iOS -// -// Created by Maurice Parker on 5/16/19. -// Copyright © 2019 Ranchero Software. All rights reserved. -// - -import Account -import UIKit -import SwiftUI -import RSCore - -protocol AddAccountDismissDelegate: UIViewController { - func dismiss() -} - -@available(*, deprecated, message: "Use AddAccountView") -class AddAccountViewController: UITableViewController, AddAccountDismissDelegate { - - private enum AddAccountSections: Int, CaseIterable { - case local = 0 - case icloud - case web - case selfhosted - - var sectionHeader: String { - switch self { - case .local: - return NSLocalizedString("Local", comment: "Local Account") - case .icloud: - return NSLocalizedString("iCloud", comment: "iCloud Account") - case .web: - return NSLocalizedString("Web", comment: "Web Account") - case .selfhosted: - return NSLocalizedString("Self-hosted", comment: "Self hosted Account") - } - } - - var sectionFooter: String { - switch self { - case .local: - return NSLocalizedString("Local accounts do not sync your feeds across devices", comment: "Local Account") - case .icloud: - return NSLocalizedString("Your iCloud account syncs your feeds across your Mac and iOS devices", comment: "iCloud Account") - case .web: - return NSLocalizedString("Web accounts sync your feeds across all your devices", comment: "Web Account") - case .selfhosted: - return NSLocalizedString("Self-hosted accounts sync your feeds across all your devices", comment: "Self hosted Account") - } - } - - var sectionContent: [AccountType] { - switch self { - case .local: - return [.onMyMac] - case .icloud: - return [.cloudKit] - case .web: - #if DEBUG - return [.bazQux, .feedbin, .feedly, .inoreader, .newsBlur, .theOldReader] - #else - return [.bazQux, .feedbin, .feedly, .inoreader, .newsBlur, .theOldReader] - #endif - case .selfhosted: - return [.freshRSS] - } - } - } - - override func viewDidLoad() { - super.viewDidLoad() - } - - override func numberOfSections(in tableView: UITableView) -> Int { - return AddAccountSections.allCases.count - } - - override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { - if section == AddAccountSections.local.rawValue { - return AddAccountSections.local.sectionContent.count - } - - if section == AddAccountSections.icloud.rawValue { - return AddAccountSections.icloud.sectionContent.count - } - - if section == AddAccountSections.web.rawValue { - return AddAccountSections.web.sectionContent.count - } - - if section == AddAccountSections.selfhosted.rawValue { - return AddAccountSections.selfhosted.sectionContent.count - } - - return 0 - } - - override func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? { - switch section { - case AddAccountSections.local.rawValue: - return AddAccountSections.local.sectionHeader - case AddAccountSections.icloud.rawValue: - return AddAccountSections.icloud.sectionHeader - case AddAccountSections.web.rawValue: - return AddAccountSections.web.sectionHeader - case AddAccountSections.selfhosted.rawValue: - return AddAccountSections.selfhosted.sectionHeader - default: - return nil - } - } - - override func tableView(_ tableView: UITableView, titleForFooterInSection section: Int) -> String? { - switch section { - case AddAccountSections.local.rawValue: - return AddAccountSections.local.sectionFooter - case AddAccountSections.icloud.rawValue: - return AddAccountSections.icloud.sectionFooter - case AddAccountSections.web.rawValue: - return AddAccountSections.web.sectionFooter - case AddAccountSections.selfhosted.rawValue: - return AddAccountSections.selfhosted.sectionFooter - default: - return nil - } - } - - override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { - let cell = tableView.dequeueReusableCell(withIdentifier: "SettingsAccountTableViewCell", for: indexPath) as! SettingsComboTableViewCell - - switch indexPath.section { - case AddAccountSections.local.rawValue: - cell.comboNameLabel?.text = AddAccountSections.local.sectionContent[indexPath.row].localizedAccountName() - cell.comboImage?.image = AppAssets.image(for: .onMyMac) - case AddAccountSections.icloud.rawValue: - cell.comboNameLabel?.text = AddAccountSections.icloud.sectionContent[indexPath.row].localizedAccountName() - cell.comboImage?.image = AppAssets.image(for: AddAccountSections.icloud.sectionContent[indexPath.row]) - if AppDefaults.shared.isDeveloperBuild || AccountManager.shared.accounts.contains(where: { $0.type == .cloudKit }) { - cell.isUserInteractionEnabled = false - cell.comboNameLabel?.isEnabled = false - } - case AddAccountSections.web.rawValue: - cell.comboNameLabel?.text = AddAccountSections.web.sectionContent[indexPath.row].localizedAccountName() - cell.comboImage?.image = AppAssets.image(for: AddAccountSections.web.sectionContent[indexPath.row]) - let type = AddAccountSections.web.sectionContent[indexPath.row] - if (type == .feedly || type == .inoreader) && AppDefaults.shared.isDeveloperBuild { - cell.isUserInteractionEnabled = false - cell.comboNameLabel?.isEnabled = false - } - case AddAccountSections.selfhosted.rawValue: - cell.comboNameLabel?.text = AddAccountSections.selfhosted.sectionContent[indexPath.row].localizedAccountName() - cell.comboImage?.image = AppAssets.image(for: AddAccountSections.selfhosted.sectionContent[indexPath.row]) - - default: - return cell - } - return cell - } - - override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { - - switch indexPath.section { - case AddAccountSections.local.rawValue: - let type = AddAccountSections.local.sectionContent[indexPath.row] - presentController(for: type) - case AddAccountSections.icloud.rawValue: - let type = AddAccountSections.icloud.sectionContent[indexPath.row] - presentController(for: type) - case AddAccountSections.web.rawValue: - let type = AddAccountSections.web.sectionContent[indexPath.row] - presentController(for: type) - case AddAccountSections.selfhosted.rawValue: - let type = AddAccountSections.selfhosted.sectionContent[indexPath.row] - presentController(for: type) - default: - return - } - } - - private func presentController(for accountType: AccountType) { - switch accountType { - case .onMyMac: - let navController = UIStoryboard.account.instantiateViewController(withIdentifier: "LocalAccountNavigationViewController") as! UINavigationController - navController.modalPresentationStyle = .currentContext - let addViewController = navController.topViewController as! LocalAccountViewController - addViewController.delegate = self - present(navController, animated: true) - case .cloudKit: - let navController = UIStoryboard.account.instantiateViewController(withIdentifier: "CloudKitAccountNavigationViewController") as! UINavigationController - navController.modalPresentationStyle = .currentContext - let addViewController = navController.topViewController as! CloudKitAccountViewController - addViewController.delegate = self - present(navController, animated: true) - case .feedbin: - let navController = UIStoryboard.account.instantiateViewController(withIdentifier: "FeedbinAccountNavigationViewController") as! UINavigationController - navController.modalPresentationStyle = .currentContext - let addViewController = navController.topViewController as! FeedbinAccountViewController - addViewController.delegate = self - present(navController, animated: true) - case .feedly: - let addAccount = OAuthAccountAuthorizationOperation(accountType: .feedly) - addAccount.delegate = self - addAccount.presentationAnchor = self.view.window! - MainThreadOperationQueue.shared.add(addAccount) - case .newsBlur: - let navController = UIStoryboard.account.instantiateViewController(withIdentifier: "NewsBlurAccountNavigationViewController") as! UINavigationController - navController.modalPresentationStyle = .currentContext - let addViewController = navController.topViewController as! NewsBlurAccountViewController - addViewController.delegate = self - present(navController, animated: true) - case .bazQux, .inoreader, .freshRSS, .theOldReader: - let navController = UIStoryboard.account.instantiateViewController(withIdentifier: "ReaderAPIAccountNavigationViewController") as! UINavigationController - navController.modalPresentationStyle = .currentContext - let addViewController = navController.topViewController as! ReaderAPIAccountViewController - addViewController.accountType = accountType - addViewController.delegate = self - present(navController, animated: true) - } - } - - func dismiss() { - navigationController?.popViewController(animated: false) - } - -} - -extension AddAccountViewController: OAuthAccountAuthorizationOperationDelegate { - - func oauthAccountAuthorizationOperation(_ operation: OAuthAccountAuthorizationOperation, didCreate account: Account) { - let rootViewController = view.window?.rootViewController - - account.refreshAll { result in - switch result { - case .success: - break - case .failure(let error): - guard let viewController = rootViewController else { - return - } - viewController.presentError(error) - } - } - - dismiss() - } - - func oauthAccountAuthorizationOperation(_ operation: OAuthAccountAuthorizationOperation, didFailWith error: Error) { - presentError(error) - } -} From b3208bf269c798e11d955bdc0d5be00419e7f18d Mon Sep 17 00:00:00 2001 From: Stuart Breckenridge Date: Thu, 15 Dec 2022 22:06:05 +0800 Subject: [PATCH 26/80] Removes deadcode --- iOS/Inspector/Views/WebFeedInspectorView.swift | 1 - 1 file changed, 1 deletion(-) diff --git a/iOS/Inspector/Views/WebFeedInspectorView.swift b/iOS/Inspector/Views/WebFeedInspectorView.swift index 4508129e0..32a7321f9 100644 --- a/iOS/Inspector/Views/WebFeedInspectorView.swift +++ b/iOS/Inspector/Views/WebFeedInspectorView.swift @@ -61,7 +61,6 @@ struct WebFeedInspectorView: View { .navigationBarTitleDisplayMode(.inline) .navigationTitle(webFeed.nameForDisplay) .sheet(isPresented: $showHomePage, onDismiss: nil) { - //SwiftUISafariView(url: URL(string: webFeed.homePageURL!)!) SafariView(url: URL(string: webFeed.homePageURL!)!) } } From 4ff0bc8f9810b4d72fc4405d0adcd98477ecd64d Mon Sep 17 00:00:00 2001 From: Stuart Breckenridge Date: Fri, 16 Dec 2022 16:38:06 +0800 Subject: [PATCH 27/80] Reader and CloudKit Account Views --- NetNewsWire.xcodeproj/project.pbxproj | 44 ++- Shared/Translations/Buttons.strings | 7 + Shared/Translations/Errors.strings | 12 + .../LocalizedNetNewsWireError.swift | 30 +++ iOS/Account/Account.strings | 20 ++ .../CloudKitAccountViewController.swift | 6 +- .../FeedbinAccountViewController.swift | 4 +- iOS/Account/LocalAccountViewController.swift | 65 ----- .../NewsBlurAccountViewController.swift | 4 +- .../ReaderAPIAccountViewController.swift | 4 +- iOS/Account/Views/ReaderAPIAccountView.swift | 254 ++++++++++++++++++ iOS/Account/Views/iCloudAccountView.swift | 83 ++++++ iOS/Inspector/Inspector.strings | 1 - .../Views/AccountInspectorView.swift | 139 ++++++---- .../Views/ExtensionInspectorView.swift | 4 +- .../Views/WebFeedInspectorView.swift | 2 +- iOS/Settings/Settings.strings | 1 - .../Accounts/AccountsManagementView.swift | 7 +- ...untView.swift => AddAccountListView.swift} | 14 +- iOS/Settings/Views/General/SettingsView.swift | 2 +- 20 files changed, 554 insertions(+), 149 deletions(-) create mode 100644 Shared/Translations/Errors.strings create mode 100644 Shared/Translations/LocalizedNetNewsWireError.swift create mode 100644 iOS/Account/Account.strings delete mode 100644 iOS/Account/LocalAccountViewController.swift create mode 100644 iOS/Account/Views/ReaderAPIAccountView.swift create mode 100644 iOS/Account/Views/iCloudAccountView.swift rename iOS/Settings/Views/Account and Extensions/Accounts/{AddAccountView.swift => AddAccountListView.swift} (93%) diff --git a/NetNewsWire.xcodeproj/project.pbxproj b/NetNewsWire.xcodeproj/project.pbxproj index 1db337ea1..209686553 100644 --- a/NetNewsWire.xcodeproj/project.pbxproj +++ b/NetNewsWire.xcodeproj/project.pbxproj @@ -287,7 +287,6 @@ 519ED47A24482AEB007F8E94 /* EnableExtensionPointViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 519ED47924482AEB007F8E94 /* EnableExtensionPointViewController.swift */; }; 51A052CE244FB9D7006C2024 /* AddFeedWIndowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51A052CD244FB9D6006C2024 /* AddFeedWIndowController.swift */; }; 51A052CF244FB9D7006C2024 /* AddFeedWIndowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51A052CD244FB9D6006C2024 /* AddFeedWIndowController.swift */; }; - 51A16999235E10D700EB091F /* LocalAccountViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51A1698F235E10D600EB091F /* LocalAccountViewController.swift */; }; 51A1699A235E10D700EB091F /* Settings.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 51A16990235E10D600EB091F /* Settings.storyboard */; }; 51A169A0235E10D700EB091F /* FeedbinAccountViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51A16996235E10D700EB091F /* FeedbinAccountViewController.swift */; }; 51A66685238075AE00CB272D /* AddWebFeedDefaultContainer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51A66684238075AE00CB272D /* AddWebFeedDefaultContainer.swift */; }; @@ -857,13 +856,20 @@ DF5AD10128D6922200CA3BF7 /* SmartFeedSummaryWidget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1768144D2564BCE000D98635 /* SmartFeedSummaryWidget.swift */; }; DF766FED29377FD9006FBBE2 /* ExtensionsManagementView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF766FEC29377FD9006FBBE2 /* ExtensionsManagementView.swift */; }; DF790D6228E990A900455FC7 /* AboutData.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF790D6128E990A900455FC7 /* AboutData.swift */; }; - DFB3497A294A962D00BC81AD /* AddAccountView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFB34979294A962D00BC81AD /* AddAccountView.swift */; }; + DFB3497A294A962D00BC81AD /* AddAccountListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFB34979294A962D00BC81AD /* AddAccountListView.swift */; }; DFB34980294B085100BC81AD /* AccountInspectorView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFB3497F294B085100BC81AD /* AccountInspectorView.swift */; }; DFB34982294B0B9B00BC81AD /* Inspector.strings in Resources */ = {isa = PBXBuildFile; fileRef = DFB34981294B0B9B00BC81AD /* Inspector.strings */; }; DFB34984294B3AFF00BC81AD /* Buttons.strings in Resources */ = {isa = PBXBuildFile; fileRef = DFB34983294B3AFF00BC81AD /* Buttons.strings */; }; DFB34988294B447F00BC81AD /* InjectedNavigationView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFB34987294B447F00BC81AD /* InjectedNavigationView.swift */; }; DFB3498A294B45AC00BC81AD /* ExtensionInspectorView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFB34989294B45AC00BC81AD /* ExtensionInspectorView.swift */; }; DFB3498C294B4CA700BC81AD /* WebFeedInspectorView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFB3498B294B4CA700BC81AD /* WebFeedInspectorView.swift */; }; + DFB34993294C0B7400BC81AD /* Account.strings in Resources */ = {isa = PBXBuildFile; fileRef = DFB34992294C0B7400BC81AD /* Account.strings */; }; + DFB34994294C0E3900BC81AD /* ReaderAPIAccountView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFB34990294C0B2200BC81AD /* ReaderAPIAccountView.swift */; }; + DFB34996294C4DCB00BC81AD /* LocalizedNetNewsWireError.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFB34995294C4DCB00BC81AD /* LocalizedNetNewsWireError.swift */; }; + DFB34997294C4DCB00BC81AD /* LocalizedNetNewsWireError.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFB34995294C4DCB00BC81AD /* LocalizedNetNewsWireError.swift */; }; + DFB34999294C4F1D00BC81AD /* Errors.strings in Resources */ = {isa = PBXBuildFile; fileRef = DFB34998294C4F1D00BC81AD /* Errors.strings */; }; + DFB3499A294C4F1D00BC81AD /* Errors.strings in Resources */ = {isa = PBXBuildFile; fileRef = DFB34998294C4F1D00BC81AD /* Errors.strings */; }; + DFB3499E294C5D5000BC81AD /* iCloudAccountView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFB3499D294C5D5000BC81AD /* iCloudAccountView.swift */; }; DFC14F0F28EA55BD00F6EE86 /* AboutWindowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFC14F0E28EA55BD00F6EE86 /* AboutWindowController.swift */; }; DFC14F1228EA5DC500F6EE86 /* AboutData.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF790D6128E990A900455FC7 /* AboutData.swift */; }; DFC14F1328EA677C00F6EE86 /* Bundle-Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51F85BF42273625800C787DC /* Bundle-Extensions.swift */; }; @@ -1304,7 +1310,6 @@ 519ED455244828C3007F8E94 /* AddExtensionPointViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddExtensionPointViewController.swift; sourceTree = ""; }; 519ED47924482AEB007F8E94 /* EnableExtensionPointViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EnableExtensionPointViewController.swift; sourceTree = ""; }; 51A052CD244FB9D6006C2024 /* AddFeedWIndowController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = AddFeedWIndowController.swift; path = AddFeed/AddFeedWIndowController.swift; sourceTree = ""; }; - 51A1698F235E10D600EB091F /* LocalAccountViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LocalAccountViewController.swift; sourceTree = ""; }; 51A16990235E10D600EB091F /* Settings.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = Settings.storyboard; sourceTree = ""; }; 51A16996235E10D700EB091F /* FeedbinAccountViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FeedbinAccountViewController.swift; sourceTree = ""; }; 51A66684238075AE00CB272D /* AddWebFeedDefaultContainer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddWebFeedDefaultContainer.swift; sourceTree = ""; }; @@ -1614,13 +1619,18 @@ DF59F0732920DB5100ACD33D /* AccountsManagementView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountsManagementView.swift; sourceTree = ""; }; DF766FEC29377FD9006FBBE2 /* ExtensionsManagementView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ExtensionsManagementView.swift; sourceTree = ""; }; DF790D6128E990A900455FC7 /* AboutData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AboutData.swift; sourceTree = ""; }; - DFB34979294A962D00BC81AD /* AddAccountView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddAccountView.swift; sourceTree = ""; }; + DFB34979294A962D00BC81AD /* AddAccountListView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddAccountListView.swift; sourceTree = ""; }; DFB3497F294B085100BC81AD /* AccountInspectorView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountInspectorView.swift; sourceTree = ""; }; DFB34981294B0B9B00BC81AD /* Inspector.strings */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; path = Inspector.strings; sourceTree = ""; }; DFB34983294B3AFF00BC81AD /* Buttons.strings */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; path = Buttons.strings; sourceTree = ""; }; DFB34987294B447F00BC81AD /* InjectedNavigationView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InjectedNavigationView.swift; sourceTree = ""; }; DFB34989294B45AC00BC81AD /* ExtensionInspectorView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ExtensionInspectorView.swift; sourceTree = ""; }; DFB3498B294B4CA700BC81AD /* WebFeedInspectorView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WebFeedInspectorView.swift; sourceTree = ""; }; + DFB34990294C0B2200BC81AD /* ReaderAPIAccountView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReaderAPIAccountView.swift; sourceTree = ""; }; + DFB34992294C0B7400BC81AD /* Account.strings */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; path = Account.strings; sourceTree = ""; }; + DFB34995294C4DCB00BC81AD /* LocalizedNetNewsWireError.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LocalizedNetNewsWireError.swift; sourceTree = ""; }; + DFB34998294C4F1D00BC81AD /* Errors.strings */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; path = Errors.strings; sourceTree = ""; }; + DFB3499D294C5D5000BC81AD /* iCloudAccountView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = iCloudAccountView.swift; sourceTree = ""; }; DFC14F0E28EA55BD00F6EE86 /* AboutWindowController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AboutWindowController.swift; sourceTree = ""; }; DFC14F1428EB177000F6EE86 /* AboutNetNewsWireView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AboutNetNewsWireView.swift; sourceTree = ""; }; DFC14F1628EB17A800F6EE86 /* CreditsNetNewsWireView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CreditsNetNewsWireView.swift; sourceTree = ""; }; @@ -1982,8 +1992,9 @@ 516A093E236123A800EAE89B /* Account */ = { isa = PBXGroup; children = ( + DFB34992294C0B7400BC81AD /* Account.strings */, + DFB3498F294C0B0D00BC81AD /* Views */, 516A093F2361240900EAE89B /* Account.storyboard */, - 51A1698F235E10D600EB091F /* LocalAccountViewController.swift */, 512DD4C82430086400C17B1F /* CloudKitAccountViewController.swift */, 51A16996235E10D700EB091F /* FeedbinAccountViewController.swift */, 769F2D3643779DB02786278E /* NewsBlurAccountViewController.swift */, @@ -2940,7 +2951,7 @@ isa = PBXGroup; children = ( DF59F0732920DB5100ACD33D /* AccountsManagementView.swift */, - DFB34979294A962D00BC81AD /* AddAccountView.swift */, + DFB34979294A962D00BC81AD /* AddAccountListView.swift */, ); path = Accounts; sourceTree = ""; @@ -2975,6 +2986,8 @@ isa = PBXGroup; children = ( DFB34983294B3AFF00BC81AD /* Buttons.strings */, + DFB34998294C4F1D00BC81AD /* Errors.strings */, + DFB34995294C4DCB00BC81AD /* LocalizedNetNewsWireError.swift */, ); path = Translations; sourceTree = ""; @@ -2987,6 +3000,15 @@ path = "SwiftUI Extensions"; sourceTree = ""; }; + DFB3498F294C0B0D00BC81AD /* Views */ = { + isa = PBXGroup; + children = ( + DFB34990294C0B2200BC81AD /* ReaderAPIAccountView.swift */, + DFB3499D294C5D5000BC81AD /* iCloudAccountView.swift */, + ); + path = Views; + sourceTree = ""; + }; DFC14F0928EA51AB00F6EE86 /* About */ = { isa = PBXGroup; children = ( @@ -3581,6 +3603,7 @@ 51C452862265093600C03939 /* Add.storyboard in Resources */, 511D43EF231FBDE900FB1562 /* LaunchScreenPad.storyboard in Resources */, 511D43D2231FA62C00FB1562 /* GlobalKeyboardShortcuts.plist in Resources */, + DFB34993294C0B7400BC81AD /* Account.strings in Resources */, 84C9FCA12262A1B300D921D6 /* Main.storyboard in Resources */, 51BB7C312335ACDE008E8144 /* page.html in Resources */, DFB34982294B0B9B00BC81AD /* Inspector.strings in Resources */, @@ -3591,6 +3614,7 @@ 51DEE81A26FBFF84006DAA56 /* Promenade.nnwtheme in Resources */, 1768140B2564BB8300D98635 /* NetNewsWire_iOSwidgetextension_target.xcconfig in Resources */, 5103A9B424216A4200410853 /* blank.html in Resources */, + DFB3499A294C4F1D00BC81AD /* Errors.strings in Resources */, 51D0214826ED617100FF2E0F /* core.css in Resources */, 84C9FCA42262A1B800D921D6 /* LaunchScreenPhone.storyboard in Resources */, 516A093B2360A4A000EAE89B /* SettingsTableViewCell.xib in Resources */, @@ -3636,6 +3660,7 @@ DFCE4F9128EF26F100405869 /* About.plist in Resources */, 84C9FC8C22629E8F00D921D6 /* KeyboardShortcuts.html in Resources */, B27EEBF9244D15F3000932E6 /* stylesheet.css in Resources */, + DFB34999294C4F1D00BC81AD /* Errors.strings in Resources */, 5144EA3B227A379E00D19003 /* ImportOPMLSheet.xib in Resources */, 844B5B691FEA20DF00C7C76A /* SidebarKeyboardShortcuts.plist in Resources */, DDF9E1D728EDF2FC000BC355 /* notificationSoundBlip.mp3 in Resources */, @@ -4201,7 +4226,7 @@ 519ED47A24482AEB007F8E94 /* EnableExtensionPointViewController.swift in Sources */, 51C4528F226509BD00C03939 /* UnreadFeed.swift in Sources */, 51FD413B2342BD0500880194 /* MasterTimelineUnreadCountView.swift in Sources */, - DFB3497A294A962D00BC81AD /* AddAccountView.swift in Sources */, + DFB3497A294A962D00BC81AD /* AddAccountListView.swift in Sources */, 513146B2235A81A400387FDC /* AddWebFeedIntentHandler.swift in Sources */, 51D87EE12311D34700E63F03 /* ActivityType.swift in Sources */, 51C452772265091600C03939 /* MultilineUILabelSizer.swift in Sources */, @@ -4211,7 +4236,6 @@ DF3630ED2936183D00326FB8 /* OPMLDocument.swift in Sources */, 176813D22564BA5900D98635 /* WidgetDataEncoder.swift in Sources */, 51D5948722668EFA00DFC836 /* MarkStatusCommand.swift in Sources */, - 51A16999235E10D700EB091F /* LocalAccountViewController.swift in Sources */, 176813D12564BA5900D98635 /* WidgetDataDecoder.swift in Sources */, 176813D02564BA5900D98635 /* WidgetData.swift in Sources */, 510289CD24519A1D00426DDF /* SelectComboTableViewCell.swift in Sources */, @@ -4227,6 +4251,7 @@ 5126EE97226CB48A00C22AFC /* SceneCoordinator.swift in Sources */, 84CAFCB022BC8C35007694F0 /* FetchRequestOperation.swift in Sources */, DFD406FA291FB5E400C02962 /* SettingsRows.swift in Sources */, + DFB3499E294C5D5000BC81AD /* iCloudAccountView.swift in Sources */, DFB3498C294B4CA700BC81AD /* WebFeedInspectorView.swift in Sources */, 5193CD5A245E44A90092735E /* RedditFeedProvider-Extensions.swift in Sources */, 51EF0F77227716200050506E /* FaviconGenerator.swift in Sources */, @@ -4286,6 +4311,7 @@ 515A517B243E90260089E588 /* ExtensionPoint.swift in Sources */, 51C4529C22650A1000C03939 /* SingleFaviconDownloader.swift in Sources */, 17D643B226F8A436008D4C05 /* ArticleThemeDownloader.swift in Sources */, + DFB34997294C4DCB00BC81AD /* LocalizedNetNewsWireError.swift in Sources */, 51E595A6228CC36500FCC42B /* ArticleStatusSyncTimer.swift in Sources */, 51F9F3F723DF6DB200A314FD /* ArticleIconSchemeHandler.swift in Sources */, 512392C524E3451400F11704 /* TwitterEnterDetailTableViewController.swift in Sources */, @@ -4305,6 +4331,7 @@ 51EF0F7E2277A57D0050506E /* MasterTimelineAccessibilityCellLayout.swift in Sources */, 512D554423C804DE0023FFFA /* OpenInSafariActivity.swift in Sources */, DF47CDB2294803AB00FCD57E /* AddExtensionListView.swift in Sources */, + DFB34994294C0E3900BC81AD /* ReaderAPIAccountView.swift in Sources */, 512392C224E33A3C00F11704 /* RedditEnterDetailTableViewController.swift in Sources */, 51C452762265091600C03939 /* MasterTimelineViewController.swift in Sources */, 5195C1DC2720BD3000888867 /* MasterFeedRowIdentifier.swift in Sources */, @@ -4465,6 +4492,7 @@ 84C9FC7722629E1200D921D6 /* AdvancedPreferencesViewController.swift in Sources */, 849EE72120391F560082A1EA /* SharingServicePickerDelegate.swift in Sources */, 1710B9132552354E00679C0D /* AddAccountHelpView.swift in Sources */, + DFB34996294C4DCB00BC81AD /* LocalizedNetNewsWireError.swift in Sources */, 51D205EF28E3CF8D007C46EF /* LinkTextField.swift in Sources */, 5108F6B62375E612001ABC45 /* CacheCleaner.swift in Sources */, 849A97981ED9EFAA007D329B /* Node-Extensions.swift in Sources */, diff --git a/Shared/Translations/Buttons.strings b/Shared/Translations/Buttons.strings index c869b0268..527363307 100644 --- a/Shared/Translations/Buttons.strings +++ b/Shared/Translations/Buttons.strings @@ -7,4 +7,11 @@ */ "CANCEL_BUTTON_TITLE" = "Cancel"; +"DISMISS_BUTTON_TITLE" = "Dismiss"; "DONE_BUTTON_TITLE" = "Done"; +"REMOVE_ACCOUNT_BUTTON_TITLE" = "Remove Account"; +"DEACTIVATE_BUTTON_TITLE" = "Deactivate"; +"CREDENTIALS_BUTTON_TITLE" = "Credentials"; +"ADD_ACCOUNT_BUTTON_TITLE" = "Add Account"; +"UPDATE_CREDENTIALS_BUTTON_TITLE" = "Update Credentials"; +"USE_CLOUDKIT_BUTTON_TITLE" = "Use iCloud"; diff --git a/Shared/Translations/Errors.strings b/Shared/Translations/Errors.strings new file mode 100644 index 000000000..4844e4b15 --- /dev/null +++ b/Shared/Translations/Errors.strings @@ -0,0 +1,12 @@ +/* + Errors.strings + NetNewsWire + + Created by Stuart Breckenridge on 16/12/2022. + Copyright © 2022 Ranchero Software. All rights reserved. +*/ + +"ERROR_TITLE" = "Error"; +"DUPLICATE_ACCOUNT_ERROR" = "There is already an account of that type with that username created."; +"CLOUDKIT_NOT_ENABLED_ERROR" = "Unable to add iCloud Account. Please make sure you have iCloud and iCloud Drive enabled in System Settings."; + diff --git a/Shared/Translations/LocalizedNetNewsWireError.swift b/Shared/Translations/LocalizedNetNewsWireError.swift new file mode 100644 index 000000000..b16ddf099 --- /dev/null +++ b/Shared/Translations/LocalizedNetNewsWireError.swift @@ -0,0 +1,30 @@ +// +// LocalizedNetNewsWireError.swift +// NetNewsWire +// +// Created by Stuart Breckenridge on 16/12/2022. +// Copyright © 2022 Ranchero Software. All rights reserved. +// + +import Foundation + +public enum LocalizedNetNewsWireError: LocalizedError { + + /// Displayed when the user tries to create a duplicate + /// account with the same username. + case duplicateAccount + + /// Displayed when the user attempts to add a + /// iCloud account but iCloud and/or iCloud Drive + /// are not enabled/ + case iCloudDriveMissing + + public var errorDescription: String? { + switch self { + case .duplicateAccount: + return Bundle.main.localizedString(forKey: "DUPLICATE_ACCOUNT_ERROR", value: nil, table: "Errors") + case .iCloudDriveMissing: + return Bundle.main.localizedString(forKey: "CLOUDKIT_NOT_ENABLED_ERROR", value: nil, table: "Errors") + } + } +} diff --git a/iOS/Account/Account.strings b/iOS/Account/Account.strings new file mode 100644 index 000000000..b26672b10 --- /dev/null +++ b/iOS/Account/Account.strings @@ -0,0 +1,20 @@ +/* + Account.strings + NetNewsWire + + Created by Stuart Breckenridge on 16/12/2022. + Copyright © 2022 Ranchero Software. All rights reserved. +*/ + +/* Account Names */ +"CLOUDKIT" = "iCloud"; + + +/* Explainers */ +"BAZQUX_FOOTER_EXPLAINER" = "Sign in to your BazQux account and sync your feeds across your devices. Your username and password will be encrypted and stored in Keychain.\n\nDon’t have a BazQux account? [Sign Up Here](https://bazqux.com)"; +"INOREADER_FOOTER_EXPLAINER" = "Sign in to your InoReader account and sync your feeds across your devices. Your username and password will be encrypted and stored in Keychain.\n\nDon’t have an InoReader account? [Sign Up Here](https://www.inoreader.com)"; +"OLDREADER_FOOTER_EXPLAINER" = "Sign in to your The Old Reader account and sync your feeds across your devices. Your username and password will be encrypted and stored in Keychain.\n\nDon’t have a The Old Reader account? [Sign Up Here](https://theoldreader.com)"; +"FRESHRSS_FOOTER_EXPLAINER" = "Sign in to your FreshRSS instance and sync your feeds across your devices. Your username and password will be encrypted and stored in Keychain.\n\nDon’t have an FreshRSS instance? [Sign Up Here](https://freshrss.org)"; +"CLOUDKIT_FOOTER_EXPLAINER" = "NetNewsWire will use your iCloud account to sync your subscriptions across your Mac and iOS devices."; + + diff --git a/iOS/Account/CloudKitAccountViewController.swift b/iOS/Account/CloudKitAccountViewController.swift index ca3ce71e9..08d10d010 100644 --- a/iOS/Account/CloudKitAccountViewController.swift +++ b/iOS/Account/CloudKitAccountViewController.swift @@ -20,7 +20,7 @@ enum CloudKitAccountViewControllerError: LocalizedError { class CloudKitAccountViewController: UITableViewController { - weak var delegate: AddAccountDismissDelegate? + //weak var delegate: AddAccountDismissDelegate? @IBOutlet weak var footerLabel: UILabel! override func viewDidLoad() { @@ -36,7 +36,7 @@ class CloudKitAccountViewController: UITableViewController { @IBAction func cancel(_ sender: Any) { dismiss(animated: true, completion: nil) - delegate?.dismiss() + //delegate?.dismiss() } @IBAction func add(_ sender: Any) { @@ -47,7 +47,7 @@ class CloudKitAccountViewController: UITableViewController { let _ = AccountManager.shared.createAccount(type: .cloudKit) dismiss(animated: true, completion: nil) - delegate?.dismiss() + //delegate?.dismiss() } override func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat { diff --git a/iOS/Account/FeedbinAccountViewController.swift b/iOS/Account/FeedbinAccountViewController.swift index 964ff7e93..33abc33c1 100644 --- a/iOS/Account/FeedbinAccountViewController.swift +++ b/iOS/Account/FeedbinAccountViewController.swift @@ -24,7 +24,7 @@ class FeedbinAccountViewController: UITableViewController, Logging { @IBOutlet weak var footerLabel: UILabel! weak var account: Account? - weak var delegate: AddAccountDismissDelegate? + //weak var delegate: AddAccountDismissDelegate? override func viewDidLoad() { super.viewDidLoad() @@ -132,7 +132,7 @@ class FeedbinAccountViewController: UITableViewController, Logging { } self.dismiss(animated: true, completion: nil) - self.delegate?.dismiss() + //self.delegate?.dismiss() } catch { self.showError(NSLocalizedString("Keychain error while storing credentials.", comment: "Credentials Error")) self.logger.error("Keychain error while storing credentials: \(error.localizedDescription, privacy: .public).") diff --git a/iOS/Account/LocalAccountViewController.swift b/iOS/Account/LocalAccountViewController.swift deleted file mode 100644 index 31c415d8b..000000000 --- a/iOS/Account/LocalAccountViewController.swift +++ /dev/null @@ -1,65 +0,0 @@ -// -// LocalAccountViewController.swift -// NetNewsWire-iOS -// -// Created by Maurice Parker on 5/19/19. -// Copyright © 2019 Ranchero Software. All rights reserved. -// - -import UIKit -import Account - -class LocalAccountViewController: UITableViewController { - - @IBOutlet weak var nameTextField: UITextField! - @IBOutlet weak var footerLabel: UILabel! - - weak var delegate: AddAccountDismissDelegate? - - override func viewDidLoad() { - super.viewDidLoad() - setupFooter() - navigationItem.title = Account.defaultLocalAccountName - nameTextField.delegate = self - tableView.register(ImageHeaderView.self, forHeaderFooterViewReuseIdentifier: "SectionHeader") - } - - private func setupFooter() { - footerLabel.text = NSLocalizedString("Local accounts do not sync your feeds across devices.", comment: "Local") - } - - @IBAction func cancel(_ sender: Any) { - dismiss(animated: true, completion: nil) - } - - @IBAction func add(_ sender: Any) { - let account = AccountManager.shared.createAccount(type: .onMyMac) - account.name = nameTextField.text - dismiss(animated: true, completion: nil) - delegate?.dismiss() - } - - override func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat { - return section == 0 ? ImageHeaderView.rowHeight : super.tableView(tableView, heightForHeaderInSection: section) - } - - override func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? { - if section == 0 { - let headerView = tableView.dequeueReusableHeaderFooterView(withIdentifier: "SectionHeader") as! ImageHeaderView - headerView.imageView.image = AppAssets.image(for: .onMyMac) - return headerView - } else { - return super.tableView(tableView, viewForHeaderInSection: section) - } - } - -} - -extension LocalAccountViewController: UITextFieldDelegate { - - func textFieldShouldReturn(_ textField: UITextField) -> Bool { - textField.resignFirstResponder() - return true - } - -} diff --git a/iOS/Account/NewsBlurAccountViewController.swift b/iOS/Account/NewsBlurAccountViewController.swift index 9f46361d0..845e6f429 100644 --- a/iOS/Account/NewsBlurAccountViewController.swift +++ b/iOS/Account/NewsBlurAccountViewController.swift @@ -24,7 +24,7 @@ class NewsBlurAccountViewController: UITableViewController, Logging { @IBOutlet weak var footerLabel: UILabel! weak var account: Account? - weak var delegate: AddAccountDismissDelegate? + //weak var delegate: AddAccountDismissDelegate? override func viewDidLoad() { super.viewDidLoad() @@ -135,7 +135,7 @@ class NewsBlurAccountViewController: UITableViewController, Logging { } self.dismiss(animated: true, completion: nil) - self.delegate?.dismiss() + //self.delegate?.dismiss() } catch { self.showError(NSLocalizedString("Keychain error while storing credentials.", comment: "Credentials Error")) self.logger.error("Keychain error while storing credentials: \(error.localizedDescription, privacy: .public).") diff --git a/iOS/Account/ReaderAPIAccountViewController.swift b/iOS/Account/ReaderAPIAccountViewController.swift index 1f93ad95a..11705b63d 100644 --- a/iOS/Account/ReaderAPIAccountViewController.swift +++ b/iOS/Account/ReaderAPIAccountViewController.swift @@ -27,7 +27,7 @@ class ReaderAPIAccountViewController: UITableViewController, Logging { weak var account: Account? var accountType: AccountType? - weak var delegate: AddAccountDismissDelegate? + //weak var delegate: AddAccountDismissDelegate? override func viewDidLoad() { super.viewDidLoad() @@ -185,7 +185,7 @@ class ReaderAPIAccountViewController: UITableViewController, Logging { } } - self.delegate?.dismiss() + //self.delegate?.dismiss() } catch { self.showError(NSLocalizedString("Keychain error while storing credentials.", comment: "Credentials Error")) self.logger.error("Keychain error while storing credentials: \(error.localizedDescription, privacy: .public).") diff --git a/iOS/Account/Views/ReaderAPIAccountView.swift b/iOS/Account/Views/ReaderAPIAccountView.swift new file mode 100644 index 000000000..6de4a553c --- /dev/null +++ b/iOS/Account/Views/ReaderAPIAccountView.swift @@ -0,0 +1,254 @@ +// +// ReaderAPIAccountView.swift +// NetNewsWire +// +// Created by Stuart Breckenridge on 16/12/2022. +// Copyright © 2022 Ranchero Software. All rights reserved. +// + +import SwiftUI +import Account +import Secrets +import RSWeb +import SafariServices +import RSCore + +struct ReaderAPIAccountView: View { + + @Environment(\.dismiss) var dismiss + + var accountType: AccountType? + @State var account: Account? + @State private var accountCredentials: Credentials? + @State private var accountUserName: String = "" + @State private var accountSecret: String = "" + @State private var accountAPIUrl: String = "" + @State private var showProgressIndicator: Bool = false + @State private var accountSetupError: (Error?, Bool) = (nil, false) + + var body: some View { + NavigationView { + Form { + Section(header: readerAccountImage) {} + accountDetailsSection + Section(footer: readerAccountExplainer) {} + } + .navigationTitle(Text(accountType?.localizedAccountName() ?? "")) + .navigationBarTitleDisplayMode(.inline) + .task { + try? retrieveAccountCredentials() + } + .toolbar { + ToolbarItem(placement: .navigationBarLeading) { + Button(action: { dismiss() }, label: { Text("CANCEL_BUTTON_TITLE", tableName: "Buttons") }) + } + ToolbarItem(placement: .navigationBarTrailing) { + if showProgressIndicator { ProgressView() } + } + } + .alert(Text("ERROR_TITLE", tableName: "Errors"), isPresented: $accountSetupError.1) { + Button(role: .cancel) { + // + } label: { + Text("DISMISS_BUTTON_TITLE", tableName: "Buttons") + } + } message: { + Text(accountSetupError.0?.localizedDescription ?? "") + } + .onReceive(NotificationCenter.default.publisher(for: .UserDidAddAccount)) { _ in + dismiss() + } + .edgesIgnoringSafeArea(.bottom) // Fix to make sure view is not offset from the top when presented + } + } + + var readerAccountExplainer: some View { + if accountType == nil { return Text("").multilineTextAlignment(.center) } + switch accountType! { + case .bazQux: + return Text("BAZQUX_FOOTER_EXPLAINER", tableName: "Account").multilineTextAlignment(.center) + case .inoreader: + return Text("INOREADER_FOOTER_EXPLAINER", tableName: "Account").multilineTextAlignment(.center) + case .theOldReader: + return Text("OLDREADER_FOOTER_EXPLAINER", tableName: "Account").multilineTextAlignment(.center) + case .freshRSS: + return Text("FRESHRSS_FOOTER_EXPLAINER", tableName: "Account").multilineTextAlignment(.center) + default: + return Text("").multilineTextAlignment(.center) + } + } + + var readerAccountImage: some View { + HStack { + Spacer() + if accountType == nil { Text("") } + switch accountType! { + case .bazQux: + Image(uiImage: AppAssets.accountBazQuxImage) + .resizable() + .aspectRatio(contentMode: .fit) + .frame(width: 48, height: 48) + case .inoreader: + Image(uiImage: AppAssets.accountInoreaderImage) + .resizable() + .aspectRatio(contentMode: .fit) + .frame(width: 48, height: 48) + case .theOldReader: + Image(uiImage: AppAssets.accountTheOldReaderImage) + .resizable() + .aspectRatio(contentMode: .fit) + .frame(width: 48, height: 48) + case .freshRSS: + Image(uiImage: AppAssets.accountFreshRSSImage) + .resizable() + .aspectRatio(contentMode: .fit) + .frame(width: 48, height: 48) + default: + Text("") + } + Spacer() + } + } + + var accountDetailsSection: some View { + Group { + Section { + TextField("Username", text: $accountUserName) + .autocorrectionDisabled() + SecureField("Password", text: $accountSecret) + if accountType == .freshRSS && accountCredentials == nil { + TextField("FreshRSS URL", text: $accountAPIUrl, prompt: Text("fresh.rss.net/api/greader.php")) + .autocorrectionDisabled() + } + } + + Section { + Button { + Task { + do { + try await executeAccountCredentials() + } catch { + accountSetupError = (error, true) + } + } + } label: { + HStack { + Spacer() + if accountCredentials == nil { + Text("ADD_ACCOUNT_BUTTON_TITLE", tableName: "Buttons") + } else { + Text("UPDATE_CREDENTIALS_BUTTON_TITLE", tableName: "Buttons") + } + Spacer() + } + } + .disabled(!validateCredentials()) + } + } + + } + + // MARK: - API + + private func retrieveAccountCredentials() throws { + if let account = account { + do { + if let creds = try account.retrieveCredentials(type: .readerBasic) { + self.accountCredentials = creds + accountUserName = creds.username + accountSecret = creds.secret + } + } catch { + accountSetupError = (error, true) + } + } + } + + private func validateCredentials() -> Bool { + if accountType == nil { return false } + switch accountType! { + case .freshRSS: + if (accountUserName.trimmingWhitespace.count == 0) || (accountSecret.trimmingWhitespace.count == 0) || (accountAPIUrl.trimmingWhitespace.count == 0) { + return false + } + default: + if (accountUserName.trimmingWhitespace.count == 0) || (accountSecret.trimmingWhitespace.count == 0) { + return false + } + } + return true + } + + @MainActor + private func executeAccountCredentials() async throws { + + let trimmedAccountUserName = accountUserName.trimmingWhitespace + + guard (account != nil || !AccountManager.shared.duplicateServiceAccount(type: accountType!, username: trimmedAccountUserName)) else { + throw LocalizedNetNewsWireError.duplicateAccount + } + + showProgressIndicator = true + let credentials = Credentials(type: .readerBasic, username: trimmedAccountUserName, secret: accountSecret) + + return try await withCheckedThrowingContinuation { continuation in + Account.validateCredentials(type: accountType!, credentials: credentials, endpoint: apiURL()) { result in + switch result { + case .success(let validatedCredentials): + if let validatedCredentials = validatedCredentials { + if self.account == nil { + self.account = AccountManager.shared.createAccount(type: accountType!) + } + + do { + self.account?.endpointURL = apiURL() + try? self.account?.removeCredentials(type: .readerBasic) + try? self.account?.removeCredentials(type: .readerAPIKey) + try self.account?.storeCredentials(credentials) + try self.account?.storeCredentials(validatedCredentials) + + self.account?.refreshAll(completion: { result in + switch result { + case .success: + showProgressIndicator = false + continuation.resume() + case .failure(let error): + showProgressIndicator = false + continuation.resume(throwing: error) + } + }) + } catch { + showProgressIndicator = false + continuation.resume(throwing: error) + } + } + case .failure(let failure): + showProgressIndicator = false + continuation.resume(throwing: failure) + } + } + } + } + + private func apiURL() -> URL? { + switch accountType! { + case .freshRSS: + return URL(string: accountAPIUrl)! + case .inoreader: + return URL(string: ReaderAPIVariant.inoreader.host)! + case .bazQux: + return URL(string: ReaderAPIVariant.bazQux.host)! + case .theOldReader: + return URL(string: ReaderAPIVariant.theOldReader.host)! + default: + return nil + } + } + +} + +struct ReaderAPIAccountView_Previews: PreviewProvider { + static var previews: some View { + ReaderAPIAccountView() + } +} diff --git a/iOS/Account/Views/iCloudAccountView.swift b/iOS/Account/Views/iCloudAccountView.swift new file mode 100644 index 000000000..6e42be0a4 --- /dev/null +++ b/iOS/Account/Views/iCloudAccountView.swift @@ -0,0 +1,83 @@ +// +// iCloudAccountView.swift +// NetNewsWire-iOS +// +// Created by Stuart Breckenridge on 16/12/2022. +// Copyright © 2022 Ranchero Software. All rights reserved. +// + +import SwiftUI +import Account + +struct iCloudAccountView: View { + + @Environment(\.dismiss) private var dismiss + @State private var addAccountError: (LocalizedError?, Bool) = (nil, false) + + var body: some View { + NavigationView { + Form { + Section(header: cloudKitHeader) {} + Section { + createCloudKitAccount + } + Section(footer: cloudKitExplainer) {} + } + .navigationTitle(Text("CLOUDKIT", tableName: "Account")) + .navigationBarTitleDisplayMode(.inline) + .alert(Text("ERROR_TITLE", tableName: "Errors"), isPresented: $addAccountError.1) { + Button(action: {}, label: { Text("DISMISS_BUTTON_TITLE", tableName: "Buttons") }) + } message: { + Text(addAccountError.0?.localizedDescription ?? "Unknown Error") + } + .onReceive(NotificationCenter.default.publisher(for: .UserDidAddAccount)) { _ in + dismiss() + } + } + } + + var cloudKitHeader: some View { + HStack { + Spacer() + Image(uiImage: AppAssets.accountCloudKitImage) + .resizable() + .aspectRatio(contentMode: .fit) + .frame(width: 48, height: 48) + Spacer() + } + } + + var createCloudKitAccount: some View { + Button { + guard FileManager.default.ubiquityIdentityToken != nil else { + addAccountError = (LocalizedNetNewsWireError.iCloudDriveMissing, true) + return + } + let _ = AccountManager.shared.createAccount(type: .cloudKit) + } label: { + HStack { + Spacer() + Text("USE_CLOUDKIT_BUTTON_TITLE", tableName: "Buttons") + Spacer() + } + } + } + + var cloudKitExplainer: some View { + VStack(spacing: 4) { + if !AccountManager.shared.accounts.contains(where: { $0.type == .cloudKit }) { + // The explainer is only shown when a CloudKit account doesn't exist. + Text("CLOUDKIT_FOOTER_EXPLAINER", tableName: "Account") + } + Text("CLOUDKIT_LIMITATIONS_TITLE", tableName: "Inspector") + }.multilineTextAlignment(.center) + } + + +} + +struct iCloudAccountView_Previews: PreviewProvider { + static var previews: some View { + iCloudAccountView() + } +} diff --git a/iOS/Inspector/Inspector.strings b/iOS/Inspector/Inspector.strings index fa413a537..6a9e0ad64 100644 --- a/iOS/Inspector/Inspector.strings +++ b/iOS/Inspector/Inspector.strings @@ -11,7 +11,6 @@ "ACTIVE" = "Active"; "CLOUDKIT_LIMITATIONS_TITLE" = "[iCloud Syncing Limitations & Solutions](https://netnewswire.com/help/iCloud)"; "REMOVE_ACCOUNT_TITLE" = "Remove Account"; -"REMOVE_ACCOUNT_BUTTON_TITLE" = "Remove Account"; "REMOVE_FEEDLY_MESSAGE" = "Are you sure you want to remove this account? NetNewsWire will no longer be able to access articles and feeds unless the account is added again."; "REMOVE_ACCOUNT_MESSAGE" = "Are you sure you want to remove this account? This cannot be undone."; "REMOVE_ACCOUNT_TITLE" = "Remove Account"; diff --git a/iOS/Inspector/Views/AccountInspectorView.swift b/iOS/Inspector/Views/AccountInspectorView.swift index 13f75a441..e03d34425 100644 --- a/iOS/Inspector/Views/AccountInspectorView.swift +++ b/iOS/Inspector/Views/AccountInspectorView.swift @@ -14,12 +14,56 @@ struct AccountInspectorView: View { @Environment(\.dismiss) var dismiss @State private var showRemoveAccountAlert: Bool = false + @State private var showAccountCredentialsSheet: Bool = false var account: Account + var body: some View { Form { Section(header: accountHeaderView){} + accountNameAndActiveSection + + if account.type != .onMyMac && + account.type != .cloudKit && + account.type != .feedly { + credentialsSection + } + + if account != AccountManager.shared.defaultAccount { + removeAccountSection + } + + if account.type == .cloudKit { + Section(footer: cloudKitLimitations){} + } + } + .navigationBarTitleDisplayMode(.inline) + .navigationTitle(account.nameForDisplay) + .tint(Color(uiColor: AppAssets.primaryAccentColor)) + .edgesIgnoringSafeArea(.bottom) + .sheet(isPresented: $showAccountCredentialsSheet) { + switch account.type { + case .theOldReader, .bazQux, .inoreader, .freshRSS: + ReaderAPIAccountView(accountType: account.type, account: account) + default: + EmptyView() + } + } + } + var accountHeaderView: some View { + HStack { + Spacer() + Image(uiImage: account.smallIcon!.image) + .resizable() + .aspectRatio(contentMode: .fit) + .frame(width: 48, height: 48) + Spacer() + } + } + + var accountNameAndActiveSection: some View { + Section { TextField(text: Binding( get: { account.name ?? account.defaultName }, set: { account.name = $0 }), @@ -32,60 +76,55 @@ struct AccountInspectorView: View { }, set: { account.isActive = $0 })) { Text("ACTIVE", tableName: "Inspector") } - - if account != AccountManager.shared.defaultAccount { - Section { - Button(role: .destructive) { - showRemoveAccountAlert = true - } label: { - HStack { - Spacer() - Text("REMOVE_ACCOUNT_BUTTON_TITLE", tableName: "Inspector") - Spacer() - } - } - .confirmationDialog(Text("REMOVE_ACCOUNT_TITLE", tableName: "Inspector"), isPresented: $showRemoveAccountAlert, titleVisibility: .visible) { - Button(role: .destructive) { - AccountManager.shared.deleteAccount(account) - dismiss() - } label: { - Text("REMOVE_ACCOUNT_BUTTON_TITLE", tableName: "Inspector") - } - - Button(role: .cancel) { - // - } label: { - Text("CANCEL_BUTTON_TITLE", tableName: "Buttons") - } - - } message: { - if account.type == .feedly { - Text("REMOVE_FEEDLY_MESSAGE", tableName: "Inspector") - } else { - Text("REMOVE_ACCOUNT_MESSAGE", tableName: "Inspector") - } - } + } + } + + var credentialsSection: some View { + Section { + Button { + showAccountCredentialsSheet = true + } label: { + HStack { + Spacer() + Text("CREDENTIALS_BUTTON_TITLE", tableName: "Buttons") + Spacer() } } - - if account.type == .cloudKit { - Section(footer: cloudKitLimitations){} - } } - .navigationBarTitleDisplayMode(.inline) - .navigationTitle(account.nameForDisplay) - .tint(Color(uiColor: AppAssets.primaryAccentColor)) - .edgesIgnoringSafeArea(.bottom) // Fix to make sure view is not offset from the top when presented - } + } - var accountHeaderView: some View { - HStack { - Spacer() - Image(uiImage: account.smallIcon!.image) - .resizable() - .aspectRatio(contentMode: .fit) - .frame(width: 30, height: 30) - Spacer() + var removeAccountSection: some View { + Section { + Button(role: .destructive) { + showRemoveAccountAlert = true + } label: { + HStack { + Spacer() + Text("REMOVE_ACCOUNT_BUTTON_TITLE", tableName: "Buttons") + Spacer() + } + } + .confirmationDialog(Text("REMOVE_ACCOUNT_TITLE", tableName: "Inspector"), isPresented: $showRemoveAccountAlert, titleVisibility: .visible) { + Button(role: .destructive) { + AccountManager.shared.deleteAccount(account) + dismiss() + } label: { + Text("REMOVE_ACCOUNT_BUTTON_TITLE", tableName: "Buttons") + } + + Button(role: .cancel) { + // + } label: { + Text("CANCEL_BUTTON_TITLE", tableName: "Buttons") + } + + } message: { + if account.type == .feedly { + Text("REMOVE_FEEDLY_MESSAGE", tableName: "Inspector") + } else { + Text("REMOVE_ACCOUNT_MESSAGE", tableName: "Inspector") + } + } } } diff --git a/iOS/Inspector/Views/ExtensionInspectorView.swift b/iOS/Inspector/Views/ExtensionInspectorView.swift index 148aee0e2..a2a42ee14 100644 --- a/iOS/Inspector/Views/ExtensionInspectorView.swift +++ b/iOS/Inspector/Views/ExtensionInspectorView.swift @@ -32,7 +32,7 @@ struct ExtensionInspectorView: View { Button(role: .destructive) { ExtensionPointManager.shared.deactivateExtensionPoint(extensionPoint!.extensionPointID) } label: { - Text("DEACTIVATE", tableName: "Settings") + Text("DEACTIVATE_BUTTON_TITLE", tableName: "Buttons") } Button(role: .cancel) { @@ -59,7 +59,7 @@ struct ExtensionInspectorView: View { Image(uiImage: extensionPoint!.image) .resizable() .aspectRatio(contentMode: .fit) - .frame(width: 30, height: 30) + .frame(width: 48, height: 48) Spacer() } } diff --git a/iOS/Inspector/Views/WebFeedInspectorView.swift b/iOS/Inspector/Views/WebFeedInspectorView.swift index 32a7321f9..679aee445 100644 --- a/iOS/Inspector/Views/WebFeedInspectorView.swift +++ b/iOS/Inspector/Views/WebFeedInspectorView.swift @@ -71,7 +71,7 @@ struct WebFeedInspectorView: View { Image(uiImage: webFeed.smallIcon!.image) .resizable() .aspectRatio(contentMode: .fit) - .frame(width: 30, height: 30) + .frame(width: 48, height: 48) Spacer() } } diff --git a/iOS/Settings/Settings.strings b/iOS/Settings/Settings.strings index a6650a130..5462e5feb 100644 --- a/iOS/Settings/Settings.strings +++ b/iOS/Settings/Settings.strings @@ -92,4 +92,3 @@ "EXPORT_OPML_SUCCESS_TITLE" = "Exported Successfully"; "EXPORT_OPML_SUCCESS_MESSAGE" = "Your OPML file has been successfully exported."; "ERROR_TITLE" = "Error"; -"REMOVE" = "Remove"; diff --git a/iOS/Settings/Views/Account and Extensions/Accounts/AccountsManagementView.swift b/iOS/Settings/Views/Account and Extensions/Accounts/AccountsManagementView.swift index 2bc756eb0..5c2ee0fc3 100644 --- a/iOS/Settings/Views/Account and Extensions/Accounts/AccountsManagementView.swift +++ b/iOS/Settings/Views/Account and Extensions/Accounts/AccountsManagementView.swift @@ -31,7 +31,6 @@ struct AccountsManagementView: View { accountRow(account, showRemoveAccountAlert: $showRemoveAccountAlert, accountToRemove: $accountToRemove) } } - } .navigationTitle(Text("MANAGE_ACCOUNTS", tableName: "Settings")) .tint(Color(uiColor: AppAssets.primaryAccentColor)) @@ -60,14 +59,14 @@ struct AccountsManagementView: View { refreshAccounts() } .sheet(isPresented: $showAddAccountSheet) { - AddAccountView() + AddAccountListView() } .alert(Text("ACCOUNT_REMOVE \(accountToRemove?.nameForDisplay ?? "")", tableName: "Settings"), isPresented: $showRemoveAccountAlert) { Button(role: .destructive) { AccountManager.shared.deleteAccount(accountToRemove!) } label: { - Text("REMOVE", tableName: "Settings") + Text("REMOVE_BUTTON_TITLE", tableName: "Buttons") } Button(role: .cancel) { @@ -113,7 +112,7 @@ struct AccountsManagementView: View { showRemoveAccountAlert.wrappedValue = true } label: { Label { - Text("REMOVE_ACCOUNT_TITLE", tableName: "Settings") + Text("REMOVE_ACCOUNT_BUTTON_TITLE", tableName: "Buttons") } icon: { Image(systemName: "trash") } diff --git a/iOS/Settings/Views/Account and Extensions/Accounts/AddAccountView.swift b/iOS/Settings/Views/Account and Extensions/Accounts/AddAccountListView.swift similarity index 93% rename from iOS/Settings/Views/Account and Extensions/Accounts/AddAccountView.swift rename to iOS/Settings/Views/Account and Extensions/Accounts/AddAccountListView.swift index 6e19a8e6e..cc65656f8 100644 --- a/iOS/Settings/Views/Account and Extensions/Accounts/AddAccountView.swift +++ b/iOS/Settings/Views/Account and Extensions/Accounts/AddAccountListView.swift @@ -1,5 +1,5 @@ // -// AddAccountView.swift +// AddAccountListView.swift // NetNewsWire-iOS // // Created by Stuart Breckenridge on 15/12/2022. @@ -10,7 +10,7 @@ import SwiftUI import Account import RSCore -public final class AddAcccountViewModel: ObservableObject, OAuthAccountAuthorizationOperationDelegate { +public final class AddAccountListViewModel: ObservableObject, OAuthAccountAuthorizationOperationDelegate { @Published public var showAddAccountSheet: (Bool, accountType: AccountType) = (false, .onMyMac) public var webAccountTypes: [AccountType] { @@ -58,10 +58,10 @@ public final class AddAcccountViewModel: ObservableObject, OAuthAccountAuthoriza } } -struct AddAccountView: View { +struct AddAccountListView: View { @Environment(\.dismiss) var dismiss - @StateObject private var viewModel = AddAcccountViewModel() + @StateObject private var viewModel = AddAccountListViewModel() var body: some View { @@ -89,9 +89,9 @@ struct AddAccountView: View { case .onMyMac: Text("ON MY MAC") case .cloudKit: - Text("CLOUDKIT") - case .freshRSS: - Text("SELF_HOSTED") + iCloudAccountView() + case .freshRSS, .inoreader, .bazQux, .theOldReader: + ReaderAPIAccountView(accountType: viewModel.showAddAccountSheet.accountType, account: nil) default: Text(viewModel.showAddAccountSheet.accountType.localizedAccountName()) } diff --git a/iOS/Settings/Views/General/SettingsView.swift b/iOS/Settings/Views/General/SettingsView.swift index 62807d874..203712e0e 100644 --- a/iOS/Settings/Views/General/SettingsView.swift +++ b/iOS/Settings/Views/General/SettingsView.swift @@ -86,7 +86,7 @@ struct SettingsView: View { .navigationTitle(Text("SETTINGS_TITLE", tableName: "Settings")) .navigationBarTitleDisplayMode(.inline) .sheet(isPresented: $viewModel.showAddAccountView) { - AddAccountView() + AddAccountListView() } .sheet(isPresented: $viewModel.showHelpSheet) { SafariView(url: viewModel.helpSheet.url) From 8108f1ab0fc55993bf69eb36ba780e8cc16a190c Mon Sep 17 00:00:00 2001 From: Stuart Breckenridge Date: Sun, 18 Dec 2022 07:51:54 +0800 Subject: [PATCH 28/80] Adds local add account view Renames AddAccount view for clarity --- NetNewsWire.xcodeproj/project.pbxproj | 20 ++-- iOS/Account/Account.strings | 4 + ...iew.swift => CloudKitAddAccountView.swift} | 15 +-- iOS/Account/Views/LocalAddAccountView.swift | 96 +++++++++++++++++++ ...ew.swift => ReaderAPIAddAccountView.swift} | 4 +- .../Views/AccountInspectorView.swift | 6 +- .../Accounts/AddAccountListView.swift | 7 +- 7 files changed, 131 insertions(+), 21 deletions(-) rename iOS/Account/Views/{iCloudAccountView.swift => CloudKitAddAccountView.swift} (86%) create mode 100644 iOS/Account/Views/LocalAddAccountView.swift rename iOS/Account/Views/{ReaderAPIAccountView.swift => ReaderAPIAddAccountView.swift} (99%) diff --git a/NetNewsWire.xcodeproj/project.pbxproj b/NetNewsWire.xcodeproj/project.pbxproj index 209686553..1410f5c0a 100644 --- a/NetNewsWire.xcodeproj/project.pbxproj +++ b/NetNewsWire.xcodeproj/project.pbxproj @@ -864,12 +864,13 @@ DFB3498A294B45AC00BC81AD /* ExtensionInspectorView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFB34989294B45AC00BC81AD /* ExtensionInspectorView.swift */; }; DFB3498C294B4CA700BC81AD /* WebFeedInspectorView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFB3498B294B4CA700BC81AD /* WebFeedInspectorView.swift */; }; DFB34993294C0B7400BC81AD /* Account.strings in Resources */ = {isa = PBXBuildFile; fileRef = DFB34992294C0B7400BC81AD /* Account.strings */; }; - DFB34994294C0E3900BC81AD /* ReaderAPIAccountView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFB34990294C0B2200BC81AD /* ReaderAPIAccountView.swift */; }; + DFB34994294C0E3900BC81AD /* ReaderAPIAddAccountView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFB34990294C0B2200BC81AD /* ReaderAPIAddAccountView.swift */; }; DFB34996294C4DCB00BC81AD /* LocalizedNetNewsWireError.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFB34995294C4DCB00BC81AD /* LocalizedNetNewsWireError.swift */; }; DFB34997294C4DCB00BC81AD /* LocalizedNetNewsWireError.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFB34995294C4DCB00BC81AD /* LocalizedNetNewsWireError.swift */; }; DFB34999294C4F1D00BC81AD /* Errors.strings in Resources */ = {isa = PBXBuildFile; fileRef = DFB34998294C4F1D00BC81AD /* Errors.strings */; }; DFB3499A294C4F1D00BC81AD /* Errors.strings in Resources */ = {isa = PBXBuildFile; fileRef = DFB34998294C4F1D00BC81AD /* Errors.strings */; }; - DFB3499E294C5D5000BC81AD /* iCloudAccountView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFB3499D294C5D5000BC81AD /* iCloudAccountView.swift */; }; + DFB3499E294C5D5000BC81AD /* CloudKitAddAccountView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFB3499D294C5D5000BC81AD /* CloudKitAddAccountView.swift */; }; + DFB349A0294E87B700BC81AD /* LocalAddAccountView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFB3499F294E87B700BC81AD /* LocalAddAccountView.swift */; }; DFC14F0F28EA55BD00F6EE86 /* AboutWindowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFC14F0E28EA55BD00F6EE86 /* AboutWindowController.swift */; }; DFC14F1228EA5DC500F6EE86 /* AboutData.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF790D6128E990A900455FC7 /* AboutData.swift */; }; DFC14F1328EA677C00F6EE86 /* Bundle-Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51F85BF42273625800C787DC /* Bundle-Extensions.swift */; }; @@ -1626,11 +1627,12 @@ DFB34987294B447F00BC81AD /* InjectedNavigationView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InjectedNavigationView.swift; sourceTree = ""; }; DFB34989294B45AC00BC81AD /* ExtensionInspectorView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ExtensionInspectorView.swift; sourceTree = ""; }; DFB3498B294B4CA700BC81AD /* WebFeedInspectorView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WebFeedInspectorView.swift; sourceTree = ""; }; - DFB34990294C0B2200BC81AD /* ReaderAPIAccountView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReaderAPIAccountView.swift; sourceTree = ""; }; + DFB34990294C0B2200BC81AD /* ReaderAPIAddAccountView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReaderAPIAddAccountView.swift; sourceTree = ""; }; DFB34992294C0B7400BC81AD /* Account.strings */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; path = Account.strings; sourceTree = ""; }; DFB34995294C4DCB00BC81AD /* LocalizedNetNewsWireError.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LocalizedNetNewsWireError.swift; sourceTree = ""; }; DFB34998294C4F1D00BC81AD /* Errors.strings */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; path = Errors.strings; sourceTree = ""; }; - DFB3499D294C5D5000BC81AD /* iCloudAccountView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = iCloudAccountView.swift; sourceTree = ""; }; + DFB3499D294C5D5000BC81AD /* CloudKitAddAccountView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CloudKitAddAccountView.swift; sourceTree = ""; }; + DFB3499F294E87B700BC81AD /* LocalAddAccountView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LocalAddAccountView.swift; sourceTree = ""; }; DFC14F0E28EA55BD00F6EE86 /* AboutWindowController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AboutWindowController.swift; sourceTree = ""; }; DFC14F1428EB177000F6EE86 /* AboutNetNewsWireView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AboutNetNewsWireView.swift; sourceTree = ""; }; DFC14F1628EB17A800F6EE86 /* CreditsNetNewsWireView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CreditsNetNewsWireView.swift; sourceTree = ""; }; @@ -3003,8 +3005,9 @@ DFB3498F294C0B0D00BC81AD /* Views */ = { isa = PBXGroup; children = ( - DFB34990294C0B2200BC81AD /* ReaderAPIAccountView.swift */, - DFB3499D294C5D5000BC81AD /* iCloudAccountView.swift */, + DFB3499F294E87B700BC81AD /* LocalAddAccountView.swift */, + DFB3499D294C5D5000BC81AD /* CloudKitAddAccountView.swift */, + DFB34990294C0B2200BC81AD /* ReaderAPIAddAccountView.swift */, ); path = Views; sourceTree = ""; @@ -4251,8 +4254,9 @@ 5126EE97226CB48A00C22AFC /* SceneCoordinator.swift in Sources */, 84CAFCB022BC8C35007694F0 /* FetchRequestOperation.swift in Sources */, DFD406FA291FB5E400C02962 /* SettingsRows.swift in Sources */, - DFB3499E294C5D5000BC81AD /* iCloudAccountView.swift in Sources */, + DFB3499E294C5D5000BC81AD /* CloudKitAddAccountView.swift in Sources */, DFB3498C294B4CA700BC81AD /* WebFeedInspectorView.swift in Sources */, + DFB349A0294E87B700BC81AD /* LocalAddAccountView.swift in Sources */, 5193CD5A245E44A90092735E /* RedditFeedProvider-Extensions.swift in Sources */, 51EF0F77227716200050506E /* FaviconGenerator.swift in Sources */, 51938DF3231AFC660055A1A0 /* SearchTimelineFeedDelegate.swift in Sources */, @@ -4331,7 +4335,7 @@ 51EF0F7E2277A57D0050506E /* MasterTimelineAccessibilityCellLayout.swift in Sources */, 512D554423C804DE0023FFFA /* OpenInSafariActivity.swift in Sources */, DF47CDB2294803AB00FCD57E /* AddExtensionListView.swift in Sources */, - DFB34994294C0E3900BC81AD /* ReaderAPIAccountView.swift in Sources */, + DFB34994294C0E3900BC81AD /* ReaderAPIAddAccountView.swift in Sources */, 512392C224E33A3C00F11704 /* RedditEnterDetailTableViewController.swift in Sources */, 51C452762265091600C03939 /* MasterTimelineViewController.swift in Sources */, 5195C1DC2720BD3000888867 /* MasterFeedRowIdentifier.swift in Sources */, diff --git a/iOS/Account/Account.strings b/iOS/Account/Account.strings index b26672b10..818dbd7d8 100644 --- a/iOS/Account/Account.strings +++ b/iOS/Account/Account.strings @@ -7,10 +7,14 @@ */ /* Account Names */ +"ACCOUNT_NAME" = "Name"; "CLOUDKIT" = "iCloud"; +"LOCAL_ACCOUNT_NAME_PHONE" = "On My iPhone"; +"LOCAL_ACCOUNT_NAME_PAD" = "On My iPad"; /* Explainers */ +"LOCAL_FOOTER_EXPLAINER" = "Local accounts do not sync your feeds across devices"; "BAZQUX_FOOTER_EXPLAINER" = "Sign in to your BazQux account and sync your feeds across your devices. Your username and password will be encrypted and stored in Keychain.\n\nDon’t have a BazQux account? [Sign Up Here](https://bazqux.com)"; "INOREADER_FOOTER_EXPLAINER" = "Sign in to your InoReader account and sync your feeds across your devices. Your username and password will be encrypted and stored in Keychain.\n\nDon’t have an InoReader account? [Sign Up Here](https://www.inoreader.com)"; "OLDREADER_FOOTER_EXPLAINER" = "Sign in to your The Old Reader account and sync your feeds across your devices. Your username and password will be encrypted and stored in Keychain.\n\nDon’t have a The Old Reader account? [Sign Up Here](https://theoldreader.com)"; diff --git a/iOS/Account/Views/iCloudAccountView.swift b/iOS/Account/Views/CloudKitAddAccountView.swift similarity index 86% rename from iOS/Account/Views/iCloudAccountView.swift rename to iOS/Account/Views/CloudKitAddAccountView.swift index 6e42be0a4..97ddd43bf 100644 --- a/iOS/Account/Views/iCloudAccountView.swift +++ b/iOS/Account/Views/CloudKitAddAccountView.swift @@ -1,5 +1,5 @@ // -// iCloudAccountView.swift +// CloudKitAddAccountView.swift // NetNewsWire-iOS // // Created by Stuart Breckenridge on 16/12/2022. @@ -9,7 +9,7 @@ import SwiftUI import Account -struct iCloudAccountView: View { +struct CloudKitAddAccountView: View { @Environment(\.dismiss) private var dismiss @State private var addAccountError: (LocalizedError?, Bool) = (nil, false) @@ -18,13 +18,16 @@ struct iCloudAccountView: View { NavigationView { Form { Section(header: cloudKitHeader) {} - Section { - createCloudKitAccount - } + Section { createCloudKitAccount } Section(footer: cloudKitExplainer) {} } .navigationTitle(Text("CLOUDKIT", tableName: "Account")) .navigationBarTitleDisplayMode(.inline) + .toolbar { + ToolbarItem(placement: .navigationBarLeading) { + Button(action: { dismiss() }, label: { Text("CANCEL_BUTTON_TITLE", tableName: "Buttons") }) + } + } .alert(Text("ERROR_TITLE", tableName: "Errors"), isPresented: $addAccountError.1) { Button(action: {}, label: { Text("DISMISS_BUTTON_TITLE", tableName: "Buttons") }) } message: { @@ -78,6 +81,6 @@ struct iCloudAccountView: View { struct iCloudAccountView_Previews: PreviewProvider { static var previews: some View { - iCloudAccountView() + CloudKitAddAccountView() } } diff --git a/iOS/Account/Views/LocalAddAccountView.swift b/iOS/Account/Views/LocalAddAccountView.swift new file mode 100644 index 000000000..a842f531e --- /dev/null +++ b/iOS/Account/Views/LocalAddAccountView.swift @@ -0,0 +1,96 @@ +// +// LocalAddAccountView.swift +// NetNewsWire-iOS +// +// Created by Stuart Breckenridge on 18/12/2022. +// Copyright © 2022 Ranchero Software. All rights reserved. +// + +import SwiftUI +import Account + +struct LocalAddAccountView: View { + + @Environment(\.dismiss) var dismiss + @State private var accountName: String = "" + + var body: some View { + NavigationView { + Form { + Section(header: accountHeaderView) {} + Section { accountNameSection } + Section { addAccountButton } + Section(footer: accountFooterView) {} + } + .toolbar { + ToolbarItem(placement: .navigationBarLeading) { + Button(action: { dismiss() }, label: { Text("CANCEL_BUTTON_TITLE", tableName: "Buttons") }) + } + } + .navigationTitle(deviceAccountName()) + .navigationBarTitleDisplayMode(.inline) + .onReceive(NotificationCenter.default.publisher(for: .UserDidAddAccount)) { _ in + dismiss() + } + } + } + + var accountNameSection: some View { + TextField("Name", + text: $accountName, + prompt: Text("ACCOUNT_NAME", tableName: "Account")) + } + + var addAccountButton: some View { + Button { + let account = AccountManager.shared.createAccount(type: .onMyMac) + if accountName.trimmingWhitespace.count > 0 { account.name = accountName } + } label: { + HStack { + Spacer() + Text("ADD_ACCOUNT_BUTTON_TITLE", tableName: "Buttons") + Spacer() + } + } + } + + var accountHeaderView: some View { + HStack { + Spacer() + Image(uiImage: accountImage()) + .resizable() + .aspectRatio(contentMode: .fit) + .frame(width: 48, height: 48) + Spacer() + } + } + + var accountFooterView: some View { + HStack { + Spacer() + Text("LOCAL_FOOTER_EXPLAINER", tableName: "Account") + .multilineTextAlignment(.center) + Spacer() + } + } + + private func accountImage() -> UIImage { + if UIDevice.current.userInterfaceIdiom == .pad { + return AppAssets.accountLocalPadImage + } + return AppAssets.accountLocalPhoneImage + } + + private func deviceAccountName() -> Text { + if UIDevice.current.userInterfaceIdiom == .pad { + return Text("LOCAL_ACCOUNT_NAME_PAD", tableName: "Account") + } + return Text("LOCAL_ACCOUNT_NAME_PHONE", tableName: "Account") + } +} + +struct LocalAddAccountView_Previews: PreviewProvider { + static var previews: some View { + LocalAddAccountView() + } +} diff --git a/iOS/Account/Views/ReaderAPIAccountView.swift b/iOS/Account/Views/ReaderAPIAddAccountView.swift similarity index 99% rename from iOS/Account/Views/ReaderAPIAccountView.swift rename to iOS/Account/Views/ReaderAPIAddAccountView.swift index 6de4a553c..50c10209c 100644 --- a/iOS/Account/Views/ReaderAPIAccountView.swift +++ b/iOS/Account/Views/ReaderAPIAddAccountView.swift @@ -13,7 +13,7 @@ import RSWeb import SafariServices import RSCore -struct ReaderAPIAccountView: View { +struct ReaderAPIAddAccountView: View { @Environment(\.dismiss) var dismiss @@ -249,6 +249,6 @@ struct ReaderAPIAccountView: View { struct ReaderAPIAccountView_Previews: PreviewProvider { static var previews: some View { - ReaderAPIAccountView() + ReaderAPIAddAccountView() } } diff --git a/iOS/Inspector/Views/AccountInspectorView.swift b/iOS/Inspector/Views/AccountInspectorView.swift index e03d34425..d1321879a 100644 --- a/iOS/Inspector/Views/AccountInspectorView.swift +++ b/iOS/Inspector/Views/AccountInspectorView.swift @@ -44,7 +44,11 @@ struct AccountInspectorView: View { .sheet(isPresented: $showAccountCredentialsSheet) { switch account.type { case .theOldReader, .bazQux, .inoreader, .freshRSS: - ReaderAPIAccountView(accountType: account.type, account: account) + ReaderAPIAddAccountView(accountType: account.type, account: account) + case .feedbin: + Text("FEEDBIN") + case .newsBlur: + Text("NEWSBLUR") default: EmptyView() } diff --git a/iOS/Settings/Views/Account and Extensions/Accounts/AddAccountListView.swift b/iOS/Settings/Views/Account and Extensions/Accounts/AddAccountListView.swift index cc65656f8..6f29fce47 100644 --- a/iOS/Settings/Views/Account and Extensions/Accounts/AddAccountListView.swift +++ b/iOS/Settings/Views/Account and Extensions/Accounts/AddAccountListView.swift @@ -87,11 +87,11 @@ struct AddAccountListView: View { .sheet(isPresented: $viewModel.showAddAccountSheet.0) { switch viewModel.showAddAccountSheet.accountType { case .onMyMac: - Text("ON MY MAC") + LocalAddAccountView() case .cloudKit: - iCloudAccountView() + CloudKitAddAccountView() case .freshRSS, .inoreader, .bazQux, .theOldReader: - ReaderAPIAccountView(accountType: viewModel.showAddAccountSheet.accountType, account: nil) + ReaderAPIAddAccountView(accountType: viewModel.showAddAccountSheet.accountType, account: nil) default: Text(viewModel.showAddAccountSheet.accountType.localizedAccountName()) } @@ -200,7 +200,6 @@ struct AddAccountListView: View { } } - private func interactionDisabled(for accountType: AccountType) -> Bool { if accountType == .cloudKit { if AccountManager.shared.accounts.contains(where: { $0.type == .cloudKit }) { From 4ed11c0fc63aadf4cb2489727327f6a4b6f8015f Mon Sep 17 00:00:00 2001 From: Stuart Breckenridge Date: Sun, 18 Dec 2022 15:51:42 +0800 Subject: [PATCH 29/80] AddAccount sheets done --- NetNewsWire.xcodeproj/project.pbxproj | 40 +- Shared/Translations/Errors.strings | 4 +- .../LocalizedNetNewsWireError.swift | 14 +- Shared/Widget/WidgetDataEncoder.swift | 6 +- iOS/Account/Account.storyboard | 810 ------------------ iOS/Account/Account.strings | 7 +- .../CloudKitAccountViewController.swift | 73 -- .../FeedbinAccountViewController.swift | 194 ----- .../NewsBlurAccountViewController.swift | 197 ----- .../ReaderAPIAccountViewController.swift | 322 ------- .../Views/CloudKitAddAccountView.swift | 18 +- iOS/Account/Views/FeedbinAddAccountView.swift | 167 ++++ iOS/Account/Views/LocalAddAccountView.swift | 20 +- .../Views/NewsBlurAddAccountView.swift | 173 ++++ .../Views/ReaderAPIAddAccountView.swift | 49 +- iOS/Inspector/Inspector.strings | 2 +- .../Views/AccountInspectorView.swift | 9 +- .../Views/ExtensionInspectorView.swift | 2 +- .../Views/WebFeedInspectorView.swift | 1 + .../Accounts/AccountsManagementView.swift | 2 +- .../Accounts/AddAccountListView.swift | 6 +- iOS/Settings/Views/General/SettingsView.swift | 4 +- .../AccountSectionHeader.swift | 61 ++ .../View+DismissOnAccountAdd.swift | 28 + .../View+DismissOnExternalContext.swift | 29 + .../UIViewController-Extensions.swift | 39 +- 26 files changed, 536 insertions(+), 1741 deletions(-) delete mode 100644 iOS/Account/Account.storyboard delete mode 100644 iOS/Account/CloudKitAccountViewController.swift delete mode 100644 iOS/Account/FeedbinAccountViewController.swift delete mode 100644 iOS/Account/NewsBlurAccountViewController.swift delete mode 100644 iOS/Account/ReaderAPIAccountViewController.swift create mode 100644 iOS/Account/Views/FeedbinAddAccountView.swift create mode 100644 iOS/Account/Views/NewsBlurAddAccountView.swift create mode 100644 iOS/SwiftUI Extensions/AccountSectionHeader.swift create mode 100644 iOS/SwiftUI Extensions/View+DismissOnAccountAdd.swift create mode 100644 iOS/SwiftUI Extensions/View+DismissOnExternalContext.swift diff --git a/NetNewsWire.xcodeproj/project.pbxproj b/NetNewsWire.xcodeproj/project.pbxproj index 1410f5c0a..244803bd7 100644 --- a/NetNewsWire.xcodeproj/project.pbxproj +++ b/NetNewsWire.xcodeproj/project.pbxproj @@ -41,7 +41,6 @@ 176814652564BD7F00D98635 /* WidgetData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 176813B62564B9F800D98635 /* WidgetData.swift */; }; 1768146C2564BD8100D98635 /* WidgetDeepLinks.swift in Sources */ = {isa = PBXBuildFile; fileRef = 176813D82564BA8700D98635 /* WidgetDeepLinks.swift */; }; 1768147B2564BE5400D98635 /* widget-sample.json in Resources */ = {isa = PBXBuildFile; fileRef = 1768147A2564BE5400D98635 /* widget-sample.json */; }; - 177A0C2D25454AAB00D7EAF6 /* ReaderAPIAccountViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 177A0C2C25454AAB00D7EAF6 /* ReaderAPIAccountViewController.swift */; }; 178A9F9D2549449F00AB7E9D /* AddAccountsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 178A9F9C2549449F00AB7E9D /* AddAccountsView.swift */; }; 178A9F9E2549449F00AB7E9D /* AddAccountsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 178A9F9C2549449F00AB7E9D /* AddAccountsView.swift */; }; 179C39EA26F76B0500D4E741 /* Zip in Frameworks */ = {isa = PBXBuildFile; productRef = 179C39E926F76B0500D4E741 /* Zip */; }; @@ -133,7 +132,6 @@ 512AF9C2236ED52C0066F8BE /* ImageHeaderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 512AF9C1236ED52C0066F8BE /* ImageHeaderView.swift */; }; 512AF9DD236F05230066F8BE /* InteractiveLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 512AF9DC236F05230066F8BE /* InteractiveLabel.swift */; }; 512D554423C804DE0023FFFA /* OpenInSafariActivity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 512D554323C804DE0023FFFA /* OpenInSafariActivity.swift */; }; - 512DD4C92430086400C17B1F /* CloudKitAccountViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 512DD4C82430086400C17B1F /* CloudKitAccountViewController.swift */; }; 512E08E62268800D00BDCFDD /* FolderTreeControllerDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 849A97A11ED9F180007D329B /* FolderTreeControllerDelegate.swift */; }; 512E08E72268801200BDCFDD /* WebFeedTreeControllerDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 849A97611ED9EB96007D329B /* WebFeedTreeControllerDelegate.swift */; }; 512E09012268907400BDCFDD /* MasterFeedTableViewSectionHeader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 512E08F722688F7C00BDCFDD /* MasterFeedTableViewSectionHeader.swift */; }; @@ -237,7 +235,6 @@ 51627A6923861DED007B3B4B /* MasterFeedViewController+Drop.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51627A6823861DED007B3B4B /* MasterFeedViewController+Drop.swift */; }; 51627A93238A3836007B3B4B /* CroppingPreviewParameters.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51627A92238A3836007B3B4B /* CroppingPreviewParameters.swift */; }; 516A093B2360A4A000EAE89B /* SettingsTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 516A093A2360A4A000EAE89B /* SettingsTableViewCell.xib */; }; - 516A09402361240900EAE89B /* Account.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 516A093F2361240900EAE89B /* Account.storyboard */; }; 516AE9B32371C372007DEEAA /* MasterFeedTableViewSectionHeaderLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 516AE9B22371C372007DEEAA /* MasterFeedTableViewSectionHeaderLayout.swift */; }; 516AE9DF2372269A007DEEAA /* IconImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 516AE9DE2372269A007DEEAA /* IconImage.swift */; }; 516AE9E02372269A007DEEAA /* IconImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 516AE9DE2372269A007DEEAA /* IconImage.swift */; }; @@ -288,7 +285,6 @@ 51A052CE244FB9D7006C2024 /* AddFeedWIndowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51A052CD244FB9D6006C2024 /* AddFeedWIndowController.swift */; }; 51A052CF244FB9D7006C2024 /* AddFeedWIndowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51A052CD244FB9D6006C2024 /* AddFeedWIndowController.swift */; }; 51A1699A235E10D700EB091F /* Settings.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 51A16990235E10D600EB091F /* Settings.storyboard */; }; - 51A169A0235E10D700EB091F /* FeedbinAccountViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51A16996235E10D700EB091F /* FeedbinAccountViewController.swift */; }; 51A66685238075AE00CB272D /* AddWebFeedDefaultContainer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51A66684238075AE00CB272D /* AddWebFeedDefaultContainer.swift */; }; 51A737AE24DB19730015FA66 /* RSCore in Frameworks */ = {isa = PBXBuildFile; productRef = 51A737AD24DB19730015FA66 /* RSCore */; }; 51A737AF24DB19730015FA66 /* RSCore in Embed Frameworks */ = {isa = PBXBuildFile; productRef = 51A737AD24DB19730015FA66 /* RSCore */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; @@ -660,7 +656,6 @@ 65ED4098235DEF770081F399 /* netnewswire-subscribe-to-feed.js in Resources */ = {isa = PBXBuildFile; fileRef = 6581C73F20CED60100F4AD34 /* netnewswire-subscribe-to-feed.js */; }; 65ED40A0235DEFF00081F399 /* container-migration.plist in Resources */ = {isa = PBXBuildFile; fileRef = 65ED409F235DEFF00081F399 /* container-migration.plist */; }; 65ED40A1235DEFF00081F399 /* container-migration.plist in Resources */ = {isa = PBXBuildFile; fileRef = 65ED409F235DEFF00081F399 /* container-migration.plist */; }; - 769F2ED513DA03EE75B993A8 /* NewsBlurAccountViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 769F2D3643779DB02786278E /* NewsBlurAccountViewController.swift */; }; 8405DD8A2213E0E3008CE1BF /* DetailContainerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8405DD892213E0E3008CE1BF /* DetailContainerView.swift */; }; 8405DD9922153B6B008CE1BF /* TimelineContainerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8405DD9822153B6B008CE1BF /* TimelineContainerView.swift */; }; 8405DD9C22153BD7008CE1BF /* NSView-Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8405DD9B22153BD7008CE1BF /* NSView-Extensions.swift */; }; @@ -842,6 +837,9 @@ DDF9E1D728EDF2FC000BC355 /* notificationSoundBlip.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = DDF9E1D628EDF2FC000BC355 /* notificationSoundBlip.mp3 */; }; DDF9E1D828EDF2FC000BC355 /* notificationSoundBlip.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = DDF9E1D628EDF2FC000BC355 /* notificationSoundBlip.mp3 */; }; DDF9E1D928EDF2FC000BC355 /* notificationSoundBlip.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = DDF9E1D628EDF2FC000BC355 /* notificationSoundBlip.mp3 */; }; + DF28B44D294ED52700C4D8CA /* View+DismissOnExternalContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF28B44C294ED52700C4D8CA /* View+DismissOnExternalContext.swift */; }; + DF28B44F294ED92F00C4D8CA /* NewsBlurAddAccountView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF28B44E294ED92F00C4D8CA /* NewsBlurAddAccountView.swift */; }; + DF28B451294EFC6C00C4D8CA /* View+DismissOnAccountAdd.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF28B450294EFC6C00C4D8CA /* View+DismissOnAccountAdd.swift */; }; DF32ABE829493193008E3A12 /* SettingsComboTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF32ABE629493192008E3A12 /* SettingsComboTableViewCell.swift */; }; DF32ABE929493193008E3A12 /* SettingsComboTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = DF32ABE729493193008E3A12 /* SettingsComboTableViewCell.xib */; }; DF32ABEB29494CF1008E3A12 /* Settings.strings in Resources */ = {isa = PBXBuildFile; fileRef = DF32ABEA29494CF0008E3A12 /* Settings.strings */; }; @@ -871,6 +869,8 @@ DFB3499A294C4F1D00BC81AD /* Errors.strings in Resources */ = {isa = PBXBuildFile; fileRef = DFB34998294C4F1D00BC81AD /* Errors.strings */; }; DFB3499E294C5D5000BC81AD /* CloudKitAddAccountView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFB3499D294C5D5000BC81AD /* CloudKitAddAccountView.swift */; }; DFB349A0294E87B700BC81AD /* LocalAddAccountView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFB3499F294E87B700BC81AD /* LocalAddAccountView.swift */; }; + DFB349A2294E90B500BC81AD /* FeedbinAddAccountView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFB349A1294E90B500BC81AD /* FeedbinAddAccountView.swift */; }; + DFB349A4294E914D00BC81AD /* AccountSectionHeader.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFB349A3294E914D00BC81AD /* AccountSectionHeader.swift */; }; DFC14F0F28EA55BD00F6EE86 /* AboutWindowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFC14F0E28EA55BD00F6EE86 /* AboutWindowController.swift */; }; DFC14F1228EA5DC500F6EE86 /* AboutData.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF790D6128E990A900455FC7 /* AboutData.swift */; }; DFC14F1328EA677C00F6EE86 /* Bundle-Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51F85BF42273625800C787DC /* Bundle-Extensions.swift */; }; @@ -1180,7 +1180,6 @@ 176814562564BD0600D98635 /* ArticleItemView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ArticleItemView.swift; sourceTree = ""; }; 1768147A2564BE5400D98635 /* widget-sample.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = "widget-sample.json"; sourceTree = ""; }; 176814822564C02A00D98635 /* NetNewsWire_iOS_WidgetExtension.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = NetNewsWire_iOS_WidgetExtension.entitlements; sourceTree = ""; }; - 177A0C2C25454AAB00D7EAF6 /* ReaderAPIAccountViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReaderAPIAccountViewController.swift; sourceTree = ""; }; 178A9F9C2549449F00AB7E9D /* AddAccountsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddAccountsView.swift; sourceTree = ""; }; 179D280C26F73D83003B2E0A /* ArticleThemePlist.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ArticleThemePlist.swift; sourceTree = ""; }; 179DBBA2B22A659F81EED6F9 /* AccountsNewsBlurWindowController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AccountsNewsBlurWindowController.swift; sourceTree = ""; }; @@ -1224,7 +1223,6 @@ 512AF9C1236ED52C0066F8BE /* ImageHeaderView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ImageHeaderView.swift; sourceTree = ""; }; 512AF9DC236F05230066F8BE /* InteractiveLabel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InteractiveLabel.swift; sourceTree = ""; }; 512D554323C804DE0023FFFA /* OpenInSafariActivity.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OpenInSafariActivity.swift; sourceTree = ""; }; - 512DD4C82430086400C17B1F /* CloudKitAccountViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CloudKitAccountViewController.swift; sourceTree = ""; }; 512E08F722688F7C00BDCFDD /* MasterFeedTableViewSectionHeader.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MasterFeedTableViewSectionHeader.swift; sourceTree = ""; }; 51314617235A797400387FDC /* NetNewsWire_iOSintentextension_target.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = NetNewsWire_iOSintentextension_target.xcconfig; sourceTree = ""; }; 51314637235A7BBE00387FDC /* NetNewsWire iOS Intents Extension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = "NetNewsWire iOS Intents Extension.appex"; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -1274,7 +1272,6 @@ 51627A6823861DED007B3B4B /* MasterFeedViewController+Drop.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "MasterFeedViewController+Drop.swift"; sourceTree = ""; }; 51627A92238A3836007B3B4B /* CroppingPreviewParameters.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CroppingPreviewParameters.swift; sourceTree = ""; }; 516A093A2360A4A000EAE89B /* SettingsTableViewCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = SettingsTableViewCell.xib; sourceTree = ""; }; - 516A093F2361240900EAE89B /* Account.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = Account.storyboard; sourceTree = ""; }; 516AE5FF246AF34100731738 /* RedditAdd.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = RedditAdd.storyboard; sourceTree = ""; }; 516AE601246AF36100731738 /* RedditSelectTypeTableViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RedditSelectTypeTableViewController.swift; sourceTree = ""; }; 516AE603246AF37B00731738 /* RedditSelectAccountTableViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RedditSelectAccountTableViewController.swift; sourceTree = ""; }; @@ -1312,7 +1309,6 @@ 519ED47924482AEB007F8E94 /* EnableExtensionPointViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EnableExtensionPointViewController.swift; sourceTree = ""; }; 51A052CD244FB9D6006C2024 /* AddFeedWIndowController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = AddFeedWIndowController.swift; path = AddFeed/AddFeedWIndowController.swift; sourceTree = ""; }; 51A16990235E10D600EB091F /* Settings.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = Settings.storyboard; sourceTree = ""; }; - 51A16996235E10D700EB091F /* FeedbinAccountViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FeedbinAccountViewController.swift; sourceTree = ""; }; 51A66684238075AE00CB272D /* AddWebFeedDefaultContainer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddWebFeedDefaultContainer.swift; sourceTree = ""; }; 51A9A5E32380C8870033AADF /* ShareFolderPickerAccountCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = ShareFolderPickerAccountCell.xib; sourceTree = ""; }; 51A9A5E52380C8B20033AADF /* ShareFolderPickerFolderCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = ShareFolderPickerFolderCell.xib; sourceTree = ""; }; @@ -1420,7 +1416,6 @@ 65ED409F235DEFF00081F399 /* container-migration.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "container-migration.plist"; sourceTree = ""; }; 65ED40F2235DF5E00081F399 /* NetNewsWire_macapp_target_macappstore.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = NetNewsWire_macapp_target_macappstore.xcconfig; sourceTree = ""; }; 65ED4186235E045B0081F399 /* NetNewsWire_safariextension_target_macappstore.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = NetNewsWire_safariextension_target_macappstore.xcconfig; sourceTree = ""; }; - 769F2D3643779DB02786278E /* NewsBlurAccountViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NewsBlurAccountViewController.swift; sourceTree = ""; }; 8405DD892213E0E3008CE1BF /* DetailContainerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DetailContainerView.swift; sourceTree = ""; }; 8405DD9822153B6B008CE1BF /* TimelineContainerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TimelineContainerView.swift; sourceTree = ""; }; 8405DD9B22153BD7008CE1BF /* NSView-Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NSView-Extensions.swift"; sourceTree = ""; }; @@ -1609,6 +1604,9 @@ D5F4EDB820074D7C00B9E363 /* Folder+Scriptability.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Folder+Scriptability.swift"; sourceTree = ""; }; DD82AB09231003F6002269DF /* SharingTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SharingTests.swift; sourceTree = ""; }; DDF9E1D628EDF2FC000BC355 /* notificationSoundBlip.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = notificationSoundBlip.mp3; sourceTree = ""; }; + DF28B44C294ED52700C4D8CA /* View+DismissOnExternalContext.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "View+DismissOnExternalContext.swift"; sourceTree = ""; }; + DF28B44E294ED92F00C4D8CA /* NewsBlurAddAccountView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NewsBlurAddAccountView.swift; sourceTree = ""; }; + DF28B450294EFC6C00C4D8CA /* View+DismissOnAccountAdd.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "View+DismissOnAccountAdd.swift"; sourceTree = ""; }; DF32ABE629493192008E3A12 /* SettingsComboTableViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SettingsComboTableViewCell.swift; sourceTree = ""; }; DF32ABE729493193008E3A12 /* SettingsComboTableViewCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = SettingsComboTableViewCell.xib; sourceTree = ""; }; DF32ABEA29494CF0008E3A12 /* Settings.strings */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; path = Settings.strings; sourceTree = ""; }; @@ -1633,6 +1631,8 @@ DFB34998294C4F1D00BC81AD /* Errors.strings */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; path = Errors.strings; sourceTree = ""; }; DFB3499D294C5D5000BC81AD /* CloudKitAddAccountView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CloudKitAddAccountView.swift; sourceTree = ""; }; DFB3499F294E87B700BC81AD /* LocalAddAccountView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LocalAddAccountView.swift; sourceTree = ""; }; + DFB349A1294E90B500BC81AD /* FeedbinAddAccountView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FeedbinAddAccountView.swift; sourceTree = ""; }; + DFB349A3294E914D00BC81AD /* AccountSectionHeader.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountSectionHeader.swift; sourceTree = ""; }; DFC14F0E28EA55BD00F6EE86 /* AboutWindowController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AboutWindowController.swift; sourceTree = ""; }; DFC14F1428EB177000F6EE86 /* AboutNetNewsWireView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AboutNetNewsWireView.swift; sourceTree = ""; }; DFC14F1628EB17A800F6EE86 /* CreditsNetNewsWireView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CreditsNetNewsWireView.swift; sourceTree = ""; }; @@ -1996,11 +1996,6 @@ children = ( DFB34992294C0B7400BC81AD /* Account.strings */, DFB3498F294C0B0D00BC81AD /* Views */, - 516A093F2361240900EAE89B /* Account.storyboard */, - 512DD4C82430086400C17B1F /* CloudKitAccountViewController.swift */, - 51A16996235E10D700EB091F /* FeedbinAccountViewController.swift */, - 769F2D3643779DB02786278E /* NewsBlurAccountViewController.swift */, - 177A0C2C25454AAB00D7EAF6 /* ReaderAPIAccountViewController.swift */, ); path = Account; sourceTree = ""; @@ -2998,6 +2993,9 @@ isa = PBXGroup; children = ( DFB34987294B447F00BC81AD /* InjectedNavigationView.swift */, + DFB349A3294E914D00BC81AD /* AccountSectionHeader.swift */, + DF28B44C294ED52700C4D8CA /* View+DismissOnExternalContext.swift */, + DF28B450294EFC6C00C4D8CA /* View+DismissOnAccountAdd.swift */, ); path = "SwiftUI Extensions"; sourceTree = ""; @@ -3007,6 +3005,8 @@ children = ( DFB3499F294E87B700BC81AD /* LocalAddAccountView.swift */, DFB3499D294C5D5000BC81AD /* CloudKitAddAccountView.swift */, + DFB349A1294E90B500BC81AD /* FeedbinAddAccountView.swift */, + DF28B44E294ED92F00C4D8CA /* NewsBlurAddAccountView.swift */, DFB34990294C0B2200BC81AD /* ReaderAPIAddAccountView.swift */, ); path = Views; @@ -3622,7 +3622,6 @@ 84C9FCA42262A1B800D921D6 /* LaunchScreenPhone.storyboard in Resources */, 516A093B2360A4A000EAE89B /* SettingsTableViewCell.xib in Resources */, 511D43D1231FA62800FB1562 /* SidebarKeyboardShortcuts.plist in Resources */, - 516A09402361240900EAE89B /* Account.storyboard in Resources */, 51C452AB22650DC600C03939 /* template.html in Resources */, 84A3EE61223B667F00557320 /* DefaultFeeds.opml in Resources */, B27EEBFB244D15F3000932E6 /* stylesheet.css in Resources */, @@ -4197,7 +4196,6 @@ buildActionMask = 2147483647; files = ( 51E36E71239D6610006F47A5 /* AddFeedSelectFolderTableViewCell.swift in Sources */, - 512DD4C92430086400C17B1F /* CloudKitAccountViewController.swift in Sources */, 840D617F2029031C009BC708 /* AppDelegate.swift in Sources */, 512E08E72268801200BDCFDD /* WebFeedTreeControllerDelegate.swift in Sources */, 51C452A422650A2D00C03939 /* ArticleUtilities.swift in Sources */, @@ -4208,6 +4206,7 @@ 5195C1DA2720205F00888867 /* ShadowTableChanges.swift in Sources */, 5183CCDA226E31A50010922C /* NonIntrinsicImageView.swift in Sources */, B2B80778239C4C7000F191E0 /* RSImage-AppIcons.swift in Sources */, + DFB349A2294E90B500BC81AD /* FeedbinAddAccountView.swift in Sources */, 518ED21D23D0F26000E0A862 /* UIViewController-Extensions.swift in Sources */, DFD406FF291FDC0C00C02962 /* DisplayAndBehaviorsView.swift in Sources */, 51A9A5F52380F6A60033AADF /* ModalNavigationController.swift in Sources */, @@ -4265,7 +4264,6 @@ 51BB7C272335A8E5008E8144 /* ArticleActivityItemSource.swift in Sources */, 51F85BF52273625800C787DC /* Bundle-Extensions.swift in Sources */, DF790D6228E990A900455FC7 /* AboutData.swift in Sources */, - 177A0C2D25454AAB00D7EAF6 /* ReaderAPIAccountViewController.swift in Sources */, 51C452A622650A3500C03939 /* Node-Extensions.swift in Sources */, DF394F0029357A180081EB6E /* NewArticleNotificationsView.swift in Sources */, 51C45294226509C800C03939 /* SearchFeedDelegate.swift in Sources */, @@ -4289,6 +4287,7 @@ 51C4529D22650A1000C03939 /* FaviconURLFinder.swift in Sources */, 5142192A23522B5500E07E2C /* ImageViewController.swift in Sources */, 51C45258226508CF00C03939 /* AppAssets.swift in Sources */, + DF28B451294EFC6C00C4D8CA /* View+DismissOnAccountAdd.swift in Sources */, 51FA73A82332BE880090D516 /* ExtractedArticle.swift in Sources */, 51C4527C2265091600C03939 /* MasterTimelineDefaultCellLayout.swift in Sources */, 51E4398023805EBC00015C31 /* AddComboTableViewCell.swift in Sources */, @@ -4343,7 +4342,6 @@ DF3630EF293618A900326FB8 /* SettingsViewModel.swift in Sources */, 51C452882265093600C03939 /* AddFeedViewController.swift in Sources */, 51B5C8C023F3866C00032075 /* ExtensionFeedAddRequestFile.swift in Sources */, - 51A169A0235E10D700EB091F /* FeedbinAccountViewController.swift in Sources */, 51934CCE2310792F006127BE /* ActivityManager.swift in Sources */, DFB34980294B085100BC81AD /* AccountInspectorView.swift in Sources */, 5108F6B72375E612001ABC45 /* CacheCleaner.swift in Sources */, @@ -4356,6 +4354,7 @@ 516AE9B32371C372007DEEAA /* MasterFeedTableViewSectionHeaderLayout.swift in Sources */, 51DC370B2405BC9A0095D371 /* PreloadedWebView.swift in Sources */, D3555BF524664566005E48C3 /* ArticleSearchBar.swift in Sources */, + DF28B44D294ED52700C4D8CA /* View+DismissOnExternalContext.swift in Sources */, 8454C3F3263F2D8700E3F9C7 /* IconImageCache.swift in Sources */, DFD406F5291F79C900C02962 /* SettingsView.swift in Sources */, B24E9ADE245AB88400DA5718 /* NSAttributedString+NetNewsWire.swift in Sources */, @@ -4363,11 +4362,13 @@ 17071EF126F8137400F5E71D /* ArticleTheme+Notifications.swift in Sources */, 51C4529B22650A1000C03939 /* FaviconDownloader.swift in Sources */, 84DEE56622C32CA4005FC42C /* SmartFeedDelegate.swift in Sources */, + DF28B44F294ED92F00C4D8CA /* NewsBlurAddAccountView.swift in Sources */, 512E09012268907400BDCFDD /* MasterFeedTableViewSectionHeader.swift in Sources */, 512392BF24E33A3C00F11704 /* RedditSelectSortTableViewController.swift in Sources */, 516AE9E02372269A007DEEAA /* IconImage.swift in Sources */, 519ED456244828C3007F8E94 /* AddExtensionPointViewController.swift in Sources */, 51C45268226508F600C03939 /* MasterFeedUnreadCountView.swift in Sources */, + DFB349A4294E914D00BC81AD /* AccountSectionHeader.swift in Sources */, D3A39865246505DF00F9A366 /* FindInArticleActivity.swift in Sources */, 5183CCD0226E1E880010922C /* NonIntrinsicLabel.swift in Sources */, 5137C2EA26F63AE6009EFEDB /* ArticleThemeImporter.swift in Sources */, @@ -4387,7 +4388,6 @@ 511D4419231FC02D00FB1562 /* KeyboardManager.swift in Sources */, 51C45293226509C800C03939 /* StarredFeedDelegate.swift in Sources */, 51D6A5BC23199C85001C27D8 /* MasterTimelineDataSource.swift in Sources */, - 769F2ED513DA03EE75B993A8 /* NewsBlurAccountViewController.swift in Sources */, 51BC4B01247277E0000A6ED8 /* URL-Extensions.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; diff --git a/Shared/Translations/Errors.strings b/Shared/Translations/Errors.strings index 4844e4b15..9a0312549 100644 --- a/Shared/Translations/Errors.strings +++ b/Shared/Translations/Errors.strings @@ -9,4 +9,6 @@ "ERROR_TITLE" = "Error"; "DUPLICATE_ACCOUNT_ERROR" = "There is already an account of that type with that username created."; "CLOUDKIT_NOT_ENABLED_ERROR" = "Unable to add iCloud Account. Please make sure you have iCloud and iCloud Drive enabled in System Settings."; - +"USERNAME_AND_PASSWORD_REQUIRED" = "Username and password required."; +"INVALID_USERNAME_PASSWORD" = "Invalid email or password combination."; +"KEYCHAIN_ERROR" = "Keychain error while storing credentials."; diff --git a/Shared/Translations/LocalizedNetNewsWireError.swift b/Shared/Translations/LocalizedNetNewsWireError.swift index b16ddf099..c67974f50 100644 --- a/Shared/Translations/LocalizedNetNewsWireError.swift +++ b/Shared/Translations/LocalizedNetNewsWireError.swift @@ -16,8 +16,14 @@ public enum LocalizedNetNewsWireError: LocalizedError { /// Displayed when the user attempts to add a /// iCloud account but iCloud and/or iCloud Drive - /// are not enabled/ + /// are not enabled. case iCloudDriveMissing + + case userNameAndPasswordRequired + + case invalidUsernameOrPassword + + case keychainError public var errorDescription: String? { switch self { @@ -25,6 +31,12 @@ public enum LocalizedNetNewsWireError: LocalizedError { return Bundle.main.localizedString(forKey: "DUPLICATE_ACCOUNT_ERROR", value: nil, table: "Errors") case .iCloudDriveMissing: return Bundle.main.localizedString(forKey: "CLOUDKIT_NOT_ENABLED_ERROR", value: nil, table: "Errors") + case .userNameAndPasswordRequired: + return Bundle.main.localizedString(forKey: "USERNAME_AND_PASSWORD_REQUIRED", value: nil, table: "Errors") + case .invalidUsernameOrPassword: + return Bundle.main.localizedString(forKey: "INVALID_USERNAME_PASSWORD", value: nil, table: "Errors") + case .keychainError: + return Bundle.main.localizedString(forKey: "KEYCHAIN_ERROR", value: nil, table: "Errors") } } } diff --git a/Shared/Widget/WidgetDataEncoder.swift b/Shared/Widget/WidgetDataEncoder.swift index 1b610a8b5..ac4ba2768 100644 --- a/Shared/Widget/WidgetDataEncoder.swift +++ b/Shared/Widget/WidgetDataEncoder.swift @@ -143,9 +143,9 @@ public final class WidgetDataEncoder { let latestData = WidgetData(currentUnreadCount: SmartFeedsController.shared.unreadFeed.unreadCount, currentTodayCount: SmartFeedsController.shared.todayFeed.unreadCount, currentStarredCount: (try? AccountManager.shared.fetchCountForStarredArticles()) ?? 0, - unreadArticles: unread, - starredArticles: starred, - todayArticles:today, + unreadArticles: unread.sorted(by: { $0.pubDate > $1.pubDate }), + starredArticles: starred.sorted(by: { $0.pubDate > $1.pubDate }), + todayArticles:today.sorted(by: { $0.pubDate > $1.pubDate }), lastUpdateTime: Date()) completion(latestData) } diff --git a/iOS/Account/Account.storyboard b/iOS/Account/Account.storyboard deleted file mode 100644 index f1fb29edf..000000000 --- a/iOS/Account/Account.storyboard +++ /dev/null @@ -1,810 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/iOS/Account/Account.strings b/iOS/Account/Account.strings index 818dbd7d8..7d9b15040 100644 --- a/iOS/Account/Account.strings +++ b/iOS/Account/Account.strings @@ -6,11 +6,14 @@ Copyright © 2022 Ranchero Software. All rights reserved. */ -/* Account Names */ +/* Account Section */ "ACCOUNT_NAME" = "Name"; "CLOUDKIT" = "iCloud"; "LOCAL_ACCOUNT_NAME_PHONE" = "On My iPhone"; "LOCAL_ACCOUNT_NAME_PAD" = "On My iPad"; +"ACCOUNT_EMAIL_ADDRESS_PROMPT" = "Email Address"; +"ACCOUNT_USERNAME_PROMPT" = "Username"; +"ACCOUNT_PASSWORD_PROMPT" = "Password"; /* Explainers */ @@ -20,5 +23,7 @@ "OLDREADER_FOOTER_EXPLAINER" = "Sign in to your The Old Reader account and sync your feeds across your devices. Your username and password will be encrypted and stored in Keychain.\n\nDon’t have a The Old Reader account? [Sign Up Here](https://theoldreader.com)"; "FRESHRSS_FOOTER_EXPLAINER" = "Sign in to your FreshRSS instance and sync your feeds across your devices. Your username and password will be encrypted and stored in Keychain.\n\nDon’t have an FreshRSS instance? [Sign Up Here](https://freshrss.org)"; "CLOUDKIT_FOOTER_EXPLAINER" = "NetNewsWire will use your iCloud account to sync your subscriptions across your Mac and iOS devices."; +"FEEDBIN_FOOTER_EXPLAINER" = "Sign in to your Feedbin account and sync your feeds across your devices. Your username and password will be encrypted and stored in Keychain.\n\nDon’t have a Feedbin account? [Sign Up Here](https://feedbin.com/signup)"; +"NEWSBLUR_FOOTER_EXPLAINER" = "Sign in to your NewsBlur account and sync your feeds across your devices. Your username and password will be encrypted and stored in Keychain.\n\nDon’t have a NewsBlur account? [Sign Up Here](https://newsblur.com)"; diff --git a/iOS/Account/CloudKitAccountViewController.swift b/iOS/Account/CloudKitAccountViewController.swift deleted file mode 100644 index 08d10d010..000000000 --- a/iOS/Account/CloudKitAccountViewController.swift +++ /dev/null @@ -1,73 +0,0 @@ -// -// CloudKitAccountViewController.swift -// NetNewsWire-iOS -// -// Created by Maurice Parker on 3/28/20. -// Copyright © 2020 Ranchero Software. All rights reserved. -// - -import UIKit -import SafariServices -import Account - -enum CloudKitAccountViewControllerError: LocalizedError { - case iCloudDriveMissing - - var errorDescription: String? { - return NSLocalizedString("Unable to add iCloud Account. Please make sure you have iCloud and iCloud Drive enabled in System Preferences.", comment: "Unable to add iCloud Account.") - } -} - -class CloudKitAccountViewController: UITableViewController { - - //weak var delegate: AddAccountDismissDelegate? - @IBOutlet weak var footerLabel: UILabel! - - override func viewDidLoad() { - super.viewDidLoad() - setupFooter() - - tableView.register(ImageHeaderView.self, forHeaderFooterViewReuseIdentifier: "SectionHeader") - } - - private func setupFooter() { - footerLabel.text = NSLocalizedString("NetNewsWire will use your iCloud account to sync your subscriptions across your Mac and iOS devices.", comment: "iCloud") - } - - @IBAction func cancel(_ sender: Any) { - dismiss(animated: true, completion: nil) - //delegate?.dismiss() - } - - @IBAction func add(_ sender: Any) { - guard FileManager.default.ubiquityIdentityToken != nil else { - presentError(CloudKitAccountViewControllerError.iCloudDriveMissing) - return - } - - let _ = AccountManager.shared.createAccount(type: .cloudKit) - dismiss(animated: true, completion: nil) - //delegate?.dismiss() - } - - override func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat { - return section == 0 ? ImageHeaderView.rowHeight : super.tableView(tableView, heightForHeaderInSection: section) - } - - override func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? { - if section == 0 { - let headerView = tableView.dequeueReusableHeaderFooterView(withIdentifier: "SectionHeader") as! ImageHeaderView - headerView.imageView.image = AppAssets.image(for: .cloudKit) - return headerView - } else { - return super.tableView(tableView, viewForHeaderInSection: section) - } - } - - @IBAction func openLimitationsAndSolutions(_ sender: Any) { - let vc = SFSafariViewController(url: CloudKitWebDocumentation.limitationsAndSolutionsURL) - vc.modalPresentationStyle = .pageSheet - present(vc, animated: true) - } - -} diff --git a/iOS/Account/FeedbinAccountViewController.swift b/iOS/Account/FeedbinAccountViewController.swift deleted file mode 100644 index 33abc33c1..000000000 --- a/iOS/Account/FeedbinAccountViewController.swift +++ /dev/null @@ -1,194 +0,0 @@ -// -// FeedbinAccountViewController.swift -// NetNewsWire-iOS -// -// Created by Maurice Parker on 5/19/19. -// Copyright © 2019 Ranchero Software. All rights reserved. -// - -import UIKit -import Account -import Secrets -import RSWeb -import SafariServices -import RSCore - -class FeedbinAccountViewController: UITableViewController, Logging { - - @IBOutlet weak var activityIndicator: UIActivityIndicatorView! - @IBOutlet weak var cancelBarButtonItem: UIBarButtonItem! - @IBOutlet weak var emailTextField: UITextField! - @IBOutlet weak var passwordTextField: UITextField! - @IBOutlet weak var showHideButton: UIButton! - @IBOutlet weak var actionButton: UIButton! - @IBOutlet weak var footerLabel: UILabel! - - weak var account: Account? - //weak var delegate: AddAccountDismissDelegate? - - override func viewDidLoad() { - super.viewDidLoad() - setupFooter() - - activityIndicator.isHidden = true - emailTextField.delegate = self - passwordTextField.delegate = self - - if let account = account, let credentials = try? account.retrieveCredentials(type: .basic) { - actionButton.setTitle(NSLocalizedString("Update Credentials", comment: "Update Credentials"), for: .normal) - actionButton.isEnabled = true - emailTextField.text = credentials.username - passwordTextField.text = credentials.secret - } else { - actionButton.setTitle(NSLocalizedString("Add Account", comment: "Add Account"), for: .normal) - } - - NotificationCenter.default.addObserver(self, selector: #selector(textDidChange(_:)), name: UITextField.textDidChangeNotification, object: emailTextField) - NotificationCenter.default.addObserver(self, selector: #selector(textDidChange(_:)), name: UITextField.textDidChangeNotification, object: passwordTextField) - - tableView.register(ImageHeaderView.self, forHeaderFooterViewReuseIdentifier: "SectionHeader") - - } - - private func setupFooter() { - footerLabel.text = NSLocalizedString("Sign in to your Feedbin account and sync your feeds across your devices. Your username and password will be encrypted and stored in Keychain.\n\nDon’t have a Feedbin account?", comment: "Feedbin") - } - - override func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat { - return section == 0 ? ImageHeaderView.rowHeight : super.tableView(tableView, heightForHeaderInSection: section) - } - - override func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? { - if section == 0 { - let headerView = tableView.dequeueReusableHeaderFooterView(withIdentifier: "SectionHeader") as! ImageHeaderView - headerView.imageView.image = AppAssets.image(for: .feedbin) - return headerView - } else { - return super.tableView(tableView, viewForHeaderInSection: section) - } - } - - @IBAction func cancel(_ sender: Any) { - dismiss(animated: true, completion: nil) - } - - - @IBAction func showHidePassword(_ sender: Any) { - if passwordTextField.isSecureTextEntry { - passwordTextField.isSecureTextEntry = false - showHideButton.setTitle("Hide", for: .normal) - } else { - passwordTextField.isSecureTextEntry = true - showHideButton.setTitle("Show", for: .normal) - } - } - - @IBAction func action(_ sender: Any) { - guard let email = emailTextField.text, let password = passwordTextField.text else { - showError(NSLocalizedString("Username & password required.", comment: "Credentials Error")) - return - } - - // When you fill in the email address via auto-complete it adds extra whitespace - let trimmedEmail = email.trimmingCharacters(in: .whitespaces) - - guard account != nil || !AccountManager.shared.duplicateServiceAccount(type: .feedbin, username: trimmedEmail) else { - showError(NSLocalizedString("There is already a Feedbin account with that username created.", comment: "Duplicate Error")) - return - } - - resignFirstResponder() - toggleActivityIndicatorAnimation(visible: true) - setNavigationEnabled(to: false) - - let credentials = Credentials(type: .basic, username: trimmedEmail, secret: password) - Account.validateCredentials(type: .feedbin, credentials: credentials) { result in - self.toggleActivityIndicatorAnimation(visible: false) - self.setNavigationEnabled(to: true) - - switch result { - case .success(let credentials): - if let credentials = credentials { - if self.account == nil { - self.account = AccountManager.shared.createAccount(type: .feedbin) - } - - do { - - do { - try self.account?.removeCredentials(type: .basic) - } catch { - self.logger.error("Error removing credentials: \(error.localizedDescription, privacy: .public).") - } - try self.account?.storeCredentials(credentials) - - self.account?.refreshAll() { result in - switch result { - case .success: - break - case .failure(let error): - self.presentError(error) - } - } - - self.dismiss(animated: true, completion: nil) - //self.delegate?.dismiss() - } catch { - self.showError(NSLocalizedString("Keychain error while storing credentials.", comment: "Credentials Error")) - self.logger.error("Keychain error while storing credentials: \(error.localizedDescription, privacy: .public).") - } - } else { - self.showError(NSLocalizedString("Invalid email/password combination.", comment: "Credentials Error")) - } - case .failure: - self.showError(NSLocalizedString("Network error. Try again later.", comment: "Credentials Error")) - } - - } - } - - @IBAction func signUpWithProvider(_ sender: Any) { - let url = URL(string: "https://feedbin.com/signup")! - let safari = SFSafariViewController(url: url) - safari.modalPresentationStyle = .currentContext - self.present(safari, animated: true, completion: nil) - } - - - @objc func textDidChange(_ note: Notification) { - actionButton.isEnabled = !(emailTextField.text?.isEmpty ?? false) && !(passwordTextField.text?.isEmpty ?? false) - } - - private func showError(_ message: String) { - presentError(title: NSLocalizedString("Error", comment: "Credentials Error"), message: message) - } - - private func setNavigationEnabled(to value:Bool){ - cancelBarButtonItem.isEnabled = value - actionButton.isEnabled = value - } - - private func toggleActivityIndicatorAnimation(visible value: Bool){ - activityIndicator.isHidden = !value - if value { - activityIndicator.startAnimating() - } else { - activityIndicator.stopAnimating() - } - } - -} - -extension FeedbinAccountViewController: UITextFieldDelegate { - - func textFieldShouldReturn(_ textField: UITextField) -> Bool { - if textField == emailTextField { - passwordTextField.becomeFirstResponder() - } else { - textField.resignFirstResponder() - action(self) - } - return true - } - -} diff --git a/iOS/Account/NewsBlurAccountViewController.swift b/iOS/Account/NewsBlurAccountViewController.swift deleted file mode 100644 index 845e6f429..000000000 --- a/iOS/Account/NewsBlurAccountViewController.swift +++ /dev/null @@ -1,197 +0,0 @@ -// -// NewsBlurAccountViewController.swift -// NetNewsWire -// -// Created by Anh-Quang Do on 3/9/20. -// Copyright (c) 2020 Ranchero Software. All rights reserved. -// - -import UIKit -import Account -import Secrets -import RSWeb -import RSCore -import SafariServices - -class NewsBlurAccountViewController: UITableViewController, Logging { - - @IBOutlet weak var activityIndicator: UIActivityIndicatorView! - @IBOutlet weak var cancelBarButtonItem: UIBarButtonItem! - @IBOutlet weak var usernameTextField: UITextField! - @IBOutlet weak var passwordTextField: UITextField! - @IBOutlet weak var showHideButton: UIButton! - @IBOutlet weak var actionButton: UIButton! - @IBOutlet weak var footerLabel: UILabel! - - weak var account: Account? - //weak var delegate: AddAccountDismissDelegate? - - override func viewDidLoad() { - super.viewDidLoad() - setupFooter() - activityIndicator.isHidden = true - usernameTextField.delegate = self - passwordTextField.delegate = self - - if let account = account, let credentials = try? account.retrieveCredentials(type: .newsBlurBasic) { - actionButton.setTitle(NSLocalizedString("Update Credentials", comment: "Update Credentials"), for: .normal) - actionButton.isEnabled = true - usernameTextField.text = credentials.username - passwordTextField.text = credentials.secret - } else { - actionButton.setTitle(NSLocalizedString("Add Account", comment: "Add Account"), for: .normal) - } - - NotificationCenter.default.addObserver(self, selector: #selector(textDidChange(_:)), name: UITextField.textDidChangeNotification, object: usernameTextField) - NotificationCenter.default.addObserver(self, selector: #selector(textDidChange(_:)), name: UITextField.textDidChangeNotification, object: passwordTextField) - - tableView.register(ImageHeaderView.self, forHeaderFooterViewReuseIdentifier: "SectionHeader") - } - - private func setupFooter() { - footerLabel.text = NSLocalizedString("Sign in to your NewsBlur account and sync your feeds across your devices. Your username and password will be encrypted and stored in Keychain.\n\nDon’t have a NewsBlur account?", comment: "NewsBlur") - } - - override func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat { - return section == 0 ? ImageHeaderView.rowHeight : super.tableView(tableView, heightForHeaderInSection: section) - } - - override func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? { - if section == 0 { - let headerView = tableView.dequeueReusableHeaderFooterView(withIdentifier: "SectionHeader") as! ImageHeaderView - headerView.imageView.image = AppAssets.image(for: .newsBlur) - return headerView - } else { - return super.tableView(tableView, viewForHeaderInSection: section) - } - } - - @IBAction func cancel(_ sender: Any) { - dismiss(animated: true, completion: nil) - } - - @IBAction func showHidePassword(_ sender: Any) { - if passwordTextField.isSecureTextEntry { - passwordTextField.isSecureTextEntry = false - showHideButton.setTitle("Hide", for: .normal) - } else { - passwordTextField.isSecureTextEntry = true - showHideButton.setTitle("Show", for: .normal) - } - } - - @IBAction func action(_ sender: Any) { - - guard let username = usernameTextField.text else { - showError(NSLocalizedString("Username required.", comment: "Credentials Error")) - return - } - - // When you fill in the email address via auto-complete it adds extra whitespace - let trimmedUsername = username.trimmingCharacters(in: .whitespaces) - - guard account != nil || !AccountManager.shared.duplicateServiceAccount(type: .newsBlur, username: trimmedUsername) else { - showError(NSLocalizedString("There is already a NewsBlur account with that username created.", comment: "Duplicate Error")) - return - } - - let password = passwordTextField.text ?? "" - - startAnimatingActivityIndicator() - disableNavigation() - - let basicCredentials = Credentials(type: .newsBlurBasic, username: trimmedUsername, secret: password) - Account.validateCredentials(type: .newsBlur, credentials: basicCredentials) { result in - - self.stopAnimatingActivityIndicator() - self.enableNavigation() - - switch result { - case .success(let sessionCredentials): - if let sessionCredentials = sessionCredentials { - - if self.account == nil { - self.account = AccountManager.shared.createAccount(type: .newsBlur) - } - - do { - - do { - try self.account?.removeCredentials(type: .newsBlurBasic) - try self.account?.removeCredentials(type: .newsBlurSessionId) - } catch { - self.logger.error("Error removing credentials: \(error.localizedDescription, privacy: .public).") - } - try self.account?.storeCredentials(basicCredentials) - try self.account?.storeCredentials(sessionCredentials) - - self.account?.refreshAll() { result in - switch result { - case .success: - break - case .failure(let error): - self.presentError(error) - } - } - - self.dismiss(animated: true, completion: nil) - //self.delegate?.dismiss() - } catch { - self.showError(NSLocalizedString("Keychain error while storing credentials.", comment: "Credentials Error")) - self.logger.error("Keychain error while storing credentials: \(error.localizedDescription, privacy: .public).") - } - } else { - self.showError(NSLocalizedString("Invalid username/password combination.", comment: "Credentials Error")) - } - case .failure(let error): - self.showError(error.localizedDescription) - } - - } - } - - @IBAction func signUpWithProvider(_ sender: Any) { - let url = URL(string: "https://newsblur.com")! - let safari = SFSafariViewController(url: url) - safari.modalPresentationStyle = .currentContext - self.present(safari, animated: true, completion: nil) - } - - @objc func textDidChange(_ note: Notification) { - actionButton.isEnabled = !(usernameTextField.text?.isEmpty ?? false) - } - - private func showError(_ message: String) { - presentError(title: "Error", message: message) - } - - private func enableNavigation() { - self.cancelBarButtonItem.isEnabled = true - self.actionButton.isEnabled = true - } - - private func disableNavigation() { - cancelBarButtonItem.isEnabled = false - actionButton.isEnabled = false - } - - private func startAnimatingActivityIndicator() { - activityIndicator.isHidden = false - activityIndicator.startAnimating() - } - - private func stopAnimatingActivityIndicator() { - self.activityIndicator.isHidden = true - self.activityIndicator.stopAnimating() - } - -} - -extension NewsBlurAccountViewController: UITextFieldDelegate { - - func textFieldShouldReturn(_ textField: UITextField) -> Bool { - textField.resignFirstResponder() - return true - } - -} diff --git a/iOS/Account/ReaderAPIAccountViewController.swift b/iOS/Account/ReaderAPIAccountViewController.swift deleted file mode 100644 index 11705b63d..000000000 --- a/iOS/Account/ReaderAPIAccountViewController.swift +++ /dev/null @@ -1,322 +0,0 @@ -// -// ReaderAPIAccountViewController.swift -// NetNewsWire-iOS -// -// Created by Stuart Breckenridge on 25/10/20. -// Copyright © 2020 Ranchero Software. All rights reserved. -// - -import UIKit -import Account -import Secrets -import RSWeb -import SafariServices -import RSCore - -class ReaderAPIAccountViewController: UITableViewController, Logging { - - @IBOutlet weak var activityIndicator: UIActivityIndicatorView! - @IBOutlet weak var cancelBarButtonItem: UIBarButtonItem! - @IBOutlet weak var usernameTextField: UITextField! - @IBOutlet weak var passwordTextField: UITextField! - @IBOutlet weak var apiURLTextField: UITextField! - @IBOutlet weak var showHideButton: UIButton! - @IBOutlet weak var actionButton: UIButton! - @IBOutlet weak var footerLabel: UILabel! - @IBOutlet weak var signUpButton: UIButton! - - weak var account: Account? - var accountType: AccountType? - //weak var delegate: AddAccountDismissDelegate? - - override func viewDidLoad() { - super.viewDidLoad() - setupFooter() - - activityIndicator.isHidden = true - usernameTextField.delegate = self - passwordTextField.delegate = self - - if let unwrappedAcount = account, - let credentials = try? retrieveCredentialsForAccount(for: unwrappedAcount) { - actionButton.setTitle(NSLocalizedString("Update Credentials", comment: "Update Credentials"), for: .normal) - actionButton.isEnabled = true - usernameTextField.text = credentials.username - passwordTextField.text = credentials.secret - } else { - actionButton.setTitle(NSLocalizedString("Add Account", comment: "Add Account"), for: .normal) - } - - if let unwrappedAccountType = accountType { - switch unwrappedAccountType { - case .freshRSS: - title = NSLocalizedString("FreshRSS", comment: "FreshRSS") - apiURLTextField.placeholder = NSLocalizedString("API URL: fresh.rss.net/api/greader.php", comment: "FreshRSS API Helper") - case .inoreader: - title = NSLocalizedString("InoReader", comment: "InoReader") - case .bazQux: - title = NSLocalizedString("BazQux", comment: "BazQux") - case .theOldReader: - title = NSLocalizedString("The Old Reader", comment: "The Old Reader") - default: - title = "" - } - } - - NotificationCenter.default.addObserver(self, selector: #selector(textDidChange(_:)), name: UITextField.textDidChangeNotification, object: usernameTextField) - NotificationCenter.default.addObserver(self, selector: #selector(textDidChange(_:)), name: UITextField.textDidChangeNotification, object: passwordTextField) - - tableView.register(ImageHeaderView.self, forHeaderFooterViewReuseIdentifier: "SectionHeader") - - } - - private func setupFooter() { - switch accountType { - case .bazQux: - footerLabel.text = NSLocalizedString("Sign in to your BazQux account and sync your feeds across your devices. Your username and password will be encrypted and stored in Keychain.\n\nDon’t have a BazQux account?", comment: "BazQux") - signUpButton.setTitle(NSLocalizedString("Sign Up Here", comment: "BazQux SignUp"), for: .normal) - case .inoreader: - footerLabel.text = NSLocalizedString("Sign in to your InoReader account and sync your feeds across your devices. Your username and password will be encrypted and stored in Keychain.\n\nDon’t have an InoReader account?", comment: "InoReader") - signUpButton.setTitle(NSLocalizedString("Sign Up Here", comment: "InoReader SignUp"), for: .normal) - case .theOldReader: - footerLabel.text = NSLocalizedString("Sign in to your The Old Reader account and sync your feeds across your devices. Your username and password will be encrypted and stored in Keychain.\n\nDon’t have a The Old Reader account?", comment: "TOR") - signUpButton.setTitle(NSLocalizedString("Sign Up Here", comment: "TOR SignUp"), for: .normal) - case .freshRSS: - footerLabel.text = NSLocalizedString("Sign in to your FreshRSS instance and sync your feeds across your devices. Your username and password will be encrypted and stored in Keychain.\n\nDon’t have an FreshRSS instance?", comment: "FreshRSS") - signUpButton.setTitle(NSLocalizedString("Find Out More", comment: "FreshRSS SignUp"), for: .normal) - default: - return - } - } - - override func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat { - return section == 0 ? ImageHeaderView.rowHeight : super.tableView(tableView, heightForHeaderInSection: section) - } - - override func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? { - if section == 0 { - let headerView = tableView.dequeueReusableHeaderFooterView(withIdentifier: "SectionHeader") as! ImageHeaderView - headerView.imageView.image = headerViewImage() - return headerView - } else { - return super.tableView(tableView, viewForHeaderInSection: section) - } - } - - override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { - switch section { - case 0: - switch accountType { - case .freshRSS: - return 3 - default: - return 2 - } - default: - return 1 - } - } - - - @IBAction func cancel(_ sender: Any) { - dismiss(animated: true, completion: nil) - } - - @IBAction func showHidePassword(_ sender: Any) { - if passwordTextField.isSecureTextEntry { - passwordTextField.isSecureTextEntry = false - showHideButton.setTitle("Hide", for: .normal) - } else { - passwordTextField.isSecureTextEntry = true - showHideButton.setTitle("Show", for: .normal) - } - } - - @IBAction func action(_ sender: Any) { - guard validateDataEntry(), let type = accountType else { - return - } - - let username = usernameTextField.text! - let password = passwordTextField.text! - let url = apiURL()! - - // When you fill in the email address via auto-complete it adds extra whitespace - let trimmedUsername = username.trimmingCharacters(in: .whitespaces) - - guard account != nil || !AccountManager.shared.duplicateServiceAccount(type: type, username: trimmedUsername) else { - showError(NSLocalizedString("There is already an account of that type with that username created.", comment: "Duplicate Error")) - return - } - - startAnimatingActivityIndicator() - disableNavigation() - - let credentials = Credentials(type: .readerBasic, username: trimmedUsername, secret: password) - Account.validateCredentials(type: type, credentials: credentials, endpoint: url) { result in - - self.stopAnimatingActivityIndicator() - self.enableNavigation() - - switch result { - case .success(let validatedCredentials): - if let validatedCredentials = validatedCredentials { - - if self.account == nil { - self.account = AccountManager.shared.createAccount(type: type) - } - - do { - self.account?.endpointURL = url - - try? self.account?.removeCredentials(type: .readerBasic) - try? self.account?.removeCredentials(type: .readerAPIKey) - try self.account?.storeCredentials(credentials) - try self.account?.storeCredentials(validatedCredentials) - - self.dismiss(animated: true, completion: nil) - - self.account?.refreshAll() { result in - switch result { - case .success: - break - case .failure(let error): - self.showError(NSLocalizedString(error.localizedDescription, comment: "Accoount Refresh Error")) - } - } - - //self.delegate?.dismiss() - } catch { - self.showError(NSLocalizedString("Keychain error while storing credentials.", comment: "Credentials Error")) - self.logger.error("Keychain error while storing credentials: \(error.localizedDescription, privacy: .public).") - } - } else { - self.showError(NSLocalizedString("Invalid username/password combination.", comment: "Credentials Error")) - } - case .failure(let error): - self.showError(error.localizedDescription) - } - - } - } - - private func retrieveCredentialsForAccount(for account: Account) throws -> Credentials? { - switch accountType { - case .bazQux, .inoreader, .theOldReader, .freshRSS: - return try account.retrieveCredentials(type: .readerBasic) - default: - return nil - } - } - - private func headerViewImage() -> UIImage? { - if let accountType = accountType { - switch accountType { - case .bazQux: - return AppAssets.accountBazQuxImage - case .inoreader: - return AppAssets.accountInoreaderImage - case .theOldReader: - return AppAssets.accountTheOldReaderImage - case .freshRSS: - return AppAssets.accountFreshRSSImage - default: - return nil - } - } - return nil - } - - private func validateDataEntry() -> Bool { - switch accountType { - case .freshRSS: - if !usernameTextField.hasText || !passwordTextField.hasText || !apiURLTextField.hasText { - showError(NSLocalizedString("Username, password, and API URL are required.", comment: "Credentials Error")) - return false - } - guard let _ = URL(string: apiURLTextField.text!) else { - showError(NSLocalizedString("Invalid API URL.", comment: "Invalid API URL")) - return false - } - default: - if !usernameTextField.hasText || !passwordTextField.hasText { - showError(NSLocalizedString("Username and password are required.", comment: "Credentials Error")) - return false - } - } - return true - } - - @IBAction func signUpWithProvider(_ sender: Any) { - var url: URL! - switch accountType { - case .bazQux: - url = URL(string: "https://bazqux.com")! - case .inoreader: - url = URL(string: "https://www.inoreader.com")! - case .theOldReader: - url = URL(string: "https://theoldreader.com")! - case .freshRSS: - url = URL(string: "https://freshrss.org")! - default: - return - } - let safari = SFSafariViewController(url: url) - safari.modalPresentationStyle = .currentContext - self.present(safari, animated: true, completion: nil) - } - - private func apiURL() -> URL? { - switch accountType { - case .freshRSS: - return URL(string: apiURLTextField.text!)! - case .inoreader: - return URL(string: ReaderAPIVariant.inoreader.host)! - case .bazQux: - return URL(string: ReaderAPIVariant.bazQux.host)! - case .theOldReader: - return URL(string: ReaderAPIVariant.theOldReader.host)! - default: - return nil - } - } - - - - @objc func textDidChange(_ note: Notification) { - actionButton.isEnabled = !(usernameTextField.text?.isEmpty ?? false) - } - - private func showError(_ message: String) { - presentError(title: "Error", message: message) - } - - private func enableNavigation() { - self.cancelBarButtonItem.isEnabled = true - self.actionButton.isEnabled = true - } - - private func disableNavigation() { - cancelBarButtonItem.isEnabled = false - actionButton.isEnabled = false - } - - private func startAnimatingActivityIndicator() { - activityIndicator.isHidden = false - activityIndicator.startAnimating() - } - - private func stopAnimatingActivityIndicator() { - self.activityIndicator.isHidden = true - self.activityIndicator.stopAnimating() - } -} - -extension ReaderAPIAccountViewController: UITextFieldDelegate { - - func textFieldShouldReturn(_ textField: UITextField) -> Bool { - textField.resignFirstResponder() - return true - } - -} diff --git a/iOS/Account/Views/CloudKitAddAccountView.swift b/iOS/Account/Views/CloudKitAddAccountView.swift index 97ddd43bf..95bae4208 100644 --- a/iOS/Account/Views/CloudKitAddAccountView.swift +++ b/iOS/Account/Views/CloudKitAddAccountView.swift @@ -17,7 +17,7 @@ struct CloudKitAddAccountView: View { var body: some View { NavigationView { Form { - Section(header: cloudKitHeader) {} + AccountSectionHeader(accountType: .cloudKit) Section { createCloudKitAccount } Section(footer: cloudKitExplainer) {} } @@ -33,23 +33,11 @@ struct CloudKitAddAccountView: View { } message: { Text(addAccountError.0?.localizedDescription ?? "Unknown Error") } - .onReceive(NotificationCenter.default.publisher(for: .UserDidAddAccount)) { _ in - dismiss() - } + .dismissOnExternalContextLaunch() + .dismissOnAccountAdd() } } - var cloudKitHeader: some View { - HStack { - Spacer() - Image(uiImage: AppAssets.accountCloudKitImage) - .resizable() - .aspectRatio(contentMode: .fit) - .frame(width: 48, height: 48) - Spacer() - } - } - var createCloudKitAccount: some View { Button { guard FileManager.default.ubiquityIdentityToken != nil else { diff --git a/iOS/Account/Views/FeedbinAddAccountView.swift b/iOS/Account/Views/FeedbinAddAccountView.swift new file mode 100644 index 000000000..bf79dfc0b --- /dev/null +++ b/iOS/Account/Views/FeedbinAddAccountView.swift @@ -0,0 +1,167 @@ +// +// FeedbinAddAccountView.swift +// NetNewsWire-iOS +// +// Created by Stuart Breckenridge on 18/12/2022. +// Copyright © 2022 Ranchero Software. All rights reserved. +// + +import SwiftUI +import Account +import Secrets +import RSWeb +import SafariServices +import RSCore + + +struct FeedbinAddAccountView: View { + + @Environment(\.dismiss) private var dismiss + @State var account: Account? = nil + @State private var accountEmail: String = "" + @State private var accountPassword: String = "" + @State private var showProgressIndicator: Bool = false + @State private var accountError: (Error?, Bool) = (nil, false) + + var body: some View { + NavigationView { + Form { + AccountSectionHeader(accountType: .feedbin) + accountDetails + accountButton + Section(footer: feedbinAccountExplainer) {} + } + .task { + retrieveCredentials() + } + .toolbar { + ToolbarItem(placement: .navigationBarLeading) { + Button(action: { dismiss() }, label: { Text("CANCEL_BUTTON_TITLE", tableName: "Buttons") }) + .disabled(showProgressIndicator) + } + ToolbarItem(placement: .navigationBarTrailing) { + if showProgressIndicator { ProgressView() } + } + } + .alert(Text("ERROR_TITLE", tableName: "Errors"), isPresented: $accountError.1) { + Button(role: .cancel) { + // + } label: { + Text("DISMISS_BUTTON_TITLE", tableName: "Buttons") + } + } message: { + Text(accountError.0?.localizedDescription ?? "Error") + } + .navigationTitle(Text(account?.type.localizedAccountName() ?? "")) + .navigationBarTitleDisplayMode(.inline) + .dismissOnExternalContextLaunch() + .dismissOnAccountAdd() + } + } + + var accountDetails: some View { + Section { + TextField("Email", text: $accountEmail, prompt: Text("ACCOUNT_EMAIL_ADDRESS_PROMPT", tableName: "Account")) + .autocorrectionDisabled() + .autocapitalization(.none) + SecureField("Password", text: $accountPassword, prompt: Text("ACCOUNT_PASSWORD_PROMPT", tableName: "Account")) + } + } + + var accountButton: some View { + Section { + Button { + Task { + do { + try await executeAccountCredentials() + dismiss() + } catch { + accountError = (error, true) + } + } + } label: { + HStack{ + Spacer() + if account == nil { + Text("ADD_ACCOUNT_BUTTON_TITLE", tableName: "Buttons") + } else { + Text("UPDATE_CREDENTIALS_BUTTON_TITLE", tableName: "Buttons") + } + Spacer() + } + } + } + } + + var feedbinAccountExplainer: some View { + Text("FEEDBIN_FOOTER_EXPLAINER", tableName: "Account").multilineTextAlignment(.center) + } + + private func retrieveCredentials() { + if let account = account { + do { + if let creds = try account.retrieveCredentials(type: .basic) { + accountEmail = creds.username + accountPassword = creds.secret + } + } catch { + accountError = (error, true) + } + } + } + + private func executeAccountCredentials() async throws { + let trimmedEmailAddress = accountEmail.trimmingWhitespace + + guard (account != nil || !AccountManager.shared.duplicateServiceAccount(type: .feedbin, username: trimmedEmailAddress)) else { + throw LocalizedNetNewsWireError.duplicateAccount + } + showProgressIndicator = true + + let credentials = Credentials(type: .basic, username: trimmedEmailAddress, secret: accountPassword) + return try await withCheckedThrowingContinuation { continuation in + Account.validateCredentials(type: .feedbin, credentials: credentials) { result in + switch result { + case .success(let credentials): + if let validatedCredentials = credentials { + if self.account == nil { + self.account = AccountManager.shared.createAccount(type: .feedbin) + } + + do { + try? self.account?.removeCredentials(type: .basic) + try self.account?.storeCredentials(validatedCredentials) + self.account?.refreshAll(completion: { result in + switch result { + case .success(_): + showProgressIndicator = false + continuation.resume() + case .failure(let failure): + showProgressIndicator = false + continuation.resume(throwing: failure) + } + }) + } catch { + showProgressIndicator = false + continuation.resume(throwing: LocalizedNetNewsWireError.keychainError) + } + } else { + showProgressIndicator = false + continuation.resume(throwing: LocalizedNetNewsWireError.invalidUsernameOrPassword) + } + case .failure(let failure): + showProgressIndicator = false + continuation.resume(throwing: failure) + } + } + } + } + + +} + +struct FeedbinAddAccountView_Previews: PreviewProvider { + static var previews: some View { + FeedbinAddAccountView() + } +} diff --git a/iOS/Account/Views/LocalAddAccountView.swift b/iOS/Account/Views/LocalAddAccountView.swift index a842f531e..b40269a05 100644 --- a/iOS/Account/Views/LocalAddAccountView.swift +++ b/iOS/Account/Views/LocalAddAccountView.swift @@ -17,7 +17,7 @@ struct LocalAddAccountView: View { var body: some View { NavigationView { Form { - Section(header: accountHeaderView) {} + AccountSectionHeader(accountType: .onMyMac) Section { accountNameSection } Section { addAccountButton } Section(footer: accountFooterView) {} @@ -29,9 +29,8 @@ struct LocalAddAccountView: View { } .navigationTitle(deviceAccountName()) .navigationBarTitleDisplayMode(.inline) - .onReceive(NotificationCenter.default.publisher(for: .UserDidAddAccount)) { _ in - dismiss() - } + .dismissOnExternalContextLaunch() + .dismissOnAccountAdd() } } @@ -39,6 +38,8 @@ struct LocalAddAccountView: View { TextField("Name", text: $accountName, prompt: Text("ACCOUNT_NAME", tableName: "Account")) + .autocorrectionDisabled() + .autocapitalization(.none) } var addAccountButton: some View { @@ -54,17 +55,6 @@ struct LocalAddAccountView: View { } } - var accountHeaderView: some View { - HStack { - Spacer() - Image(uiImage: accountImage()) - .resizable() - .aspectRatio(contentMode: .fit) - .frame(width: 48, height: 48) - Spacer() - } - } - var accountFooterView: some View { HStack { Spacer() diff --git a/iOS/Account/Views/NewsBlurAddAccountView.swift b/iOS/Account/Views/NewsBlurAddAccountView.swift new file mode 100644 index 000000000..3a8612c23 --- /dev/null +++ b/iOS/Account/Views/NewsBlurAddAccountView.swift @@ -0,0 +1,173 @@ +// +// NewsBlurAddAccountView.swift +// NetNewsWire-iOS +// +// Created by Stuart Breckenridge on 18/12/2022. +// Copyright © 2022 Ranchero Software. All rights reserved. +// + +import SwiftUI +import Account +import Secrets +import RSWeb +import RSCore + +struct NewsBlurAddAccountView: View { + + @Environment(\.dismiss) private var dismiss + @State var account: Account? = nil + @State private var accountUserName: String = "" + @State private var accountPassword: String = "" + @State private var showProgressIndicator: Bool = false + @State private var accountError: (Error?, Bool) = (nil, false) + + var body: some View { + NavigationView { + Form { + AccountSectionHeader(accountType: .newsBlur) + accountDetails + accountButton + Section(footer: newsBlurAccountExplainer) {} + } + .toolbar { + ToolbarItem(placement: .navigationBarLeading) { + Button(action: { dismiss() }, label: { Text("CANCEL_BUTTON_TITLE", tableName: "Buttons") }) + .disabled(showProgressIndicator) + } + ToolbarItem(placement: .navigationBarTrailing) { + if showProgressIndicator { ProgressView() } + } + } + .navigationTitle(Text(AccountType.newsBlur.localizedAccountName())) + .navigationBarTitleDisplayMode(.inline) + .task { + retreiveCredentials() + } + .alert(Text("ERROR_TITLE", tableName: "Errors"), isPresented: $accountError.1) { + Button(role: .cancel) { + // + } label: { + Text("DISMISS_BUTTON_TITLE", tableName: "Buttons") + } + } message: { + Text(accountError.0?.localizedDescription ?? "") + } + .dismissOnExternalContextLaunch() + .dismissOnAccountAdd() + } + } + + func retreiveCredentials() { + if let account = account { + do { + let credentials = try account.retrieveCredentials(type: .newsBlurBasic) + if let credentials = credentials { + self.accountUserName = credentials.username + self.accountPassword = credentials.secret + } else { + print("No cred") + } + } catch { + print(error.localizedDescription) + } + } else { + print("No account") + } + + } + + var accountDetails: some View { + Section { + TextField("Email", text: $accountUserName, prompt: Text("ACCOUNT_USERNAME_PROMPT", tableName: "Account")) + .autocorrectionDisabled() + .autocapitalization(.none) + SecureField("Password", text: $accountPassword, prompt: Text("ACCOUNT_PASSWORD_PROMPT", tableName: "Account")) + } + } + + var accountButton: some View { + Section { + Button { + Task { + do { + try await executeAccountCredentials() + dismiss() + } catch { + accountError = (error, true) + } + } + } label: { + HStack{ + Spacer() + if account == nil { + Text("ADD_ACCOUNT_BUTTON_TITLE", tableName: "Buttons") + } else { + Text("UPDATE_CREDENTIALS_BUTTON_TITLE", tableName: "Buttons") + } + Spacer() + } + } + } + } + + var newsBlurAccountExplainer: some View { + Text("NEWSBLUR_FOOTER_EXPLAINER", tableName: "Account").multilineTextAlignment(.center) + } + + private func executeAccountCredentials() async throws { + let trimmedEmailAddress = accountUserName.trimmingWhitespace + + guard (account != nil || !AccountManager.shared.duplicateServiceAccount(type: .newsBlur, username: trimmedEmailAddress)) else { + throw LocalizedNetNewsWireError.duplicateAccount + } + showProgressIndicator = true + + let basicCredentials = Credentials(type: .newsBlurBasic, username: trimmedEmailAddress, secret: accountPassword) + + return try await withCheckedThrowingContinuation { continuation in + Account.validateCredentials(type: .newsBlur, credentials: basicCredentials) { result in + switch result { + case .success(let credentials): + if let sessionsCredentials = credentials { + if self.account == nil { + self.account = AccountManager.shared.createAccount(type: .newsBlur) + } + + do { + try self.account?.removeCredentials(type: .newsBlurBasic) + try self.account?.removeCredentials(type: .newsBlurSessionId) + try self.account?.storeCredentials(basicCredentials) + try self.account?.storeCredentials(sessionsCredentials) + + self.account?.refreshAll(completion: { result in + switch result { + case .success(_): + showProgressIndicator = false + continuation.resume() + case .failure(let failure): + showProgressIndicator = false + continuation.resume(throwing: failure) + } + }) + } catch { + showProgressIndicator = false + continuation.resume(throwing: LocalizedNetNewsWireError.keychainError) + } + } else { + showProgressIndicator = false + continuation.resume(throwing: LocalizedNetNewsWireError.invalidUsernameOrPassword) + } + case .failure(let failure): + showProgressIndicator = false + continuation.resume(throwing: failure) + } + } + } + } +} + +struct NewsBlurAddAccountView_Previews: PreviewProvider { + static var previews: some View { + NewsBlurAddAccountView() + } +} diff --git a/iOS/Account/Views/ReaderAPIAddAccountView.swift b/iOS/Account/Views/ReaderAPIAddAccountView.swift index 50c10209c..09344a347 100644 --- a/iOS/Account/Views/ReaderAPIAddAccountView.swift +++ b/iOS/Account/Views/ReaderAPIAddAccountView.swift @@ -29,14 +29,16 @@ struct ReaderAPIAddAccountView: View { var body: some View { NavigationView { Form { - Section(header: readerAccountImage) {} + if accountType != nil { + AccountSectionHeader(accountType: accountType!) + } accountDetailsSection Section(footer: readerAccountExplainer) {} } .navigationTitle(Text(accountType?.localizedAccountName() ?? "")) .navigationBarTitleDisplayMode(.inline) .task { - try? retrieveAccountCredentials() + retrieveAccountCredentials() } .toolbar { ToolbarItem(placement: .navigationBarLeading) { @@ -55,10 +57,8 @@ struct ReaderAPIAddAccountView: View { } message: { Text(accountSetupError.0?.localizedDescription ?? "") } - .onReceive(NotificationCenter.default.publisher(for: .UserDidAddAccount)) { _ in - dismiss() - } - .edgesIgnoringSafeArea(.bottom) // Fix to make sure view is not offset from the top when presented + .dismissOnExternalContextLaunch() + .dismissOnAccountAdd() } } @@ -78,47 +78,19 @@ struct ReaderAPIAddAccountView: View { } } - var readerAccountImage: some View { - HStack { - Spacer() - if accountType == nil { Text("") } - switch accountType! { - case .bazQux: - Image(uiImage: AppAssets.accountBazQuxImage) - .resizable() - .aspectRatio(contentMode: .fit) - .frame(width: 48, height: 48) - case .inoreader: - Image(uiImage: AppAssets.accountInoreaderImage) - .resizable() - .aspectRatio(contentMode: .fit) - .frame(width: 48, height: 48) - case .theOldReader: - Image(uiImage: AppAssets.accountTheOldReaderImage) - .resizable() - .aspectRatio(contentMode: .fit) - .frame(width: 48, height: 48) - case .freshRSS: - Image(uiImage: AppAssets.accountFreshRSSImage) - .resizable() - .aspectRatio(contentMode: .fit) - .frame(width: 48, height: 48) - default: - Text("") - } - Spacer() - } - } + var accountDetailsSection: some View { Group { Section { TextField("Username", text: $accountUserName) .autocorrectionDisabled() + .autocapitalization(.none) SecureField("Password", text: $accountSecret) if accountType == .freshRSS && accountCredentials == nil { TextField("FreshRSS URL", text: $accountAPIUrl, prompt: Text("fresh.rss.net/api/greader.php")) .autocorrectionDisabled() + .autocapitalization(.none) } } @@ -127,6 +99,7 @@ struct ReaderAPIAddAccountView: View { Task { do { try await executeAccountCredentials() + dismiss() } catch { accountSetupError = (error, true) } @@ -150,7 +123,7 @@ struct ReaderAPIAddAccountView: View { // MARK: - API - private func retrieveAccountCredentials() throws { + private func retrieveAccountCredentials() { if let account = account { do { if let creds = try account.retrieveCredentials(type: .readerBasic) { diff --git a/iOS/Inspector/Inspector.strings b/iOS/Inspector/Inspector.strings index 6a9e0ad64..94addd18a 100644 --- a/iOS/Inspector/Inspector.strings +++ b/iOS/Inspector/Inspector.strings @@ -9,7 +9,7 @@ /* Account Inspector */ "ACCOUNT_NAME_FIELD" = "Account Name"; "ACTIVE" = "Active"; -"CLOUDKIT_LIMITATIONS_TITLE" = "[iCloud Syncing Limitations & Solutions](https://netnewswire.com/help/iCloud)"; +"CLOUDKIT_LIMITATIONS_LINK" = "[iCloud Syncing Limitations & Solutions](https://netnewswire.com/help/iCloud)"; "REMOVE_ACCOUNT_TITLE" = "Remove Account"; "REMOVE_FEEDLY_MESSAGE" = "Are you sure you want to remove this account? NetNewsWire will no longer be able to access articles and feeds unless the account is added again."; "REMOVE_ACCOUNT_MESSAGE" = "Are you sure you want to remove this account? This cannot be undone."; diff --git a/iOS/Inspector/Views/AccountInspectorView.swift b/iOS/Inspector/Views/AccountInspectorView.swift index d1321879a..2dd2924ee 100644 --- a/iOS/Inspector/Views/AccountInspectorView.swift +++ b/iOS/Inspector/Views/AccountInspectorView.swift @@ -20,7 +20,7 @@ struct AccountInspectorView: View { var body: some View { Form { - Section(header: accountHeaderView){} + AccountSectionHeader(accountType: account.type) accountNameAndActiveSection if account.type != .onMyMac && @@ -46,13 +46,14 @@ struct AccountInspectorView: View { case .theOldReader, .bazQux, .inoreader, .freshRSS: ReaderAPIAddAccountView(accountType: account.type, account: account) case .feedbin: - Text("FEEDBIN") + FeedbinAddAccountView(account: account) case .newsBlur: - Text("NEWSBLUR") + NewsBlurAddAccountView(account: account) default: EmptyView() } } + .dismissOnExternalContextLaunch() } var accountHeaderView: some View { @@ -135,7 +136,7 @@ struct AccountInspectorView: View { var cloudKitLimitations: some View { HStack { Spacer() - Text("CLOUDKIT_LIMITATIONS_TITLE", tableName: "Inspector") + Text("CLOUDKIT_LIMITATIONS_LINK", tableName: "Inspector") Spacer() } } diff --git a/iOS/Inspector/Views/ExtensionInspectorView.swift b/iOS/Inspector/Views/ExtensionInspectorView.swift index a2a42ee14..129041539 100644 --- a/iOS/Inspector/Views/ExtensionInspectorView.swift +++ b/iOS/Inspector/Views/ExtensionInspectorView.swift @@ -50,9 +50,9 @@ struct ExtensionInspectorView: View { } .navigationTitle(Text(extensionPoint?.title ?? "")) .edgesIgnoringSafeArea(.bottom) + .dismissOnExternalContextLaunch() } - var extensionHeader: some View { HStack { Spacer() diff --git a/iOS/Inspector/Views/WebFeedInspectorView.swift b/iOS/Inspector/Views/WebFeedInspectorView.swift index 679aee445..c35888b80 100644 --- a/iOS/Inspector/Views/WebFeedInspectorView.swift +++ b/iOS/Inspector/Views/WebFeedInspectorView.swift @@ -63,6 +63,7 @@ struct WebFeedInspectorView: View { .sheet(isPresented: $showHomePage, onDismiss: nil) { SafariView(url: URL(string: webFeed.homePageURL!)!) } + .dismissOnExternalContextLaunch() } var webFeedHeaderView: some View { diff --git a/iOS/Settings/Views/Account and Extensions/Accounts/AccountsManagementView.swift b/iOS/Settings/Views/Account and Extensions/Accounts/AccountsManagementView.swift index 5c2ee0fc3..924dd3777 100644 --- a/iOS/Settings/Views/Account and Extensions/Accounts/AccountsManagementView.swift +++ b/iOS/Settings/Views/Account and Extensions/Accounts/AccountsManagementView.swift @@ -66,7 +66,7 @@ struct AccountsManagementView: View { Button(role: .destructive) { AccountManager.shared.deleteAccount(accountToRemove!) } label: { - Text("REMOVE_BUTTON_TITLE", tableName: "Buttons") + Text("REMOVE_ACCOUNT_BUTTON_TITLE", tableName: "Buttons") } Button(role: .cancel) { diff --git a/iOS/Settings/Views/Account and Extensions/Accounts/AddAccountListView.swift b/iOS/Settings/Views/Account and Extensions/Accounts/AddAccountListView.swift index 6f29fce47..087a86d35 100644 --- a/iOS/Settings/Views/Account and Extensions/Accounts/AddAccountListView.swift +++ b/iOS/Settings/Views/Account and Extensions/Accounts/AddAccountListView.swift @@ -90,15 +90,15 @@ struct AddAccountListView: View { LocalAddAccountView() case .cloudKit: CloudKitAddAccountView() + case .newsBlur: + NewsBlurAddAccountView() case .freshRSS, .inoreader, .bazQux, .theOldReader: ReaderAPIAddAccountView(accountType: viewModel.showAddAccountSheet.accountType, account: nil) default: Text(viewModel.showAddAccountSheet.accountType.localizedAccountName()) } } - .onReceive(NotificationCenter.default.publisher(for: .UserDidAddAccount)) { _ in - dismiss() - } + .dismissOnAccountAdd() } } diff --git a/iOS/Settings/Views/General/SettingsView.swift b/iOS/Settings/Views/General/SettingsView.swift index 203712e0e..80e841f6c 100644 --- a/iOS/Settings/Views/General/SettingsView.swift +++ b/iOS/Settings/Views/General/SettingsView.swift @@ -108,9 +108,7 @@ struct SettingsView: View { } } } - .onReceive(NotificationCenter.default.publisher(for: .LaunchedFromExternalAction), perform: { _ in - dismiss() - }) + .dismissOnExternalContextLaunch() .fileImporter(isPresented: $viewModel.showImportView, allowedContentTypes: OPMLDocument.readableContentTypes) { result in switch result { case .success(let url): diff --git a/iOS/SwiftUI Extensions/AccountSectionHeader.swift b/iOS/SwiftUI Extensions/AccountSectionHeader.swift new file mode 100644 index 000000000..e0f3aed72 --- /dev/null +++ b/iOS/SwiftUI Extensions/AccountSectionHeader.swift @@ -0,0 +1,61 @@ +// +// AccountSectionHeader.swift +// NetNewsWire-iOS +// +// Created by Stuart Breckenridge on 18/12/2022. +// Copyright © 2022 Ranchero Software. All rights reserved. +// + +import SwiftUI +import Account + +struct AccountSectionHeader: View { + + var accountType: AccountType + + var body: some View { + Section(header: headerImage) {} + } + + var headerImage: some View { + HStack { + Spacer() + Image(uiImage: imageToUse()) + .resizable() + .aspectRatio(contentMode: .fit) + .frame(width: 48, height: 48) + Spacer() + } + } + + private func imageToUse() -> UIImage { + switch accountType { + case .onMyMac: + if UIDevice.current.userInterfaceIdiom == .pad { return AppAssets.accountLocalPadImage } + return AppAssets.accountLocalPhoneImage + case .cloudKit: + return AppAssets.accountCloudKitImage + case .feedly: + return AppAssets.accountFeedlyImage + case .feedbin: + return AppAssets.accountFeedbinImage + case .newsBlur: + return AppAssets.accountNewsBlurImage + case .freshRSS: + return AppAssets.accountFreshRSSImage + case .inoreader: + return AppAssets.accountInoreaderImage + case .bazQux: + return AppAssets.accountBazQuxImage + case .theOldReader: + return AppAssets.accountTheOldReaderImage + } + } + +} + +struct AccountHeader_Previews: PreviewProvider { + static var previews: some View { + AccountSectionHeader(accountType: .onMyMac) + } +} diff --git a/iOS/SwiftUI Extensions/View+DismissOnAccountAdd.swift b/iOS/SwiftUI Extensions/View+DismissOnAccountAdd.swift new file mode 100644 index 000000000..c049ab2d6 --- /dev/null +++ b/iOS/SwiftUI Extensions/View+DismissOnAccountAdd.swift @@ -0,0 +1,28 @@ +// +// View+DismissOnAccountAdd.swift +// NetNewsWire-iOS +// +// Created by Stuart Breckenridge on 18/12/2022. +// Copyright © 2022 Ranchero Software. All rights reserved. +// + +import SwiftUI + +struct DismissOnAccountAdd: ViewModifier { + + @Environment(\.dismiss) private var dismiss + + func body(content: Content) -> some View { + content + .onReceive(NotificationCenter.default.publisher(for: .UserDidAddAccount)) { _ in + dismiss() + } + } + +} + +extension View { + func dismissOnAccountAdd() -> some View { + modifier(DismissOnAccountAdd()) + } +} diff --git a/iOS/SwiftUI Extensions/View+DismissOnExternalContext.swift b/iOS/SwiftUI Extensions/View+DismissOnExternalContext.swift new file mode 100644 index 000000000..67ec0bdf4 --- /dev/null +++ b/iOS/SwiftUI Extensions/View+DismissOnExternalContext.swift @@ -0,0 +1,29 @@ +// +// View+DismissOnExternalContext.swift +// NetNewsWire-iOS +// +// Created by Stuart Breckenridge on 18/12/2022. +// Copyright © 2022 Ranchero Software. All rights reserved. +// + +import SwiftUI + + +struct DismissOnExternalContext: ViewModifier { + + @Environment(\.dismiss) private var dismiss + + func body(content: Content) -> some View { + content + .onReceive(NotificationCenter.default.publisher(for: .LaunchedFromExternalAction)) { _ in + dismiss() + } + } + +} + +extension View { + func dismissOnExternalContextLaunch() -> some View { + modifier(DismissOnExternalContext()) + } +} diff --git a/iOS/UIKit Extensions/UIViewController-Extensions.swift b/iOS/UIKit Extensions/UIViewController-Extensions.swift index 1ed607502..e82395f25 100644 --- a/iOS/UIKit Extensions/UIViewController-Extensions.swift +++ b/iOS/UIKit Extensions/UIViewController-Extensions.swift @@ -13,9 +13,7 @@ import Account extension UIViewController { func presentError(_ error: Error, dismiss: (() -> Void)? = nil) { - if let accountError = error as? AccountError, accountError.isCredentialsError { - presentAccountError(accountError, dismiss: dismiss) - } else if let decodingError = error as? DecodingError { + if let decodingError = error as? DecodingError { let errorTitle = NSLocalizedString("Error", comment: "Error") var informativeText: String = "" switch decodingError { @@ -53,38 +51,3 @@ extension UIViewController { } } - -private extension UIViewController { - - func presentAccountError(_ error: AccountError, dismiss: (() -> Void)? = nil) { - let title = NSLocalizedString("Account Error", comment: "Account Error") - let alertController = UIAlertController(title: title, message: error.localizedDescription, preferredStyle: .alert) - - if error.account?.type == .feedbin { - - let credentialsTitle = NSLocalizedString("Update Credentials", comment: "Update Credentials") - let credentialsAction = UIAlertAction(title: credentialsTitle, style: .default) { [weak self] _ in - dismiss?() - - let navController = UIStoryboard.account.instantiateViewController(withIdentifier: "FeedbinAccountNavigationViewController") as! UINavigationController - navController.modalPresentationStyle = .formSheet - let addViewController = navController.topViewController as! FeedbinAccountViewController - addViewController.account = error.account - self?.present(navController, animated: true) - } - - alertController.addAction(credentialsAction) - alertController.preferredAction = credentialsAction - - } - - let dismissTitle = NSLocalizedString("OK", comment: "OK") - let dismissAction = UIAlertAction(title: dismissTitle, style: .default) { _ in - dismiss?() - } - alertController.addAction(dismissAction) - - self.present(alertController, animated: true, completion: nil) - } - -} From b4cb253c6647b1c93df80c55fbe73c7cc6c11ffb Mon Sep 17 00:00:00 2001 From: Stuart Breckenridge Date: Sun, 18 Dec 2022 17:08:03 +0800 Subject: [PATCH 30/80] Spit and polish on the Accounts views --- iOS/Account/Account.strings | 2 +- .../Views/CloudKitAddAccountView.swift | 8 +-- iOS/Account/Views/FeedbinAddAccountView.swift | 11 +++- .../Views/NewsBlurAddAccountView.swift | 36 +++++++--- .../Views/ReaderAPIAddAccountView.swift | 66 +++++++++++-------- iOS/SceneCoordinator.swift | 9 --- .../Accounts/AccountsManagementView.swift | 24 ++++--- .../View+DismissOnAccountAdd.swift | 3 + .../View+DismissOnExternalContext.swift | 4 ++ 9 files changed, 101 insertions(+), 62 deletions(-) diff --git a/iOS/Account/Account.strings b/iOS/Account/Account.strings index 7d9b15040..385293f21 100644 --- a/iOS/Account/Account.strings +++ b/iOS/Account/Account.strings @@ -12,7 +12,7 @@ "LOCAL_ACCOUNT_NAME_PHONE" = "On My iPhone"; "LOCAL_ACCOUNT_NAME_PAD" = "On My iPad"; "ACCOUNT_EMAIL_ADDRESS_PROMPT" = "Email Address"; -"ACCOUNT_USERNAME_PROMPT" = "Username"; +"ACCOUNT_USERNAME_OR_EMAIL_PROMPT" = "Username or Email"; "ACCOUNT_PASSWORD_PROMPT" = "Password"; diff --git a/iOS/Account/Views/CloudKitAddAccountView.swift b/iOS/Account/Views/CloudKitAddAccountView.swift index 95bae4208..5b4873286 100644 --- a/iOS/Account/Views/CloudKitAddAccountView.swift +++ b/iOS/Account/Views/CloudKitAddAccountView.swift @@ -12,7 +12,7 @@ import Account struct CloudKitAddAccountView: View { @Environment(\.dismiss) private var dismiss - @State private var addAccountError: (LocalizedError?, Bool) = (nil, false) + @State private var accountError: (Error?, Bool) = (nil, false) var body: some View { NavigationView { @@ -28,10 +28,10 @@ struct CloudKitAddAccountView: View { Button(action: { dismiss() }, label: { Text("CANCEL_BUTTON_TITLE", tableName: "Buttons") }) } } - .alert(Text("ERROR_TITLE", tableName: "Errors"), isPresented: $addAccountError.1) { + .alert(Text("ERROR_TITLE", tableName: "Errors"), isPresented: $accountError.1) { Button(action: {}, label: { Text("DISMISS_BUTTON_TITLE", tableName: "Buttons") }) } message: { - Text(addAccountError.0?.localizedDescription ?? "Unknown Error") + Text(accountError.0?.localizedDescription ?? "Unknown Error") } .dismissOnExternalContextLaunch() .dismissOnAccountAdd() @@ -41,7 +41,7 @@ struct CloudKitAddAccountView: View { var createCloudKitAccount: some View { Button { guard FileManager.default.ubiquityIdentityToken != nil else { - addAccountError = (LocalizedNetNewsWireError.iCloudDriveMissing, true) + accountError = (LocalizedNetNewsWireError.iCloudDriveMissing, true) return } let _ = AccountManager.shared.createAccount(type: .cloudKit) diff --git a/iOS/Account/Views/FeedbinAddAccountView.swift b/iOS/Account/Views/FeedbinAddAccountView.swift index bf79dfc0b..e6fa61f40 100644 --- a/iOS/Account/Views/FeedbinAddAccountView.swift +++ b/iOS/Account/Views/FeedbinAddAccountView.swift @@ -54,6 +54,7 @@ struct FeedbinAddAccountView: View { } .navigationTitle(Text(account?.type.localizedAccountName() ?? "")) .navigationBarTitleDisplayMode(.inline) + .interactiveDismissDisabled(showProgressIndicator) .dismissOnExternalContextLaunch() .dismissOnAccountAdd() } @@ -73,8 +74,14 @@ struct FeedbinAddAccountView: View { Button { Task { do { - try await executeAccountCredentials() - dismiss() + if account == nil { + // Create a new account + try await executeAccountCredentials() + } else { + // Updating account credentials + try await executeAccountCredentials() + dismiss() + } } catch { accountError = (error, true) } diff --git a/iOS/Account/Views/NewsBlurAddAccountView.swift b/iOS/Account/Views/NewsBlurAddAccountView.swift index 3a8612c23..b1a208125 100644 --- a/iOS/Account/Views/NewsBlurAddAccountView.swift +++ b/iOS/Account/Views/NewsBlurAddAccountView.swift @@ -12,7 +12,7 @@ import Secrets import RSWeb import RSCore -struct NewsBlurAddAccountView: View { +struct NewsBlurAddAccountView: View, Logging { @Environment(\.dismiss) private var dismiss @State var account: Account? = nil @@ -52,6 +52,7 @@ struct NewsBlurAddAccountView: View { } message: { Text(accountError.0?.localizedDescription ?? "") } + .interactiveDismissDisabled(showProgressIndicator) .dismissOnExternalContextLaunch() .dismissOnAccountAdd() } @@ -78,7 +79,7 @@ struct NewsBlurAddAccountView: View { var accountDetails: some View { Section { - TextField("Email", text: $accountUserName, prompt: Text("ACCOUNT_USERNAME_PROMPT", tableName: "Account")) + TextField("Email", text: $accountUserName, prompt: Text("ACCOUNT_USERNAME_OR_EMAIL_PROMPT", tableName: "Account")) .autocorrectionDisabled() .autocapitalization(.none) SecureField("Password", text: $accountPassword, prompt: Text("ACCOUNT_PASSWORD_PROMPT", tableName: "Account")) @@ -90,8 +91,14 @@ struct NewsBlurAddAccountView: View { Button { Task { do { - try await executeAccountCredentials() - dismiss() + if account == nil { + // Create a new account + try await executeAccountCredentials() + } else { + // Updating account credentials + try await executeAccountCredentials() + dismiss() + } } catch { accountError = (error, true) } @@ -115,27 +122,33 @@ struct NewsBlurAddAccountView: View { } private func executeAccountCredentials() async throws { - let trimmedEmailAddress = accountUserName.trimmingWhitespace + let trimmedUsername = accountUserName.trimmingWhitespace - guard (account != nil || !AccountManager.shared.duplicateServiceAccount(type: .newsBlur, username: trimmedEmailAddress)) else { + guard (account != nil || !AccountManager.shared.duplicateServiceAccount(type: .newsBlur, username: trimmedUsername)) else { throw LocalizedNetNewsWireError.duplicateAccount } showProgressIndicator = true - let basicCredentials = Credentials(type: .newsBlurBasic, username: trimmedEmailAddress, secret: accountPassword) + let basicCredentials = Credentials(type: .newsBlurBasic, username: trimmedUsername, secret: accountPassword) return try await withCheckedThrowingContinuation { continuation in Account.validateCredentials(type: .newsBlur, credentials: basicCredentials) { result in switch result { case .success(let credentials): if let sessionsCredentials = credentials { + if self.account == nil { self.account = AccountManager.shared.createAccount(type: .newsBlur) } do { - try self.account?.removeCredentials(type: .newsBlurBasic) - try self.account?.removeCredentials(type: .newsBlurSessionId) + do { + try self.account?.removeCredentials(type: .newsBlurBasic) + try self.account?.removeCredentials(type: .newsBlurSessionId) + } catch { + NewsBlurAddAccountView.logger.error("\(error.localizedDescription)") + } + try self.account?.storeCredentials(basicCredentials) try self.account?.storeCredentials(sessionsCredentials) @@ -144,22 +157,27 @@ struct NewsBlurAddAccountView: View { case .success(_): showProgressIndicator = false continuation.resume() + return case .failure(let failure): showProgressIndicator = false continuation.resume(throwing: failure) + return } }) } catch { showProgressIndicator = false continuation.resume(throwing: LocalizedNetNewsWireError.keychainError) + return } } else { showProgressIndicator = false continuation.resume(throwing: LocalizedNetNewsWireError.invalidUsernameOrPassword) + return } case .failure(let failure): showProgressIndicator = false continuation.resume(throwing: failure) + return } } } diff --git a/iOS/Account/Views/ReaderAPIAddAccountView.swift b/iOS/Account/Views/ReaderAPIAddAccountView.swift index 09344a347..6f6d6e0d7 100644 --- a/iOS/Account/Views/ReaderAPIAddAccountView.swift +++ b/iOS/Account/Views/ReaderAPIAddAccountView.swift @@ -24,7 +24,7 @@ struct ReaderAPIAddAccountView: View { @State private var accountSecret: String = "" @State private var accountAPIUrl: String = "" @State private var showProgressIndicator: Bool = false - @State private var accountSetupError: (Error?, Bool) = (nil, false) + @State private var accountError: (Error?, Bool) = (nil, false) var body: some View { NavigationView { @@ -32,7 +32,7 @@ struct ReaderAPIAddAccountView: View { if accountType != nil { AccountSectionHeader(accountType: accountType!) } - accountDetailsSection + accountDetails Section(footer: readerAccountExplainer) {} } .navigationTitle(Text(accountType?.localizedAccountName() ?? "")) @@ -43,20 +43,22 @@ struct ReaderAPIAddAccountView: View { .toolbar { ToolbarItem(placement: .navigationBarLeading) { Button(action: { dismiss() }, label: { Text("CANCEL_BUTTON_TITLE", tableName: "Buttons") }) + .disabled(showProgressIndicator) } ToolbarItem(placement: .navigationBarTrailing) { if showProgressIndicator { ProgressView() } } } - .alert(Text("ERROR_TITLE", tableName: "Errors"), isPresented: $accountSetupError.1) { + .alert(Text("ERROR_TITLE", tableName: "Errors"), isPresented: $accountError.1) { Button(role: .cancel) { // } label: { Text("DISMISS_BUTTON_TITLE", tableName: "Buttons") } } message: { - Text(accountSetupError.0?.localizedDescription ?? "") + Text(accountError.0?.localizedDescription ?? "") } + .interactiveDismissDisabled(showProgressIndicator) .dismissOnExternalContextLaunch() .dismissOnAccountAdd() } @@ -80,7 +82,7 @@ struct ReaderAPIAddAccountView: View { - var accountDetailsSection: some View { + var accountDetails: some View { Group { Section { TextField("Username", text: $accountUserName) @@ -93,32 +95,39 @@ struct ReaderAPIAddAccountView: View { .autocapitalization(.none) } } - - Section { - Button { - Task { - do { + } + } + + var accountButton: some View { + Section { + Button { + Task { + do { + if account == nil { + // Create a new account + try await executeAccountCredentials() + } else { + // Updating account credentials try await executeAccountCredentials() dismiss() - } catch { - accountSetupError = (error, true) } - } - } label: { - HStack { - Spacer() - if accountCredentials == nil { - Text("ADD_ACCOUNT_BUTTON_TITLE", tableName: "Buttons") - } else { - Text("UPDATE_CREDENTIALS_BUTTON_TITLE", tableName: "Buttons") - } - Spacer() + } catch { + accountError = (error, true) } } - .disabled(!validateCredentials()) + } label: { + HStack { + Spacer() + if accountCredentials == nil { + Text("ADD_ACCOUNT_BUTTON_TITLE", tableName: "Buttons") + } else { + Text("UPDATE_CREDENTIALS_BUTTON_TITLE", tableName: "Buttons") + } + Spacer() + } } + .disabled(!validateCredentials()) } - } // MARK: - API @@ -132,7 +141,7 @@ struct ReaderAPIAddAccountView: View { accountSecret = creds.secret } } catch { - accountSetupError = (error, true) + accountError = (error, true) } } } @@ -152,7 +161,6 @@ struct ReaderAPIAddAccountView: View { return true } - @MainActor private func executeAccountCredentials() async throws { let trimmedAccountUserName = accountUserName.trimmingWhitespace @@ -185,19 +193,23 @@ struct ReaderAPIAddAccountView: View { case .success: showProgressIndicator = false continuation.resume() + return case .failure(let error): showProgressIndicator = false continuation.resume(throwing: error) + return } }) } catch { showProgressIndicator = false - continuation.resume(throwing: error) + continuation.resume(throwing: LocalizedNetNewsWireError.keychainError) + return } } case .failure(let failure): showProgressIndicator = false continuation.resume(throwing: failure) + return } } } diff --git a/iOS/SceneCoordinator.swift b/iOS/SceneCoordinator.swift index 1ec3d517b..f2142aed0 100644 --- a/iOS/SceneCoordinator.swift +++ b/iOS/SceneCoordinator.swift @@ -1169,15 +1169,6 @@ class SceneCoordinator: NSObject, UndoableCommandRunner, Logging { func showAccountInspector(for account: Account) { let hosting = UIHostingController(rootView: InjectedNavigationView(injectedView: AccountInspectorView(account: account))) rootSplitViewController.present(hosting, animated: true, completion: nil) - -// let accountInspectorNavController = -// UIStoryboard.inspector.instantiateViewController(identifier: "AccountInspectorNavigationViewController") as! UINavigationController -// let accountInspectorController = accountInspectorNavController.topViewController as! AccountInspectorViewController -// accountInspectorNavController.modalPresentationStyle = .formSheet -// accountInspectorNavController.preferredContentSize = AccountInspectorViewController.preferredContentSizeForFormSheetDisplay -// accountInspectorController.isModal = true -// accountInspectorController.account = account -// rootSplitViewController.present(accountInspectorNavController, animated: true) } func showFeedInspector() { diff --git a/iOS/Settings/Views/Account and Extensions/Accounts/AccountsManagementView.swift b/iOS/Settings/Views/Account and Extensions/Accounts/AccountsManagementView.swift index 924dd3777..f7424af3f 100644 --- a/iOS/Settings/Views/Account and Extensions/Accounts/AccountsManagementView.swift +++ b/iOS/Settings/Views/Account and Extensions/Accounts/AccountsManagementView.swift @@ -105,7 +105,9 @@ struct AccountsManagementView: View { .aspectRatio(contentMode: .fit) .frame(width: 25, height: 25) Text(account.nameForDisplay) - }.swipeActions(edge: .trailing, allowsFullSwipe: false) { + } + .transition(.move(edge: .top)) + .swipeActions(edge: .trailing, allowsFullSwipe: false) { if account != AccountManager.shared.defaultAccount { Button(role: .destructive) { accountToRemove.wrappedValue = account @@ -118,17 +120,19 @@ struct AccountsManagementView: View { } }.tint(.red) } + Button { + withAnimation { + account.isActive.toggle() + } + } label: { + if account.isActive { + Image(systemName: "minus.circle") + } else { + Image(systemName: "togglepower") + } + }.tint(account.isActive ? .yellow : Color(uiColor: AppAssets.primaryAccentColor)) } } - - var inactiveFooterText: some View { - if AccountManager.shared.sortedAccounts.filter({ $0.isActive == false }).count == 0 { - return Text("NO_INACTIVE_ACCOUNT_FOOTER", tableName: "Settings") - } else { - return Text("") - } - } - } struct AddAccountView_Previews: PreviewProvider { diff --git a/iOS/SwiftUI Extensions/View+DismissOnAccountAdd.swift b/iOS/SwiftUI Extensions/View+DismissOnAccountAdd.swift index c049ab2d6..154ae86f0 100644 --- a/iOS/SwiftUI Extensions/View+DismissOnAccountAdd.swift +++ b/iOS/SwiftUI Extensions/View+DismissOnAccountAdd.swift @@ -22,6 +22,9 @@ struct DismissOnAccountAdd: ViewModifier { } extension View { + + /// Convenience modifier to dismiss a view when an account has been added. + /// - Returns: `View` func dismissOnAccountAdd() -> some View { modifier(DismissOnAccountAdd()) } diff --git a/iOS/SwiftUI Extensions/View+DismissOnExternalContext.swift b/iOS/SwiftUI Extensions/View+DismissOnExternalContext.swift index 67ec0bdf4..82bce90d1 100644 --- a/iOS/SwiftUI Extensions/View+DismissOnExternalContext.swift +++ b/iOS/SwiftUI Extensions/View+DismissOnExternalContext.swift @@ -23,6 +23,10 @@ struct DismissOnExternalContext: ViewModifier { } extension View { + + /// This function dismisses a view when the user launches from + /// an external action, for example, opening the app from the widget. + /// - Returns: `View` func dismissOnExternalContextLaunch() -> some View { modifier(DismissOnExternalContext()) } From cbd78a2cf426b8cfc38911be6c83e87acd06ceb7 Mon Sep 17 00:00:00 2001 From: Stuart Breckenridge Date: Sun, 18 Dec 2022 17:08:48 +0800 Subject: [PATCH 31/80] transition not required --- .../Account and Extensions/Accounts/AccountsManagementView.swift | 1 - 1 file changed, 1 deletion(-) diff --git a/iOS/Settings/Views/Account and Extensions/Accounts/AccountsManagementView.swift b/iOS/Settings/Views/Account and Extensions/Accounts/AccountsManagementView.swift index f7424af3f..b63c8e1db 100644 --- a/iOS/Settings/Views/Account and Extensions/Accounts/AccountsManagementView.swift +++ b/iOS/Settings/Views/Account and Extensions/Accounts/AccountsManagementView.swift @@ -106,7 +106,6 @@ struct AccountsManagementView: View { .frame(width: 25, height: 25) Text(account.nameForDisplay) } - .transition(.move(edge: .top)) .swipeActions(edge: .trailing, allowsFullSwipe: false) { if account != AccountManager.shared.defaultAccount { Button(role: .destructive) { From 28e7a2324e56b296e0211803bdddc286e52d03eb Mon Sep 17 00:00:00 2001 From: Stuart Breckenridge Date: Sun, 18 Dec 2022 18:33:37 +0800 Subject: [PATCH 32/80] Tidy up MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Give AccountManagement a ViewModel - Hides footer explainers when it’s not a new account creation --- iOS/Account/Views/FeedbinAddAccountView.swift | 2 +- .../Views/NewsBlurAddAccountView.swift | 2 +- .../Views/WebFeedInspectorView.swift | 2 + .../Accounts/AccountsManagementView.swift | 99 ++++++++++--------- 4 files changed, 58 insertions(+), 47 deletions(-) diff --git a/iOS/Account/Views/FeedbinAddAccountView.swift b/iOS/Account/Views/FeedbinAddAccountView.swift index e6fa61f40..678ab8c27 100644 --- a/iOS/Account/Views/FeedbinAddAccountView.swift +++ b/iOS/Account/Views/FeedbinAddAccountView.swift @@ -101,7 +101,7 @@ struct FeedbinAddAccountView: View { } var feedbinAccountExplainer: some View { - Text("FEEDBIN_FOOTER_EXPLAINER", tableName: "Account").multilineTextAlignment(.center) + Text(account == nil ? "FEEDBIN_FOOTER_EXPLAINER" : "", tableName: "Account").multilineTextAlignment(.center) } private func retrieveCredentials() { diff --git a/iOS/Account/Views/NewsBlurAddAccountView.swift b/iOS/Account/Views/NewsBlurAddAccountView.swift index b1a208125..1f30dda17 100644 --- a/iOS/Account/Views/NewsBlurAddAccountView.swift +++ b/iOS/Account/Views/NewsBlurAddAccountView.swift @@ -118,7 +118,7 @@ struct NewsBlurAddAccountView: View, Logging { } var newsBlurAccountExplainer: some View { - Text("NEWSBLUR_FOOTER_EXPLAINER", tableName: "Account").multilineTextAlignment(.center) + Text(account == nil ? "NEWSBLUR_FOOTER_EXPLAINER" : "", tableName: "Account").multilineTextAlignment(.center) } private func executeAccountCredentials() async throws { diff --git a/iOS/Inspector/Views/WebFeedInspectorView.swift b/iOS/Inspector/Views/WebFeedInspectorView.swift index c35888b80..568729e2a 100644 --- a/iOS/Inspector/Views/WebFeedInspectorView.swift +++ b/iOS/Inspector/Views/WebFeedInspectorView.swift @@ -63,6 +63,7 @@ struct WebFeedInspectorView: View { .sheet(isPresented: $showHomePage, onDismiss: nil) { SafariView(url: URL(string: webFeed.homePageURL!)!) } + .tint(Color(uiColor: AppAssets.primaryAccentColor)) .dismissOnExternalContextLaunch() } @@ -73,6 +74,7 @@ struct WebFeedInspectorView: View { .resizable() .aspectRatio(contentMode: .fit) .frame(width: 48, height: 48) + .clipShape(RoundedRectangle(cornerRadius: 4)) Spacer() } } diff --git a/iOS/Settings/Views/Account and Extensions/Accounts/AccountsManagementView.swift b/iOS/Settings/Views/Account and Extensions/Accounts/AccountsManagementView.swift index b63c8e1db..020cd53d6 100644 --- a/iOS/Settings/Views/Account and Extensions/Accounts/AccountsManagementView.swift +++ b/iOS/Settings/Views/Account and Extensions/Accounts/AccountsManagementView.swift @@ -10,76 +10,92 @@ import SwiftUI import Account import Combine +public final class AccountManagementViewModel: ObservableObject { + + @Published var sortedActiveAccounts = [Account]() + @Published var sortedInactiveAccounts = [Account]() + @Published var showAccountDeletionAlert: Bool = false + @Published var showAddAccountSheet: Bool = false + public var accountToDelete: Account? = nil + + init() { + refreshAccounts() + + NotificationCenter.default.addObserver(forName: .AccountStateDidChange, object: nil, queue: .main) { [weak self] _ in + self?.refreshAccounts() + } + + NotificationCenter.default.addObserver(forName: .UserDidAddAccount, object: nil, queue: .main) { [weak self] _ in + self?.refreshAccounts() + } + + NotificationCenter.default.addObserver(forName: .UserDidDeleteAccount, object: nil, queue: .main) { [weak self] _ in + self?.refreshAccounts() + } + + NotificationCenter.default.addObserver(forName: .DisplayNameDidChange, object: nil, queue: .main) { [weak self] _ in + self?.refreshAccounts() + } + } + + private func refreshAccounts() { + sortedActiveAccounts = AccountManager.shared.sortedActiveAccounts + sortedInactiveAccounts = AccountManager.shared.sortedAccounts.filter({ $0.isActive == false }) + } + +} + + struct AccountsManagementView: View { - @State private var showAddAccountSheet: Bool = false - @State private var sortedActiveAccounts = [Account]() - @State private var sortedInactiveAccounts = [Account]() - @State private var accountToRemove: Account? - @State private var showRemoveAccountAlert: Bool = false + @StateObject private var viewModel = AccountManagementViewModel() var body: some View { List { Section(header: Text("ACTIVE_ACCOUNTS_HEADER", tableName: "Settings")) { - ForEach(sortedActiveAccounts, id: \.self) { account in - accountRow(account, showRemoveAccountAlert: $showRemoveAccountAlert, accountToRemove: $accountToRemove) + ForEach(viewModel.sortedActiveAccounts, id: \.self) { account in + accountRow(account) } } Section(header: Text("INACTIVE_ACCOUNTS_HEADER", tableName: "Settings")) { - ForEach(sortedInactiveAccounts, id: \.self) { account in - accountRow(account, showRemoveAccountAlert: $showRemoveAccountAlert, accountToRemove: $accountToRemove) + ForEach(viewModel.sortedInactiveAccounts, id: \.self) { account in + accountRow(account) } } } .navigationTitle(Text("MANAGE_ACCOUNTS", tableName: "Settings")) - .tint(Color(uiColor: AppAssets.primaryAccentColor)) .toolbar { ToolbarItem(placement: .navigationBarTrailing) { Button { - showAddAccountSheet = true + viewModel.showAddAccountSheet = true } label: { Image(systemName: "plus") } } } - .onReceive(NotificationCenter.default.publisher(for: .AccountStateDidChange)) { _ in - refreshAccounts() - } - .onReceive(NotificationCenter.default.publisher(for: .UserDidAddAccount)) { _ in - refreshAccounts() - } - .onReceive(NotificationCenter.default.publisher(for: .UserDidDeleteAccount)) { _ in - refreshAccounts() - } - .onReceive(NotificationCenter.default.publisher(for: .DisplayNameDidChange)) { _ in - refreshAccounts() - } - .task(priority: .userInitiated) { - refreshAccounts() - } - .sheet(isPresented: $showAddAccountSheet) { + .sheet(isPresented: $viewModel.showAddAccountSheet) { AddAccountListView() } - .alert(Text("ACCOUNT_REMOVE \(accountToRemove?.nameForDisplay ?? "")", tableName: "Settings"), - isPresented: $showRemoveAccountAlert) { + .alert(Text("ACCOUNT_REMOVE \(viewModel.accountToDelete?.nameForDisplay ?? "")", tableName: "Settings"), + isPresented: $viewModel.showAccountDeletionAlert) { Button(role: .destructive) { - AccountManager.shared.deleteAccount(accountToRemove!) + AccountManager.shared.deleteAccount(viewModel.accountToDelete!) } label: { Text("REMOVE_ACCOUNT_BUTTON_TITLE", tableName: "Buttons") } Button(role: .cancel) { - accountToRemove = nil + // } label: { Text("CANCEL_BUTTON_TITLE", tableName: "Buttons") } } message: { - switch accountToRemove { + switch viewModel.accountToDelete { case .none: Text("") - case .some(let wrapped): - switch wrapped.type { + case .some(let account): + switch account.type { case .feedly: Text("REMOVE_FEEDLY_CONFIRMATION", tableName: "Settings") default: @@ -89,14 +105,7 @@ struct AccountsManagementView: View { } } - func refreshAccounts() { - sortedActiveAccounts = [] - sortedInactiveAccounts = [] - sortedActiveAccounts = AccountManager.shared.sortedActiveAccounts - sortedInactiveAccounts = AccountManager.shared.sortedAccounts.filter({ $0.isActive == false }) - } - - func accountRow(_ account: Account, showRemoveAccountAlert: Binding, accountToRemove: Binding) -> some View { + func accountRow(_ account: Account) -> some View { NavigationLink { AccountInspectorView(account: account) } label: { @@ -109,15 +118,15 @@ struct AccountsManagementView: View { .swipeActions(edge: .trailing, allowsFullSwipe: false) { if account != AccountManager.shared.defaultAccount { Button(role: .destructive) { - accountToRemove.wrappedValue = account - showRemoveAccountAlert.wrappedValue = true + viewModel.accountToDelete = account + viewModel.showAccountDeletionAlert = true } label: { Label { Text("REMOVE_ACCOUNT_BUTTON_TITLE", tableName: "Buttons") } icon: { Image(systemName: "trash") } - }.tint(.red) + } } Button { withAnimation { From cfb26c909b10c2c1e1a0fd63552b9db6b4ab3f19 Mon Sep 17 00:00:00 2001 From: Stuart Breckenridge Date: Sun, 18 Dec 2022 19:20:52 +0800 Subject: [PATCH 33/80] Add .textContentType to enable autofill --- iOS/Account/Views/FeedbinAddAccountView.swift | 2 ++ .../Views/NewsBlurAddAccountView.swift | 2 ++ .../Views/ReaderAPIAddAccountView.swift | 19 ++++++++++--------- 3 files changed, 14 insertions(+), 9 deletions(-) diff --git a/iOS/Account/Views/FeedbinAddAccountView.swift b/iOS/Account/Views/FeedbinAddAccountView.swift index 678ab8c27..d24230f98 100644 --- a/iOS/Account/Views/FeedbinAddAccountView.swift +++ b/iOS/Account/Views/FeedbinAddAccountView.swift @@ -65,7 +65,9 @@ struct FeedbinAddAccountView: View { TextField("Email", text: $accountEmail, prompt: Text("ACCOUNT_EMAIL_ADDRESS_PROMPT", tableName: "Account")) .autocorrectionDisabled() .autocapitalization(.none) + .textContentType(.username) SecureField("Password", text: $accountPassword, prompt: Text("ACCOUNT_PASSWORD_PROMPT", tableName: "Account")) + .textContentType(.password) } } diff --git a/iOS/Account/Views/NewsBlurAddAccountView.swift b/iOS/Account/Views/NewsBlurAddAccountView.swift index 1f30dda17..ce84df509 100644 --- a/iOS/Account/Views/NewsBlurAddAccountView.swift +++ b/iOS/Account/Views/NewsBlurAddAccountView.swift @@ -82,7 +82,9 @@ struct NewsBlurAddAccountView: View, Logging { TextField("Email", text: $accountUserName, prompt: Text("ACCOUNT_USERNAME_OR_EMAIL_PROMPT", tableName: "Account")) .autocorrectionDisabled() .autocapitalization(.none) + .textContentType(.username) SecureField("Password", text: $accountPassword, prompt: Text("ACCOUNT_PASSWORD_PROMPT", tableName: "Account")) + .textContentType(.password) } } diff --git a/iOS/Account/Views/ReaderAPIAddAccountView.swift b/iOS/Account/Views/ReaderAPIAddAccountView.swift index 6f6d6e0d7..6be436511 100644 --- a/iOS/Account/Views/ReaderAPIAddAccountView.swift +++ b/iOS/Account/Views/ReaderAPIAddAccountView.swift @@ -33,6 +33,7 @@ struct ReaderAPIAddAccountView: View { AccountSectionHeader(accountType: accountType!) } accountDetails + accountButton Section(footer: readerAccountExplainer) {} } .navigationTitle(Text(accountType?.localizedAccountName() ?? "")) @@ -83,17 +84,17 @@ struct ReaderAPIAddAccountView: View { var accountDetails: some View { - Group { - Section { - TextField("Username", text: $accountUserName) + Section { + TextField("Username", text: $accountUserName) + .autocorrectionDisabled() + .autocapitalization(.none) + .textContentType(.username) + SecureField("Password", text: $accountSecret) + .textContentType(.password) + if accountType == .freshRSS && accountCredentials == nil { + TextField("FreshRSS URL", text: $accountAPIUrl, prompt: Text("fresh.rss.net/api/greader.php")) .autocorrectionDisabled() .autocapitalization(.none) - SecureField("Password", text: $accountSecret) - if accountType == .freshRSS && accountCredentials == nil { - TextField("FreshRSS URL", text: $accountAPIUrl, prompt: Text("fresh.rss.net/api/greader.php")) - .autocorrectionDisabled() - .autocapitalization(.none) - } } } } From a982dc564ddb71f71fb9372cde1a5d5de6879a08 Mon Sep 17 00:00:00 2001 From: Stuart Breckenridge Date: Sun, 18 Dec 2022 21:20:00 +0800 Subject: [PATCH 34/80] Adds done button to settings --- iOS/Settings/Views/General/SettingsView.swift | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/iOS/Settings/Views/General/SettingsView.swift b/iOS/Settings/Views/General/SettingsView.swift index 80e841f6c..07a584576 100644 --- a/iOS/Settings/Views/General/SettingsView.swift +++ b/iOS/Settings/Views/General/SettingsView.swift @@ -85,6 +85,11 @@ struct SettingsView: View { .listStyle(.insetGrouped) .navigationTitle(Text("SETTINGS_TITLE", tableName: "Settings")) .navigationBarTitleDisplayMode(.inline) + .toolbar { + ToolbarItem(placement: .navigationBarLeading, content: { + Button(action: { dismiss() }, label: { Text("DONE_BUTTON_TITLE", tableName: "Buttons") }) + }) + } .sheet(isPresented: $viewModel.showAddAccountView) { AddAccountListView() } From 32099af19f1d6a41096201e967257509e92d9de4 Mon Sep 17 00:00:00 2001 From: Stuart Breckenridge Date: Sun, 18 Dec 2022 21:37:11 +0800 Subject: [PATCH 35/80] Translations --- iOS/Settings/Views/General/SettingsView.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/iOS/Settings/Views/General/SettingsView.swift b/iOS/Settings/Views/General/SettingsView.swift index 07a584576..c19c87e94 100644 --- a/iOS/Settings/Views/General/SettingsView.swift +++ b/iOS/Settings/Views/General/SettingsView.swift @@ -148,7 +148,7 @@ struct SettingsView: View { isPresented: $viewModel.showExportSuccess, actions: {}, message: { Text("EXPORT_OPML_SUCCESS_MESSAGE", tableName: "Settings") }) - .alert(Text("ERROR_TITLE", tableName: "Settings"), + .alert(Text("ERROR_TITLE", tableName: "Errors"), isPresented: $viewModel.showImportExportError, actions: {}, message: { Text(viewModel.importExportError?.localizedDescription ?? "Import/Export Error") } ) From dbef68c8f8da1d8084f3698f721adba201c31e06 Mon Sep 17 00:00:00 2001 From: Stuart Breckenridge Date: Sun, 18 Dec 2022 22:12:00 +0800 Subject: [PATCH 36/80] Pretend to delete accounts to match animations --- .../Accounts/AccountsManagementView.swift | 23 +++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/iOS/Settings/Views/Account and Extensions/Accounts/AccountsManagementView.swift b/iOS/Settings/Views/Account and Extensions/Accounts/AccountsManagementView.swift index 020cd53d6..c32c7cbcd 100644 --- a/iOS/Settings/Views/Account and Extensions/Accounts/AccountsManagementView.swift +++ b/iOS/Settings/Views/Account and Extensions/Accounts/AccountsManagementView.swift @@ -14,6 +14,7 @@ public final class AccountManagementViewModel: ObservableObject { @Published var sortedActiveAccounts = [Account]() @Published var sortedInactiveAccounts = [Account]() + @Published var accountsForDeletion = [Account]() @Published var showAccountDeletionAlert: Bool = false @Published var showAddAccountSheet: Bool = false public var accountToDelete: Account? = nil @@ -38,11 +39,26 @@ public final class AccountManagementViewModel: ObservableObject { } } + func temporarilyDeleteAccount(_ account: Account) { + if account.isActive { + sortedActiveAccounts.removeAll(where: { $0.accountID == account.accountID }) + } else { + sortedInactiveAccounts.removeAll(where: { $0.accountID == account.accountID }) + } + accountToDelete = account + showAccountDeletionAlert = true + } + + func restoreAccount(_ account: Account) { + accountToDelete = nil + self.refreshAccounts() + } + private func refreshAccounts() { sortedActiveAccounts = AccountManager.shared.sortedActiveAccounts sortedInactiveAccounts = AccountManager.shared.sortedAccounts.filter({ $0.isActive == false }) } - + } @@ -86,7 +102,7 @@ struct AccountsManagementView: View { } Button(role: .cancel) { - // + viewModel.restoreAccount(viewModel.accountToDelete!) } label: { Text("CANCEL_BUTTON_TITLE", tableName: "Buttons") } @@ -118,8 +134,7 @@ struct AccountsManagementView: View { .swipeActions(edge: .trailing, allowsFullSwipe: false) { if account != AccountManager.shared.defaultAccount { Button(role: .destructive) { - viewModel.accountToDelete = account - viewModel.showAccountDeletionAlert = true + viewModel.temporarilyDeleteAccount(account) } label: { Label { Text("REMOVE_ACCOUNT_BUTTON_TITLE", tableName: "Buttons") From ef6b90d5941d29e9b62e7259f0fc5b91b6a40928 Mon Sep 17 00:00:00 2001 From: Stuart Breckenridge Date: Mon, 19 Dec 2022 12:14:56 +0800 Subject: [PATCH 37/80] Enabling Extensions now possible in SwiftUI --- NetNewsWire.xcodeproj/project.pbxproj | 20 +- Shared/Translations/Buttons.strings | 2 + .../Views/ExtensionInspectorView.swift | 6 +- .../AddExtensionPointViewController.swift | 63 ------ .../EnableExtensionPointViewController.swift | 192 ------------------ .../Accounts/AddAccountListView.swift | 3 +- .../Extensions/AddExtensionListView.swift | 3 +- .../Extensions/EnableExtensionPointView.swift | 66 ++++++ .../Extensions/EnableExtensionViewModel.swift | 182 +++++++++++++++++ .../ExtensionSectionHeader.swift | 30 +++ 10 files changed, 299 insertions(+), 268 deletions(-) delete mode 100644 iOS/Settings/AddExtensionPointViewController.swift delete mode 100644 iOS/Settings/EnableExtensionPointViewController.swift create mode 100644 iOS/Settings/Views/Account and Extensions/Extensions/EnableExtensionPointView.swift create mode 100644 iOS/Settings/Views/Account and Extensions/Extensions/EnableExtensionViewModel.swift create mode 100644 iOS/SwiftUI Extensions/ExtensionSectionHeader.swift diff --git a/NetNewsWire.xcodeproj/project.pbxproj b/NetNewsWire.xcodeproj/project.pbxproj index 244803bd7..619b6f144 100644 --- a/NetNewsWire.xcodeproj/project.pbxproj +++ b/NetNewsWire.xcodeproj/project.pbxproj @@ -280,8 +280,6 @@ 519B8D332143397200FA689C /* SharingServiceDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 519B8D322143397200FA689C /* SharingServiceDelegate.swift */; }; 519CA8E525841DB700EB079A /* CrashReporter in Frameworks */ = {isa = PBXBuildFile; productRef = 519CA8E425841DB700EB079A /* CrashReporter */; }; 519E743D22C663F900A78E47 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 519E743422C663F900A78E47 /* SceneDelegate.swift */; }; - 519ED456244828C3007F8E94 /* AddExtensionPointViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 519ED455244828C3007F8E94 /* AddExtensionPointViewController.swift */; }; - 519ED47A24482AEB007F8E94 /* EnableExtensionPointViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 519ED47924482AEB007F8E94 /* EnableExtensionPointViewController.swift */; }; 51A052CE244FB9D7006C2024 /* AddFeedWIndowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51A052CD244FB9D6006C2024 /* AddFeedWIndowController.swift */; }; 51A052CF244FB9D7006C2024 /* AddFeedWIndowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51A052CD244FB9D6006C2024 /* AddFeedWIndowController.swift */; }; 51A1699A235E10D700EB091F /* Settings.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 51A16990235E10D600EB091F /* Settings.storyboard */; }; @@ -840,6 +838,9 @@ DF28B44D294ED52700C4D8CA /* View+DismissOnExternalContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF28B44C294ED52700C4D8CA /* View+DismissOnExternalContext.swift */; }; DF28B44F294ED92F00C4D8CA /* NewsBlurAddAccountView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF28B44E294ED92F00C4D8CA /* NewsBlurAddAccountView.swift */; }; DF28B451294EFC6C00C4D8CA /* View+DismissOnAccountAdd.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF28B450294EFC6C00C4D8CA /* View+DismissOnAccountAdd.swift */; }; + DF28B453294FE6C600C4D8CA /* EnableExtensionPointView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF28B452294FE6C600C4D8CA /* EnableExtensionPointView.swift */; }; + DF28B455294FE74A00C4D8CA /* ExtensionSectionHeader.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF28B454294FE74A00C4D8CA /* ExtensionSectionHeader.swift */; }; + DF28B4572950163F00C4D8CA /* EnableExtensionViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF28B4562950163F00C4D8CA /* EnableExtensionViewModel.swift */; }; DF32ABE829493193008E3A12 /* SettingsComboTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF32ABE629493192008E3A12 /* SettingsComboTableViewCell.swift */; }; DF32ABE929493193008E3A12 /* SettingsComboTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = DF32ABE729493193008E3A12 /* SettingsComboTableViewCell.xib */; }; DF32ABEB29494CF1008E3A12 /* Settings.strings in Resources */ = {isa = PBXBuildFile; fileRef = DF32ABEA29494CF0008E3A12 /* Settings.strings */; }; @@ -1305,8 +1306,6 @@ 5195C1DB2720BD3000888867 /* MasterFeedRowIdentifier.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MasterFeedRowIdentifier.swift; sourceTree = ""; }; 519B8D322143397200FA689C /* SharingServiceDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SharingServiceDelegate.swift; sourceTree = ""; }; 519E743422C663F900A78E47 /* SceneDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = ""; }; - 519ED455244828C3007F8E94 /* AddExtensionPointViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddExtensionPointViewController.swift; sourceTree = ""; }; - 519ED47924482AEB007F8E94 /* EnableExtensionPointViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EnableExtensionPointViewController.swift; sourceTree = ""; }; 51A052CD244FB9D6006C2024 /* AddFeedWIndowController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = AddFeedWIndowController.swift; path = AddFeed/AddFeedWIndowController.swift; sourceTree = ""; }; 51A16990235E10D600EB091F /* Settings.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = Settings.storyboard; sourceTree = ""; }; 51A66684238075AE00CB272D /* AddWebFeedDefaultContainer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddWebFeedDefaultContainer.swift; sourceTree = ""; }; @@ -1607,6 +1606,9 @@ DF28B44C294ED52700C4D8CA /* View+DismissOnExternalContext.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "View+DismissOnExternalContext.swift"; sourceTree = ""; }; DF28B44E294ED92F00C4D8CA /* NewsBlurAddAccountView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NewsBlurAddAccountView.swift; sourceTree = ""; }; DF28B450294EFC6C00C4D8CA /* View+DismissOnAccountAdd.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "View+DismissOnAccountAdd.swift"; sourceTree = ""; }; + DF28B452294FE6C600C4D8CA /* EnableExtensionPointView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EnableExtensionPointView.swift; sourceTree = ""; }; + DF28B454294FE74A00C4D8CA /* ExtensionSectionHeader.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ExtensionSectionHeader.swift; sourceTree = ""; }; + DF28B4562950163F00C4D8CA /* EnableExtensionViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EnableExtensionViewModel.swift; sourceTree = ""; }; DF32ABE629493192008E3A12 /* SettingsComboTableViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SettingsComboTableViewCell.swift; sourceTree = ""; }; DF32ABE729493193008E3A12 /* SettingsComboTableViewCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = SettingsComboTableViewCell.xib; sourceTree = ""; }; DF32ABEA29494CF0008E3A12 /* Settings.strings */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; path = Settings.strings; sourceTree = ""; }; @@ -2027,10 +2029,8 @@ children = ( DF32ABEA29494CF0008E3A12 /* Settings.strings */, DFD406F8291FB5D500C02962 /* Views */, - 519ED455244828C3007F8E94 /* AddExtensionPointViewController.swift */, 5137C2E926F63AE6009EFEDB /* ArticleThemeImporter.swift */, 510FFAB226EEA22C00F32265 /* ArticleThemesTableViewController.swift */, - 519ED47924482AEB007F8E94 /* EnableExtensionPointViewController.swift */, 51A16990235E10D600EB091F /* Settings.storyboard */, DF32ABE629493192008E3A12 /* SettingsComboTableViewCell.swift */, DF32ABE729493193008E3A12 /* SettingsComboTableViewCell.xib */, @@ -2958,6 +2958,8 @@ children = ( DF766FEC29377FD9006FBBE2 /* ExtensionsManagementView.swift */, DF47CDB1294803AB00FCD57E /* AddExtensionListView.swift */, + DF28B452294FE6C600C4D8CA /* EnableExtensionPointView.swift */, + DF28B4562950163F00C4D8CA /* EnableExtensionViewModel.swift */, ); path = Extensions; sourceTree = ""; @@ -2994,6 +2996,7 @@ children = ( DFB34987294B447F00BC81AD /* InjectedNavigationView.swift */, DFB349A3294E914D00BC81AD /* AccountSectionHeader.swift */, + DF28B454294FE74A00C4D8CA /* ExtensionSectionHeader.swift */, DF28B44C294ED52700C4D8CA /* View+DismissOnExternalContext.swift */, DF28B450294EFC6C00C4D8CA /* View+DismissOnAccountAdd.swift */, ); @@ -4200,6 +4203,7 @@ 512E08E72268801200BDCFDD /* WebFeedTreeControllerDelegate.swift in Sources */, 51C452A422650A2D00C03939 /* ArticleUtilities.swift in Sources */, 51EF0F79227716380050506E /* ColorHash.swift in Sources */, + DF28B4572950163F00C4D8CA /* EnableExtensionViewModel.swift in Sources */, DF59F072292085B800ACD33D /* ColorPaletteSelectorView.swift in Sources */, 51F9F3FB23DFB25700A314FD /* Animations.swift in Sources */, DFB34988294B447F00BC81AD /* InjectedNavigationView.swift in Sources */, @@ -4225,7 +4229,6 @@ 51F85BFD2275DCA800C787DC /* SingleLineUILabelSizer.swift in Sources */, 517630232336657E00E15FFF /* WebViewProvider.swift in Sources */, 51E43962238037C400015C31 /* AddFeedFolderViewController.swift in Sources */, - 519ED47A24482AEB007F8E94 /* EnableExtensionPointViewController.swift in Sources */, 51C4528F226509BD00C03939 /* UnreadFeed.swift in Sources */, 51FD413B2342BD0500880194 /* MasterTimelineUnreadCountView.swift in Sources */, DFB3497A294A962D00BC81AD /* AddAccountListView.swift in Sources */, @@ -4233,6 +4236,7 @@ 51D87EE12311D34700E63F03 /* ActivityType.swift in Sources */, 51C452772265091600C03939 /* MultilineUILabelSizer.swift in Sources */, 51C452A522650A2D00C03939 /* SmallIconProvider.swift in Sources */, + DF28B453294FE6C600C4D8CA /* EnableExtensionPointView.swift in Sources */, 51AB8AB323B7F4C6008F147D /* WebViewController.swift in Sources */, DFD406F7291FB1A600C02962 /* SafariView.swift in Sources */, DF3630ED2936183D00326FB8 /* OPMLDocument.swift in Sources */, @@ -4261,6 +4265,7 @@ 51938DF3231AFC660055A1A0 /* SearchTimelineFeedDelegate.swift in Sources */, 51C4525A226508D600C03939 /* UIStoryboard-Extensions.swift in Sources */, 517A745B2443665000B553B9 /* UIPageViewController-Extensions.swift in Sources */, + DF28B455294FE74A00C4D8CA /* ExtensionSectionHeader.swift in Sources */, 51BB7C272335A8E5008E8144 /* ArticleActivityItemSource.swift in Sources */, 51F85BF52273625800C787DC /* Bundle-Extensions.swift in Sources */, DF790D6228E990A900455FC7 /* AboutData.swift in Sources */, @@ -4366,7 +4371,6 @@ 512E09012268907400BDCFDD /* MasterFeedTableViewSectionHeader.swift in Sources */, 512392BF24E33A3C00F11704 /* RedditSelectSortTableViewController.swift in Sources */, 516AE9E02372269A007DEEAA /* IconImage.swift in Sources */, - 519ED456244828C3007F8E94 /* AddExtensionPointViewController.swift in Sources */, 51C45268226508F600C03939 /* MasterFeedUnreadCountView.swift in Sources */, DFB349A4294E914D00BC81AD /* AccountSectionHeader.swift in Sources */, D3A39865246505DF00F9A366 /* FindInArticleActivity.swift in Sources */, diff --git a/Shared/Translations/Buttons.strings b/Shared/Translations/Buttons.strings index 527363307..07dd633d4 100644 --- a/Shared/Translations/Buttons.strings +++ b/Shared/Translations/Buttons.strings @@ -11,7 +11,9 @@ "DONE_BUTTON_TITLE" = "Done"; "REMOVE_ACCOUNT_BUTTON_TITLE" = "Remove Account"; "DEACTIVATE_BUTTON_TITLE" = "Deactivate"; +"DEACTIVATE_EXTENSION_BUTTON_TITLE" = "Deactivate Extension"; "CREDENTIALS_BUTTON_TITLE" = "Credentials"; "ADD_ACCOUNT_BUTTON_TITLE" = "Add Account"; +"ENABLE_EXTENSION_BUTTON_TITLE" = "Enable Extension"; "UPDATE_CREDENTIALS_BUTTON_TITLE" = "Update Credentials"; "USE_CLOUDKIT_BUTTON_TITLE" = "Use iCloud"; diff --git a/iOS/Inspector/Views/ExtensionInspectorView.swift b/iOS/Inspector/Views/ExtensionInspectorView.swift index 129041539..b2ce94540 100644 --- a/iOS/Inspector/Views/ExtensionInspectorView.swift +++ b/iOS/Inspector/Views/ExtensionInspectorView.swift @@ -10,6 +10,7 @@ import SwiftUI struct ExtensionInspectorView: View { + @Environment(\.dismiss) var dismiss @State private var showDeactivateConfirmation: Bool = false var extensionPoint: ExtensionPoint? @@ -25,14 +26,15 @@ struct ExtensionInspectorView: View { Button(role: .destructive) { showDeactivateConfirmation = true } label: { - Text("DEACTIVATE_EXTENSION_TITLE", tableName: "Settings") + Text("DEACTIVATE_EXTENSION_BUTTON_TITLE", tableName: "Buttons") } .confirmationDialog(Text("DEACTIVATE_EXTENSION_TITLE", tableName: "Settings") , isPresented: $showDeactivateConfirmation, titleVisibility: .visible) { Button(role: .destructive) { ExtensionPointManager.shared.deactivateExtensionPoint(extensionPoint!.extensionPointID) + dismiss() } label: { - Text("DEACTIVATE_BUTTON_TITLE", tableName: "Buttons") + Text("DEACTIVATE_EXTENSION_BUTTON_TITLE", tableName: "Buttons") } Button(role: .cancel) { diff --git a/iOS/Settings/AddExtensionPointViewController.swift b/iOS/Settings/AddExtensionPointViewController.swift deleted file mode 100644 index 249498dba..000000000 --- a/iOS/Settings/AddExtensionPointViewController.swift +++ /dev/null @@ -1,63 +0,0 @@ -// -// AddExtensionPointViewController.swift -// NetNewsWire-iOS -// -// Created by Maurice Parker on 4/16/20. -// Copyright © 2020 Ranchero Software. All rights reserved. -// - -import UIKit - -protocol AddExtensionPointDismissDelegate: UIViewController { - func dismiss() -} - -class AddExtensionPointViewController: UITableViewController, AddExtensionPointDismissDelegate { - - private var availableExtensionPointTypes = [ExtensionPoint.Type]() - - override func viewDidLoad() { - super.viewDidLoad() - availableExtensionPointTypes = ExtensionPointManager.shared.availableExtensionPointTypes.sorted(by: { $0.title < $1.title }) - } - - override func numberOfSections(in tableView: UITableView) -> Int { - 1 - } - - override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { - return availableExtensionPointTypes.count - } - - override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { - let cell = tableView.dequeueReusableCell(withIdentifier: "SettingsExtensionTableViewCell", for: indexPath) as! SettingsComboTableViewCell - - let extensionPointType = availableExtensionPointTypes[indexPath.row] - cell.comboNameLabel?.text = extensionPointType.title - cell.comboImage?.image = extensionPointType.image - - return cell - } - - override func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? { - return NSLocalizedString("Feed Provider", comment: "Feed Provider Header") - } - - override func tableView(_ tableView: UITableView, titleForFooterInSection section: Int) -> String? { - return NSLocalizedString("Feed Providers allow you to subscribe to some pages as if they were RSS feeds.", comment: "Feed Provider Footer") - } - - override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { - let navController = UIStoryboard.settings.instantiateViewController(withIdentifier: "EnableExtensionPointNavigationViewController") as! UINavigationController - navController.modalPresentationStyle = .currentContext - let enableViewController = navController.topViewController as! EnableExtensionPointViewController - enableViewController.delegate = self - enableViewController.extensionPointType = availableExtensionPointTypes[indexPath.row] - present(navController, animated: true) - } - - func dismiss() { - navigationController?.popViewController(animated: false) - } - -} diff --git a/iOS/Settings/EnableExtensionPointViewController.swift b/iOS/Settings/EnableExtensionPointViewController.swift deleted file mode 100644 index 3412dfaca..000000000 --- a/iOS/Settings/EnableExtensionPointViewController.swift +++ /dev/null @@ -1,192 +0,0 @@ -// -// EnableExtensionPointViewController.swift -// NetNewsWire-iOS -// -// Created by Maurice Parker on 4/16/20. -// Copyright © 2020 Ranchero Software. All rights reserved. -// - -import UIKit -import AuthenticationServices -import Account -import OAuthSwift -import Secrets -import SwiftUI - -struct EnableExtensionPointViewWrapper: UIViewControllerRepresentable { - - var extensionPoint: ExtensionPoint.Type? - - func makeUIViewController(context: Context) -> EnableExtensionPointViewController { - let controller = UIStoryboard.settings.instantiateViewController(withIdentifier: "EnableExtensionPointViewController") as! EnableExtensionPointViewController - controller.extensionPointType = extensionPoint - return controller - } - - func updateUIViewController(_ uiViewController: EnableExtensionPointViewController, context: Context) { - - } - - typealias UIViewControllerType = EnableExtensionPointViewController - -} - -class EnableExtensionPointViewController: UITableViewController { - - @IBOutlet weak var extensionDescription: UILabel! - - private var callbackURL: URL? = nil - private var oauth: OAuthSwift? - - weak var delegate: AddExtensionPointDismissDelegate? - var extensionPointType: ExtensionPoint.Type? - - override func viewDidLoad() { - super.viewDidLoad() - navigationItem.title = extensionPointType?.title - extensionDescription.attributedText = extensionPointType?.description - tableView.register(ImageHeaderView.self, forHeaderFooterViewReuseIdentifier: "SectionHeader") - } - - @IBAction func cancel(_ sender: Any) { - dismiss(animated: true, completion: nil) - delegate?.dismiss() - } - - @IBAction func enable(_ sender: Any) { - guard let extensionPointType = extensionPointType else { return } - - if let oauth1 = extensionPointType as? OAuth1SwiftProvider.Type { - enableOauth1(oauth1) - } else if let oauth2 = extensionPointType as? OAuth2SwiftProvider.Type { - enableOauth2(oauth2) - } else { - ExtensionPointManager.shared.activateExtensionPoint(extensionPointType) { result in - if case .failure(let error) = result { - self.presentError(error) - } - self.dismiss(animated: true, completion: nil) - self.delegate?.dismiss() - } - } - } - - override func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat { - return section == 0 ? ImageHeaderView.rowHeight : super.tableView(tableView, heightForHeaderInSection: section) - } - - override func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? { - if section == 0 { - let headerView = tableView.dequeueReusableHeaderFooterView(withIdentifier: "SectionHeader") as! ImageHeaderView - headerView.imageView.image = extensionPointType?.image - return headerView - } else { - return super.tableView(tableView, viewForHeaderInSection: section) - } - } - -} - -extension EnableExtensionPointViewController: OAuthSwiftURLHandlerType { - - public func handle(_ url: URL) { - let session = ASWebAuthenticationSession(url: url, callbackURLScheme: callbackURL!.scheme, completionHandler: { (url, error) in - if let callbackedURL = url { - OAuth1Swift.handle(url: callbackedURL) - } - - guard let error = error else { return } - - self.oauth?.cancel() - self.oauth = nil - - DispatchQueue.main.async { - self.dismiss(animated: true, completion: nil) - self.delegate?.dismiss() - } - - if case ASWebAuthenticationSessionError.canceledLogin = error { - print("Login cancelled.") - } else { - self.presentError(error) - } - }) - - session.presentationContextProvider = self - if !session.start() { - print("Session failed to start!!!") - } - - } -} - -extension EnableExtensionPointViewController: ASWebAuthenticationPresentationContextProviding { - - public func presentationAnchor(for session: ASWebAuthenticationSession) -> ASPresentationAnchor { - return view.window! - } - -} - -private extension EnableExtensionPointViewController { - - func enableOauth1(_ provider: OAuth1SwiftProvider.Type) { - callbackURL = provider.callbackURL - - let oauth1 = provider.oauth1Swift - self.oauth = oauth1 - oauth1.authorizeURLHandler = self - - oauth1.authorize(withCallbackURL: callbackURL!) { [weak self] result in - guard let self = self, let extensionPointType = self.extensionPointType else { return } - - switch result { - case .success(let tokenSuccess): - ExtensionPointManager.shared.activateExtensionPoint(extensionPointType, tokenSuccess: tokenSuccess) { result in - if case .failure(let error) = result { - self.presentError(error) - } - self.dismiss(animated: true, completion: nil) - self.delegate?.dismiss() - } - case .failure(let oauthSwiftError): - self.presentError(oauthSwiftError) - } - - self.oauth?.cancel() - self.oauth = nil - } - } - - func enableOauth2(_ provider: OAuth2SwiftProvider.Type) { - callbackURL = provider.callbackURL - - let oauth2 = provider.oauth2Swift - self.oauth = oauth2 - oauth2.authorizeURLHandler = self - - let oauth2Vars = provider.oauth2Vars - - oauth2.authorize(withCallbackURL: callbackURL!, scope: oauth2Vars.scope, state: oauth2Vars.state, parameters: oauth2Vars.params) { [weak self] result in - guard let self = self, let extensionPointType = self.extensionPointType else { return } - - switch result { - case .success(let tokenSuccess): - ExtensionPointManager.shared.activateExtensionPoint(extensionPointType, tokenSuccess: tokenSuccess) { result in - if case .failure(let error) = result { - self.presentError(error) - } - self.dismiss(animated: true, completion: nil) - self.delegate?.dismiss() - } - case .failure(let oauthSwiftError): - self.presentError(oauthSwiftError) - } - - self.oauth?.cancel() - self.oauth = nil - } - } - - -} diff --git a/iOS/Settings/Views/Account and Extensions/Accounts/AddAccountListView.swift b/iOS/Settings/Views/Account and Extensions/Accounts/AddAccountListView.swift index 087a86d35..de5a538d3 100644 --- a/iOS/Settings/Views/Account and Extensions/Accounts/AddAccountListView.swift +++ b/iOS/Settings/Views/Account and Extensions/Accounts/AddAccountListView.swift @@ -15,7 +15,8 @@ public final class AddAccountListViewModel: ObservableObject, OAuthAccountAuthor @Published public var showAddAccountSheet: (Bool, accountType: AccountType) = (false, .onMyMac) public var webAccountTypes: [AccountType] { if AppDefaults.shared.isDeveloperBuild { - return [.bazQux, .feedbin, .feedly, .inoreader, .newsBlur, .theOldReader].filter({ $0.isDeveloperRestricted == false }) + return [.bazQux, .feedbin, .feedly, .inoreader, .newsBlur, .theOldReader] + //.filter({ $0.isDeveloperRestricted == false }) } else { return [.bazQux, .feedbin, .feedly, .inoreader, .newsBlur, .theOldReader] } diff --git a/iOS/Settings/Views/Account and Extensions/Extensions/AddExtensionListView.swift b/iOS/Settings/Views/Account and Extensions/Extensions/AddExtensionListView.swift index b1dd53af3..0a4db9c0f 100644 --- a/iOS/Settings/Views/Account and Extensions/Extensions/AddExtensionListView.swift +++ b/iOS/Settings/Views/Account and Extensions/Extensions/AddExtensionListView.swift @@ -21,8 +21,7 @@ struct AddExtensionListView: View { footer: Text("FEED_PROVIDER_FOOTER", tableName: "Settings")) { ForEach(0.. ASPresentationAnchor { + return rootViewController!.view.window! + } + + public var rootViewController: UIViewController? { + var currentKeyWindow: UIWindow? { + UIApplication.shared.connectedScenes + .filter { $0.activationState == .foregroundActive } + .map { $0 as? UIWindowScene } + .compactMap { $0 } + .first?.windows + .filter { $0.isKeyWindow } + .first + } + + var rootViewController: UIViewController? { + currentKeyWindow?.rootViewController + } + + return rootViewController + } + +} diff --git a/iOS/SwiftUI Extensions/ExtensionSectionHeader.swift b/iOS/SwiftUI Extensions/ExtensionSectionHeader.swift new file mode 100644 index 000000000..3af4ad578 --- /dev/null +++ b/iOS/SwiftUI Extensions/ExtensionSectionHeader.swift @@ -0,0 +1,30 @@ +// +// ExtensionSectionHeader.swift +// NetNewsWire-iOS +// +// Created by Stuart Breckenridge on 19/12/2022. +// Copyright © 2022 Ranchero Software. All rights reserved. +// + +import SwiftUI +import Account + +struct ExtensionSectionHeader: View { + + var extensionPoint: ExtensionPoint.Type + + var body: some View { + Section(header: headerImage) {} + } + + var headerImage: some View { + HStack { + Spacer() + Image(uiImage: extensionPoint.image) + .resizable() + .aspectRatio(contentMode: .fit) + .frame(width: 48, height: 48) + Spacer() + } + } +} From eedc191b7e1b1a46377de54f6856d6b3570b2978 Mon Sep 17 00:00:00 2001 From: Stuart Breckenridge Date: Mon, 19 Dec 2022 12:17:06 +0800 Subject: [PATCH 38/80] Restore extension and account restrictions --- Shared/ExtensionPoints/ExtensionPointManager.swift | 2 +- .../Account and Extensions/Accounts/AddAccountListView.swift | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Shared/ExtensionPoints/ExtensionPointManager.swift b/Shared/ExtensionPoints/ExtensionPointManager.swift index bd8a173cb..bf8cb0402 100644 --- a/Shared/ExtensionPoints/ExtensionPointManager.swift +++ b/Shared/ExtensionPoints/ExtensionPointManager.swift @@ -38,7 +38,7 @@ final class ExtensionPointManager: FeedProviderManagerDelegate { let activeExtensionPointTypes = activeExtensionPoints.keys.compactMap({ ObjectIdentifier($0.extensionPointType) }) var available = [ExtensionPoint.Type]() for possibleExtensionPointType in possibleExtensionPointTypes { - if (AppDefaults.shared.isDeveloperBuild && possibleExtensionPointType.isDeveloperBuildRestricted) { + if !(AppDefaults.shared.isDeveloperBuild && possibleExtensionPointType.isDeveloperBuildRestricted) { if possibleExtensionPointType.isSinglton { if !activeExtensionPointTypes.contains(ObjectIdentifier(possibleExtensionPointType)) { available.append(possibleExtensionPointType) diff --git a/iOS/Settings/Views/Account and Extensions/Accounts/AddAccountListView.swift b/iOS/Settings/Views/Account and Extensions/Accounts/AddAccountListView.swift index de5a538d3..59d101140 100644 --- a/iOS/Settings/Views/Account and Extensions/Accounts/AddAccountListView.swift +++ b/iOS/Settings/Views/Account and Extensions/Accounts/AddAccountListView.swift @@ -16,7 +16,7 @@ public final class AddAccountListViewModel: ObservableObject, OAuthAccountAuthor public var webAccountTypes: [AccountType] { if AppDefaults.shared.isDeveloperBuild { return [.bazQux, .feedbin, .feedly, .inoreader, .newsBlur, .theOldReader] - //.filter({ $0.isDeveloperRestricted == false }) + .filter({ $0.isDeveloperRestricted == false }) } else { return [.bazQux, .feedbin, .feedly, .inoreader, .newsBlur, .theOldReader] } From 7a41b411c8884fb900ce76626801fe8d2ec30128 Mon Sep 17 00:00:00 2001 From: Stuart Breckenridge Date: Tue, 20 Dec 2022 09:03:42 +0800 Subject: [PATCH 39/80] WIP on Timeline Customiser --- NetNewsWire.xcodeproj/project.pbxproj | 4 + iOS/AppDefaults.swift | 2 + iOS/Settings/Settings.strings | 2 + .../TimelinePreviewTableViewController.swift | 17 +++ .../Appearance/TimelineCustomizerView.swift | 113 ++++++++++++++++++ iOS/Settings/Views/General/SettingsRows.swift | 4 +- 6 files changed, 141 insertions(+), 1 deletion(-) create mode 100644 iOS/Settings/Views/Appearance/TimelineCustomizerView.swift diff --git a/NetNewsWire.xcodeproj/project.pbxproj b/NetNewsWire.xcodeproj/project.pbxproj index 619b6f144..508e6a3d3 100644 --- a/NetNewsWire.xcodeproj/project.pbxproj +++ b/NetNewsWire.xcodeproj/project.pbxproj @@ -855,6 +855,7 @@ DF5AD10128D6922200CA3BF7 /* SmartFeedSummaryWidget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1768144D2564BCE000D98635 /* SmartFeedSummaryWidget.swift */; }; DF766FED29377FD9006FBBE2 /* ExtensionsManagementView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF766FEC29377FD9006FBBE2 /* ExtensionsManagementView.swift */; }; DF790D6228E990A900455FC7 /* AboutData.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF790D6128E990A900455FC7 /* AboutData.swift */; }; + DF84E563295122BA0045C334 /* TimelineCustomizerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF84E562295122BA0045C334 /* TimelineCustomizerView.swift */; }; DFB3497A294A962D00BC81AD /* AddAccountListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFB34979294A962D00BC81AD /* AddAccountListView.swift */; }; DFB34980294B085100BC81AD /* AccountInspectorView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFB3497F294B085100BC81AD /* AccountInspectorView.swift */; }; DFB34982294B0B9B00BC81AD /* Inspector.strings in Resources */ = {isa = PBXBuildFile; fileRef = DFB34981294B0B9B00BC81AD /* Inspector.strings */; }; @@ -1620,6 +1621,7 @@ DF59F0732920DB5100ACD33D /* AccountsManagementView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountsManagementView.swift; sourceTree = ""; }; DF766FEC29377FD9006FBBE2 /* ExtensionsManagementView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ExtensionsManagementView.swift; sourceTree = ""; }; DF790D6128E990A900455FC7 /* AboutData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AboutData.swift; sourceTree = ""; }; + DF84E562295122BA0045C334 /* TimelineCustomizerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TimelineCustomizerView.swift; sourceTree = ""; }; DFB34979294A962D00BC81AD /* AddAccountListView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddAccountListView.swift; sourceTree = ""; }; DFB3497F294B085100BC81AD /* AccountInspectorView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountInspectorView.swift; sourceTree = ""; }; DFB34981294B0B9B00BC81AD /* Inspector.strings */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; path = Inspector.strings; sourceTree = ""; }; @@ -3042,6 +3044,7 @@ children = ( DFD406FE291FDC0C00C02962 /* DisplayAndBehaviorsView.swift */, DF59F071292085B800ACD33D /* ColorPaletteSelectorView.swift */, + DF84E562295122BA0045C334 /* TimelineCustomizerView.swift */, ); path = Appearance; sourceTree = ""; @@ -4368,6 +4371,7 @@ 51C4529B22650A1000C03939 /* FaviconDownloader.swift in Sources */, 84DEE56622C32CA4005FC42C /* SmartFeedDelegate.swift in Sources */, DF28B44F294ED92F00C4D8CA /* NewsBlurAddAccountView.swift in Sources */, + DF84E563295122BA0045C334 /* TimelineCustomizerView.swift in Sources */, 512E09012268907400BDCFDD /* MasterFeedTableViewSectionHeader.swift in Sources */, 512392BF24E33A3C00F11704 /* RedditSelectSortTableViewController.swift in Sources */, 516AE9E02372269A007DEEAA /* IconImage.swift in Sources */, diff --git a/iOS/AppDefaults.swift b/iOS/AppDefaults.swift index 2bcb5eb17..4d68d6b4a 100644 --- a/iOS/AppDefaults.swift +++ b/iOS/AppDefaults.swift @@ -231,6 +231,7 @@ final class AppDefaults: ObservableObject { } set { AppDefaults.setInt(for: Key.timelineNumberOfLines, newValue) + objectWillChange.send() } } @@ -241,6 +242,7 @@ final class AppDefaults: ObservableObject { } set { AppDefaults.store.set(newValue.rawValue, forKey: Key.timelineIconDimension) + objectWillChange.send() } } diff --git a/iOS/Settings/Settings.strings b/iOS/Settings/Settings.strings index 5462e5feb..ba1cc744e 100644 --- a/iOS/Settings/Settings.strings +++ b/iOS/Settings/Settings.strings @@ -41,6 +41,8 @@ "GROUP_BY_FEED" = "Group by Feed"; "REFRESH_TO_CLEAR_READ_ARTICLES" = "Refresh to Clear Articles"; "TIMELINE_LAYOUT" = "Timeline Layout"; +"ICON_SIZE" = "Icon Size"; +"NUMBER_OF_LINES" = "Number of Lines"; "ARTICLE_THEME" = "Article Theme"; "CONFIRM_MARK_ALL_AS_READ" = "Confirm Mark All as Read"; "OPEN_LINKS_IN_APP" = "Open Links in NetNewsWire"; diff --git a/iOS/Settings/TimelinePreviewTableViewController.swift b/iOS/Settings/TimelinePreviewTableViewController.swift index ad65dd052..919c4b0e6 100644 --- a/iOS/Settings/TimelinePreviewTableViewController.swift +++ b/iOS/Settings/TimelinePreviewTableViewController.swift @@ -8,6 +8,23 @@ import UIKit import Articles +import SwiftUI + +struct TimelinePreviewWrapper: UIViewControllerRepresentable { + + func makeUIViewController(context: Context) -> TimelinePreviewTableViewController { + let controller = UIStoryboard.settings.instantiateViewController(withIdentifier: "TimelinePreviewTableViewController") as! TimelinePreviewTableViewController + return controller + } + + func updateUIViewController(_ uiViewController: TimelinePreviewTableViewController, context: Context) { + // + } + + typealias UIViewControllerType = TimelinePreviewTableViewController + +} + class TimelinePreviewTableViewController: UIViewController, UITableViewDelegate, UITableViewDataSource { diff --git a/iOS/Settings/Views/Appearance/TimelineCustomizerView.swift b/iOS/Settings/Views/Appearance/TimelineCustomizerView.swift new file mode 100644 index 000000000..912d1bc88 --- /dev/null +++ b/iOS/Settings/Views/Appearance/TimelineCustomizerView.swift @@ -0,0 +1,113 @@ +// +// TimelineCustomizerView.swift +// NetNewsWire-iOS +// +// Created by Stuart Breckenridge on 20/12/2022. +// Copyright © 2022 Ranchero Software. All rights reserved. +// + +import SwiftUI + + +struct TimelineCustomizerView: View { + + @StateObject private var appDefaults = AppDefaults.shared + + var body: some View { + List { + Section(header: Text("ICON_SIZE", tableName: "Settings")) { + Slider(value: Binding(get: { Float(appDefaults.timelineIconSize.rawValue) }, + set: { appDefaults.timelineIconSize = IconSize(rawValue: Int($0))! }), + in: Float(IconSize.small.rawValue)...Float(IconSize.large.rawValue), + step: 1, + label: { Text("ICON_SIZE", tableName: "Settings") }, + onEditingChanged: { _ in + }) + .tint(Color(uiColor: AppAssets.primaryAccentColor)) + .padding(.horizontal, 16) + .padding(.vertical, 8) + .listRowInsets(EdgeInsets(top: 0, leading: 15, bottom: 0, trailing: 15)) + .background( + RoundedRectangle(cornerRadius: 8) + .foregroundColor(Color(uiColor: UIColor.systemBackground)) + ) + + } + .listRowInsets(EdgeInsets(top: 0, leading: 30, bottom: 0, trailing: 30)) + .listRowBackground(Color.clear) + .listRowSeparator(.hidden) + + Section(header: Text("NUMBER_OF_LINES", tableName: "Settings")) { + Slider(value: Binding(get: { Float(appDefaults.timelineNumberOfLines) }, + set: { appDefaults.timelineNumberOfLines = Int($0) }), + in: 1...5, + step: 1, + label: { Text("NUMBER_OF_LINES", tableName: "Settings") }, + onEditingChanged: { _ in + }) + .tint(Color(uiColor: AppAssets.primaryAccentColor)) + .padding(.horizontal, 16) + .padding(.vertical, 8) + .listRowInsets(EdgeInsets(top: 0, leading: 15, bottom: 0, trailing: 15)) + .background( + RoundedRectangle(cornerRadius: 8) + .foregroundColor(Color(uiColor: UIColor.systemBackground)) + ) + } + .listRowInsets(EdgeInsets(top: 0, leading: 30, bottom: 0, trailing: 30)) + .listRowBackground(Color.clear) + .listRowSeparator(.hidden) + + Section { + timeLinePreviewRow + .listRowInsets(EdgeInsets(top: 4, leading: 4, bottom: 4, trailing: 28)) + } + } + .listStyle(.grouped) + .navigationTitle(Text("TIMELINE_LAYOUT", tableName: "Settings")) + } + + var timeLinePreviewRow: some View { + HStack(spacing: 6) { + VStack { + Circle() + .foregroundColor(Color(uiColor: AppAssets.primaryAccentColor)) + .frame(width: 12, height: 12) + Spacer() + }.frame(width: 12) + VStack { + Image(systemName: "globe.europe.africa.fill") + .resizable() + .frame(width: appDefaults.timelineIconSize.size.width, height: appDefaults.timelineIconSize.size.height) + .foregroundColor(Color(uiColor: AppAssets.primaryAccentColor)) + Spacer() + }.frame(width: appDefaults.timelineIconSize.size.width) + VStack(spacing: 4) { + Text("Enim ut tellus elementum sagittis vitae et. Nibh praesent tristique magna sit amet purus gravida quis blandit. Neque volutpat ac tincidunt vitae semper quis lectus nulla. Massa id neque aliquam vestibulum morbi blandit. Ultrices vitae auctor eu augue. Enim eu turpis egestas pretium aenean pharetra magna. Eget gravida cum sociis natoque. Sit amet consectetur adipiscing elit. Auctor eu augue ut lectus arcu bibendum. Maecenas volutpat blandit aliquam etiam erat velit. Ut pharetra sit amet aliquam id diam maecenas ultricies. In hac habitasse platea dictumst quisque sagittis purus sit amet.") + .bold() + .lineLimit(appDefaults.timelineNumberOfLines) + HStack { + Text("Feed name") + .foregroundColor(.secondary) + .font(.caption) + Spacer() + Text("08:51") + .foregroundColor(.secondary) + .font(.caption) + }.padding(0) + } + } + .edgesIgnoringSafeArea(.all) + .padding(.vertical, 4) + .padding(.leading, 4) + + } + + +} + +struct TimelineCustomizerView_Previews: PreviewProvider { + static var previews: some View { + TimelineCustomizerView() + } +} diff --git a/iOS/Settings/Views/General/SettingsRows.swift b/iOS/Settings/Views/General/SettingsRows.swift index a6e0d2685..ef2c306f3 100644 --- a/iOS/Settings/Views/General/SettingsRows.swift +++ b/iOS/Settings/Views/General/SettingsRows.swift @@ -144,7 +144,9 @@ struct SettingsViewRows { /// This row, when tapped, will push the the Timeline Layout screen /// in to view. static var timelineLayout: some View { - NavigationLink(destination: TimelineCustomizerWrapper().edgesIgnoringSafeArea(.all).navigationTitle(Text("TIMELINE_LAYOUT", tableName: "Settings"))) { + NavigationLink { + TimelineCustomizerView() + } label: { Text("TIMELINE_LAYOUT", tableName: "Settings") } } From 686d93f49ed8201a782de4468cbf247385fff8f2 Mon Sep 17 00:00:00 2001 From: Stuart Breckenridge Date: Tue, 20 Dec 2022 17:20:45 +0800 Subject: [PATCH 40/80] Switched to Pickers instead of Sliders MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit …because tick marks on SwiftUI pickers are painful --- NetNewsWire.xcodeproj/project.pbxproj | 6 +- Shared/Extensions/IconImage.swift | 13 +++- .../Buttons.strings | 0 .../Errors.strings | 0 .../LocalizedNetNewsWireError.swift | 0 .../Appearance/TimelineCustomizerView.swift | 67 ++++++++++--------- 6 files changed, 51 insertions(+), 35 deletions(-) rename Shared/{Translations => Localizations}/Buttons.strings (100%) rename Shared/{Translations => Localizations}/Errors.strings (100%) rename Shared/{Translations => Localizations}/LocalizedNetNewsWireError.swift (100%) diff --git a/NetNewsWire.xcodeproj/project.pbxproj b/NetNewsWire.xcodeproj/project.pbxproj index 508e6a3d3..17fdf5687 100644 --- a/NetNewsWire.xcodeproj/project.pbxproj +++ b/NetNewsWire.xcodeproj/project.pbxproj @@ -2644,7 +2644,7 @@ 511D43CE231FA51100FB1562 /* Resources */, 176813A22564B9D100D98635 /* Widget */, 173A64162547BE0900267F6E /* AccountType+Helpers.swift */, - DFB34985294B3B0800BC81AD /* Translations */, + DFB34985294B3B0800BC81AD /* Localizations */, ); path = Shared; sourceTree = ""; @@ -2983,14 +2983,14 @@ path = Views; sourceTree = ""; }; - DFB34985294B3B0800BC81AD /* Translations */ = { + DFB34985294B3B0800BC81AD /* Localizations */ = { isa = PBXGroup; children = ( DFB34983294B3AFF00BC81AD /* Buttons.strings */, DFB34998294C4F1D00BC81AD /* Errors.strings */, DFB34995294C4DCB00BC81AD /* LocalizedNetNewsWireError.swift */, ); - path = Translations; + path = Localizations; sourceTree = ""; }; DFB34986294B446300BC81AD /* SwiftUI Extensions */ = { diff --git a/Shared/Extensions/IconImage.swift b/Shared/Extensions/IconImage.swift index e460e4b6b..341a4de7a 100644 --- a/Shared/Extensions/IconImage.swift +++ b/Shared/Extensions/IconImage.swift @@ -162,7 +162,7 @@ extension CGImage { } -enum IconSize: Int, CaseIterable { +enum IconSize: Int, CaseIterable, CustomStringConvertible { case small = 1 case medium = 2 case large = 3 @@ -181,5 +181,16 @@ enum IconSize: Int, CaseIterable { return CGSize(width: IconSize.largeDimension, height: IconSize.largeDimension) } } + + var description: String { + switch self { + case .small: + return "Small" + case .medium: + return "Medium" + case .large: + return "Large" + } + } } diff --git a/Shared/Translations/Buttons.strings b/Shared/Localizations/Buttons.strings similarity index 100% rename from Shared/Translations/Buttons.strings rename to Shared/Localizations/Buttons.strings diff --git a/Shared/Translations/Errors.strings b/Shared/Localizations/Errors.strings similarity index 100% rename from Shared/Translations/Errors.strings rename to Shared/Localizations/Errors.strings diff --git a/Shared/Translations/LocalizedNetNewsWireError.swift b/Shared/Localizations/LocalizedNetNewsWireError.swift similarity index 100% rename from Shared/Translations/LocalizedNetNewsWireError.swift rename to Shared/Localizations/LocalizedNetNewsWireError.swift diff --git a/iOS/Settings/Views/Appearance/TimelineCustomizerView.swift b/iOS/Settings/Views/Appearance/TimelineCustomizerView.swift index 912d1bc88..69ea90b3f 100644 --- a/iOS/Settings/Views/Appearance/TimelineCustomizerView.swift +++ b/iOS/Settings/Views/Appearance/TimelineCustomizerView.swift @@ -15,43 +15,44 @@ struct TimelineCustomizerView: View { var body: some View { List { - Section(header: Text("ICON_SIZE", tableName: "Settings")) { - Slider(value: Binding(get: { Float(appDefaults.timelineIconSize.rawValue) }, - set: { appDefaults.timelineIconSize = IconSize(rawValue: Int($0))! }), - in: Float(IconSize.small.rawValue)...Float(IconSize.large.rawValue), - step: 1, - label: { Text("ICON_SIZE", tableName: "Settings") }, - onEditingChanged: { _ in - }) - .tint(Color(uiColor: AppAssets.primaryAccentColor)) + Section { + ZStack { + Picker(selection: $appDefaults.timelineIconSize) { + ForEach(IconSize.allCases, id: \.self) { size in + Text(size.description) + } + } label: { + Text("ICON_SIZE", tableName: "Settings") + } + } .padding(.horizontal, 16) - .padding(.vertical, 8) + .padding(.vertical, 4) .listRowInsets(EdgeInsets(top: 0, leading: 15, bottom: 0, trailing: 15)) .background( RoundedRectangle(cornerRadius: 8) - .foregroundColor(Color(uiColor: UIColor.systemBackground)) + .foregroundColor(Color(uiColor: UIColor.secondarySystemGroupedBackground)) ) - } .listRowInsets(EdgeInsets(top: 0, leading: 30, bottom: 0, trailing: 30)) .listRowBackground(Color.clear) .listRowSeparator(.hidden) - Section(header: Text("NUMBER_OF_LINES", tableName: "Settings")) { - Slider(value: Binding(get: { Float(appDefaults.timelineNumberOfLines) }, - set: { appDefaults.timelineNumberOfLines = Int($0) }), - in: 1...5, - step: 1, - label: { Text("NUMBER_OF_LINES", tableName: "Settings") }, - onEditingChanged: { _ in - }) - .tint(Color(uiColor: AppAssets.primaryAccentColor)) + Section { + ZStack { + Picker(selection: $appDefaults.timelineNumberOfLines) { + ForEach(1...5, id: \.self) { size in + Text("\(size)") + } + } label: { + Text("NUMBER_OF_LINES", tableName: "Settings") + } + } .padding(.horizontal, 16) - .padding(.vertical, 8) + .padding(.vertical, 4) .listRowInsets(EdgeInsets(top: 0, leading: 15, bottom: 0, trailing: 15)) .background( RoundedRectangle(cornerRadius: 8) - .foregroundColor(Color(uiColor: UIColor.systemBackground)) + .foregroundColor(Color(uiColor: UIColor.secondarySystemGroupedBackground)) ) } .listRowInsets(EdgeInsets(top: 0, leading: 30, bottom: 0, trailing: 30)) @@ -59,16 +60,22 @@ struct TimelineCustomizerView: View { .listRowSeparator(.hidden) Section { - timeLinePreviewRow - .listRowInsets(EdgeInsets(top: 4, leading: 4, bottom: 4, trailing: 28)) + withAnimation { + timeLinePreviewRow + .listRowInsets(EdgeInsets(top: 8, leading: 4, bottom: 4, trailing: 24)) + } + } } .listStyle(.grouped) .navigationTitle(Text("TIMELINE_LAYOUT", tableName: "Settings")) + .onAppear { + + } } var timeLinePreviewRow: some View { - HStack(spacing: 6) { + HStack(alignment: .top, spacing: 6) { VStack { Circle() .foregroundColor(Color(uiColor: AppAssets.primaryAccentColor)) @@ -76,13 +83,14 @@ struct TimelineCustomizerView: View { Spacer() }.frame(width: 12) VStack { - Image(systemName: "globe.europe.africa.fill") + Image("faviconTemplateImage") + .renderingMode(.template) .resizable() .frame(width: appDefaults.timelineIconSize.size.width, height: appDefaults.timelineIconSize.size.height) .foregroundColor(Color(uiColor: AppAssets.primaryAccentColor)) Spacer() }.frame(width: appDefaults.timelineIconSize.size.width) - VStack(spacing: 4) { + VStack(alignment: .leading, spacing: 4) { Text("Enim ut tellus elementum sagittis vitae et. Nibh praesent tristique magna sit amet purus gravida quis blandit. Neque volutpat ac tincidunt vitae semper quis lectus nulla. Massa id neque aliquam vestibulum morbi blandit. Ultrices vitae auctor eu augue. Enim eu turpis egestas pretium aenean pharetra magna. Eget gravida cum sociis natoque. Sit amet consectetur adipiscing elit. Auctor eu augue ut lectus arcu bibendum. Maecenas volutpat blandit aliquam etiam erat velit. Ut pharetra sit amet aliquam id diam maecenas ultricies. In hac habitasse platea dictumst quisque sagittis purus sit amet.") .bold() .lineLimit(appDefaults.timelineNumberOfLines) @@ -100,10 +108,7 @@ struct TimelineCustomizerView: View { .edgesIgnoringSafeArea(.all) .padding(.vertical, 4) .padding(.leading, 4) - } - - } struct TimelineCustomizerView_Previews: PreviewProvider { From 432aeea1b54768f73efa8f3d2ad3e7fc7f8bc6b4 Mon Sep 17 00:00:00 2001 From: Stuart Breckenridge Date: Tue, 20 Dec 2022 17:26:19 +0800 Subject: [PATCH 41/80] Localises IconImage descriptions - Deletes UIKit Timeline customizer --- NetNewsWire.xcodeproj/project.pbxproj | 14 +-- Shared/Extensions/IconImage.swift | 6 +- .../Localizations}/Account.strings | 0 .../Localizations}/Inspector.strings | 0 .../Localizations}/Settings.strings | 3 + .../TimelineCustomizerViewController.swift | 106 ------------------ .../TimelinePreviewTableViewController.swift | 94 ---------------- 7 files changed, 9 insertions(+), 214 deletions(-) rename {iOS/Account => Shared/Localizations}/Account.strings (100%) rename {iOS/Inspector => Shared/Localizations}/Inspector.strings (100%) rename {iOS/Settings => Shared/Localizations}/Settings.strings (97%) delete mode 100644 iOS/Settings/TimelineCustomizerViewController.swift delete mode 100644 iOS/Settings/TimelinePreviewTableViewController.swift diff --git a/NetNewsWire.xcodeproj/project.pbxproj b/NetNewsWire.xcodeproj/project.pbxproj index 17fdf5687..a33b9a761 100644 --- a/NetNewsWire.xcodeproj/project.pbxproj +++ b/NetNewsWire.xcodeproj/project.pbxproj @@ -78,8 +78,6 @@ 51077C5A27A86D16000C71DB /* Hyperlegible.nnwtheme in Resources */ = {isa = PBXBuildFile; fileRef = 51077C5727A86D16000C71DB /* Hyperlegible.nnwtheme */; }; 5108F6B62375E612001ABC45 /* CacheCleaner.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5108F6B52375E612001ABC45 /* CacheCleaner.swift */; }; 5108F6B72375E612001ABC45 /* CacheCleaner.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5108F6B52375E612001ABC45 /* CacheCleaner.swift */; }; - 5108F6D22375EED2001ABC45 /* TimelineCustomizerViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5108F6D12375EED2001ABC45 /* TimelineCustomizerViewController.swift */; }; - 5108F6D42375EEEF001ABC45 /* TimelinePreviewTableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5108F6D32375EEEF001ABC45 /* TimelinePreviewTableViewController.swift */; }; 5108F6D823763094001ABC45 /* TickMarkSlider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5108F6D723763094001ABC45 /* TickMarkSlider.swift */; }; 510C416124E5CDE3008226FD /* ShareViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 510C416024E5CDE3008226FD /* ShareViewController.swift */; }; 510C416424E5CDE3008226FD /* ShareViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 510C416224E5CDE3008226FD /* ShareViewController.xib */; }; @@ -1200,8 +1198,6 @@ 5103A9F624225E4C00410853 /* AccountsAddCloudKitWindowController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountsAddCloudKitWindowController.swift; sourceTree = ""; }; 51077C5727A86D16000C71DB /* Hyperlegible.nnwtheme */ = {isa = PBXFileReference; lastKnownFileType = wrapper; path = Hyperlegible.nnwtheme; sourceTree = ""; }; 5108F6B52375E612001ABC45 /* CacheCleaner.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CacheCleaner.swift; sourceTree = ""; }; - 5108F6D12375EED2001ABC45 /* TimelineCustomizerViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TimelineCustomizerViewController.swift; sourceTree = ""; }; - 5108F6D32375EEEF001ABC45 /* TimelinePreviewTableViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TimelinePreviewTableViewController.swift; sourceTree = ""; }; 5108F6D723763094001ABC45 /* TickMarkSlider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TickMarkSlider.swift; sourceTree = ""; }; 510C415C24E5CDE3008226FD /* NetNewsWire Share Extension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = "NetNewsWire Share Extension.appex"; sourceTree = BUILT_PRODUCTS_DIR; }; 510C416024E5CDE3008226FD /* ShareViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShareViewController.swift; sourceTree = ""; }; @@ -1927,7 +1923,6 @@ 5123DB95233EC69300282CC9 /* Inspector */ = { isa = PBXGroup; children = ( - DFB34981294B0B9B00BC81AD /* Inspector.strings */, DFB3497D294B076C00BC81AD /* Views */, ); path = Inspector; @@ -1998,7 +1993,6 @@ 516A093E236123A800EAE89B /* Account */ = { isa = PBXGroup; children = ( - DFB34992294C0B7400BC81AD /* Account.strings */, DFB3498F294C0B0D00BC81AD /* Views */, ); path = Account; @@ -2029,7 +2023,6 @@ 5183CCEB227117C70010922C /* Settings */ = { isa = PBXGroup; children = ( - DF32ABEA29494CF0008E3A12 /* Settings.strings */, DFD406F8291FB5D500C02962 /* Views */, 5137C2E926F63AE6009EFEDB /* ArticleThemeImporter.swift */, 510FFAB226EEA22C00F32265 /* ArticleThemesTableViewController.swift */, @@ -2037,8 +2030,6 @@ DF32ABE629493192008E3A12 /* SettingsComboTableViewCell.swift */, DF32ABE729493193008E3A12 /* SettingsComboTableViewCell.xib */, 516A093A2360A4A000EAE89B /* SettingsTableViewCell.xib */, - 5108F6D12375EED2001ABC45 /* TimelineCustomizerViewController.swift */, - 5108F6D32375EEEF001ABC45 /* TimelinePreviewTableViewController.swift */, ); path = Settings; sourceTree = ""; @@ -2986,8 +2977,11 @@ DFB34985294B3B0800BC81AD /* Localizations */ = { isa = PBXGroup; children = ( + DFB34992294C0B7400BC81AD /* Account.strings */, DFB34983294B3AFF00BC81AD /* Buttons.strings */, DFB34998294C4F1D00BC81AD /* Errors.strings */, + DFB34981294B0B9B00BC81AD /* Inspector.strings */, + DF32ABEA29494CF0008E3A12 /* Settings.strings */, DFB34995294C4DCB00BC81AD /* LocalizedNetNewsWireError.swift */, ); path = Localizations; @@ -4316,7 +4310,6 @@ 51B5C87D23F2346200032075 /* ExtensionContainersFile.swift in Sources */, 51102165233A7D6C0007A5F7 /* ArticleExtractorButton.swift in Sources */, C5A6ED6D23C9B0C800AB6BE2 /* UIActivityViewController-Extensions.swift in Sources */, - 5108F6D42375EEEF001ABC45 /* TimelinePreviewTableViewController.swift in Sources */, 84CAFCA522BC8C08007694F0 /* FetchRequestQueue.swift in Sources */, 512392BE24E33A3C00F11704 /* RedditSelectAccountTableViewController.swift in Sources */, 515A517B243E90260089E588 /* ExtensionPoint.swift in Sources */, @@ -4381,7 +4374,6 @@ 5183CCD0226E1E880010922C /* NonIntrinsicLabel.swift in Sources */, 5137C2EA26F63AE6009EFEDB /* ArticleThemeImporter.swift in Sources */, 51C4529F22650A1900C03939 /* AuthorAvatarDownloader.swift in Sources */, - 5108F6D22375EED2001ABC45 /* TimelineCustomizerViewController.swift in Sources */, 519E743D22C663F900A78E47 /* SceneDelegate.swift in Sources */, FFD43E412340F488009E5CA3 /* MarkAsReadAlertController.swift in Sources */, 51C452A322650A1E00C03939 /* HTMLMetadataDownloader.swift in Sources */, diff --git a/Shared/Extensions/IconImage.swift b/Shared/Extensions/IconImage.swift index 341a4de7a..b8eef9555 100644 --- a/Shared/Extensions/IconImage.swift +++ b/Shared/Extensions/IconImage.swift @@ -185,11 +185,11 @@ enum IconSize: Int, CaseIterable, CustomStringConvertible { var description: String { switch self { case .small: - return "Small" + return Bundle.main.localizedString(forKey: "SMALL_ICON_SIZE", value: nil, table: "Settings") case .medium: - return "Medium" + return Bundle.main.localizedString(forKey: "MEDIUM_ICON_SIZE", value: nil, table: "Settings") case .large: - return "Large" + return Bundle.main.localizedString(forKey: "LARGE_ICON_SIZE", value: nil, table: "Settings") } } diff --git a/iOS/Account/Account.strings b/Shared/Localizations/Account.strings similarity index 100% rename from iOS/Account/Account.strings rename to Shared/Localizations/Account.strings diff --git a/iOS/Inspector/Inspector.strings b/Shared/Localizations/Inspector.strings similarity index 100% rename from iOS/Inspector/Inspector.strings rename to Shared/Localizations/Inspector.strings diff --git a/iOS/Settings/Settings.strings b/Shared/Localizations/Settings.strings similarity index 97% rename from iOS/Settings/Settings.strings rename to Shared/Localizations/Settings.strings index ba1cc744e..38435801a 100644 --- a/iOS/Settings/Settings.strings +++ b/Shared/Localizations/Settings.strings @@ -46,6 +46,9 @@ "ARTICLE_THEME" = "Article Theme"; "CONFIRM_MARK_ALL_AS_READ" = "Confirm Mark All as Read"; "OPEN_LINKS_IN_APP" = "Open Links in NetNewsWire"; +"SMALL_ICON_SIZE" = "Small"; +"MEDIUM_ICON_SIZE" = "Medium"; +"LARGE_ICON_SIZE" = "Large"; /* Account Management */ "ADD_ACCOUNT" = "Add Account"; diff --git a/iOS/Settings/TimelineCustomizerViewController.swift b/iOS/Settings/TimelineCustomizerViewController.swift deleted file mode 100644 index 8b0f796de..000000000 --- a/iOS/Settings/TimelineCustomizerViewController.swift +++ /dev/null @@ -1,106 +0,0 @@ -// -// TimelineCustomizerViewController.swift -// NetNewsWire-iOS -// -// Created by Maurice Parker on 11/8/19. -// Copyright © 2019 Ranchero Software. All rights reserved. -// - -import UIKit -import SwiftUI -import RSCore - -struct TimelineCustomizerWrapper: UIViewControllerRepresentable { - public func makeUIViewController(context: Context) -> TimelineCustomizerViewController { - let controller = UIStoryboard.settings.instantiateController(ofType: TimelineCustomizerViewController.self) - return controller - } - - public func updateUIViewController(_ uiViewController: TimelineCustomizerViewController, context: Context) { - // - } - - public typealias UIViewControllerType = TimelineCustomizerViewController -} - - -class TimelineCustomizerViewController: UIViewController { - - @IBOutlet weak var iconSizeSliderContainerView: UIView! - @IBOutlet weak var iconSizeSlider: TickMarkSlider! - @IBOutlet weak var numberOfLinesSliderContainerView: UIView! - @IBOutlet weak var numberOfLinesSlider: TickMarkSlider! - - @IBOutlet weak var previewWidthConstraint: NSLayoutConstraint! - @IBOutlet weak var previewHeightConstraint: NSLayoutConstraint! - - @IBOutlet weak var previewContainerView: UIView! - var previewController: TimelinePreviewTableViewController { - return children.first as! TimelinePreviewTableViewController - } - - override func viewDidLoad() { - super.viewDidLoad() - - iconSizeSliderContainerView.layer.cornerRadius = 10 - iconSizeSlider.value = Float(AppDefaults.shared.timelineIconSize.rawValue) - iconSizeSlider.addTickMarks() - - numberOfLinesSliderContainerView.layer.cornerRadius = 10 - numberOfLinesSlider.value = Float(AppDefaults.shared.timelineNumberOfLines) - numberOfLinesSlider.addTickMarks() - } - - override func viewWillAppear(_ animated: Bool) { - super.viewDidAppear(animated) - updatePreviewBorder() - updatePreview() - } - - override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) { - updatePreviewBorder() - updatePreview() - } - - @IBAction func iconSizeChanged(_ sender: Any) { - guard let iconSize = IconSize(rawValue: Int(iconSizeSlider.value.rounded())) else { return } - AppDefaults.shared.timelineIconSize = iconSize - updatePreview() - } - - @IBAction func numberOfLinesChanged(_ sender: Any) { - AppDefaults.shared.timelineNumberOfLines = Int(numberOfLinesSlider.value.rounded()) - updatePreview() - } - -} - -// MARK: Private - -private extension TimelineCustomizerViewController { - - func updatePreview() { - let previewWidth: CGFloat = { - if traitCollection.userInterfaceIdiom == .phone { - return view.bounds.width - } else { - return view.bounds.width / 1.5 - } - }() - - previewWidthConstraint.constant = previewWidth - previewHeightConstraint.constant = previewController.heightFor(width: previewWidth) - - previewController.reload() - } - - func updatePreviewBorder() { - if traitCollection.userInterfaceStyle == .dark { - previewContainerView.layer.borderColor = UIColor.black.cgColor - previewContainerView.layer.borderWidth = 1 - } else { - previewContainerView.layer.borderWidth = 0 - } - } - -} diff --git a/iOS/Settings/TimelinePreviewTableViewController.swift b/iOS/Settings/TimelinePreviewTableViewController.swift deleted file mode 100644 index 919c4b0e6..000000000 --- a/iOS/Settings/TimelinePreviewTableViewController.swift +++ /dev/null @@ -1,94 +0,0 @@ -// -// TimelinePreviewTableViewController.swift -// NetNewsWire-iOS -// -// Created by Maurice Parker on 11/8/19. -// Copyright © 2019 Ranchero Software. All rights reserved. -// - -import UIKit -import Articles -import SwiftUI - -struct TimelinePreviewWrapper: UIViewControllerRepresentable { - - func makeUIViewController(context: Context) -> TimelinePreviewTableViewController { - let controller = UIStoryboard.settings.instantiateViewController(withIdentifier: "TimelinePreviewTableViewController") as! TimelinePreviewTableViewController - return controller - } - - func updateUIViewController(_ uiViewController: TimelinePreviewTableViewController, context: Context) { - // - } - - typealias UIViewControllerType = TimelinePreviewTableViewController - -} - - -class TimelinePreviewTableViewController: UIViewController, UITableViewDelegate, UITableViewDataSource { - - @IBOutlet weak var tableView: UITableView! - - override func viewDidLoad() { - super.viewDidLoad() - - tableView.delegate = self - tableView.dataSource = self - - } - - func heightFor(width: CGFloat) -> CGFloat { - if UIApplication.shared.preferredContentSizeCategory.isAccessibilityCategory { - let layout = MasterTimelineAccessibilityCellLayout(width: width, insets: tableView.safeAreaInsets, cellData: prototypeCellData) - return layout.height - } else { - let layout = MasterTimelineDefaultCellLayout(width: width, insets: tableView.safeAreaInsets, cellData: prototypeCellData) - return layout.height - } - } - - // MARK: - Table view data source - - func numberOfSections(in tableView: UITableView) -> Int { - return 1 - } - - func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { - return 1 - } - - func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { - let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) as! MasterTimelineTableViewCell - cell.cellData = prototypeCellData - return cell - } - - func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { - tableView.selectRow(at: nil, animated: true, scrollPosition: .none) - } - // MARK: API - - func reload() { - tableView.reloadData() - } - -} - -// MARK: Private - -private extension TimelinePreviewTableViewController { - - var prototypeCellData: MasterTimelineCellData { - let longTitle = "Enim ut tellus elementum sagittis vitae et. Nibh praesent tristique magna sit amet purus gravida quis blandit. Neque volutpat ac tincidunt vitae semper quis lectus nulla. Massa id neque aliquam vestibulum morbi blandit. Ultrices vitae auctor eu augue. Enim eu turpis egestas pretium aenean pharetra magna. Eget gravida cum sociis natoque. Sit amet consectetur adipiscing elit. Auctor eu augue ut lectus arcu bibendum. Maecenas volutpat blandit aliquam etiam erat velit. Ut pharetra sit amet aliquam id diam maecenas ultricies. In hac habitasse platea dictumst quisque sagittis purus sit amet." - - let prototypeID = "prototype" - let status = ArticleStatus(articleID: prototypeID, read: false, starred: false, dateArrived: Date()) - let prototypeArticle = Article(accountID: prototypeID, articleID: prototypeID, webFeedID: prototypeID, uniqueID: prototypeID, title: longTitle, contentHTML: nil, contentText: nil, url: nil, externalURL: nil, summary: nil, imageURL: nil, datePublished: nil, dateModified: nil, authors: nil, status: status) - - let iconImage = IconImage(AppAssets.faviconTemplateImage.withTintColor(AppAssets.secondaryAccentColor)) - - return MasterTimelineCellData(article: prototypeArticle, showFeedName: .feed, feedName: "Feed Name", byline: nil, iconImage: iconImage, showIcon: true, featuredImage: nil, numberOfLines: AppDefaults.shared.timelineNumberOfLines, iconSize: AppDefaults.shared.timelineIconSize, hideSeparator: false) - } - -} From 53e49aa699e672cdb33e39a92bf2905b93339cce Mon Sep 17 00:00:00 2001 From: Stuart Breckenridge Date: Tue, 20 Dec 2022 20:35:18 +0800 Subject: [PATCH 42/80] Article themes moved to SwiftUI --- NetNewsWire.xcodeproj/project.pbxproj | 62 ++++---- .../ArticleStyles/ArticleThemesManager.swift | 5 + Shared/Importers/NNWThemeDocument.swift | 33 +++++ Shared/Localizations/Buttons.strings | 2 + Shared/Localizations/Settings.strings | 8 + .../{Views => }/CloudKitAddAccountView.swift | 0 .../{Views => }/FeedbinAddAccountView.swift | 0 .../{Views => }/LocalAddAccountView.swift | 0 .../{Views => }/NewsBlurAddAccountView.swift | 0 .../{Views => }/ReaderAPIAddAccountView.swift | 0 .../{Views => }/AccountInspectorView.swift | 0 .../{Views => }/ExtensionInspectorView.swift | 7 +- .../{Views => }/WebFeedInspectorView.swift | 0 .../Accounts/AccountsManagementView.swift | 0 .../Accounts/AddAccountListView.swift | 0 .../Extensions/AddExtensionListView.swift | 0 .../Extensions/EnableExtensionPointView.swift | 0 .../Extensions/EnableExtensionViewModel.swift | 0 .../Extensions/ExtensionsManagementView.swift | 0 .../Appearance/ArticleThemeManagerView.swift | 140 ++++++++++++++++++ .../Appearance/ColorPaletteSelectorView.swift | 0 .../Appearance/DisplayAndBehaviorsView.swift | 0 .../Appearance/TimelineCustomizerView.swift | 0 .../{Views => }/General/SettingsRows.swift | 2 +- .../{Views => }/General/SettingsView.swift | 0 .../General/SettingsViewModel.swift | 0 iOS/Settings/{Views => }/Help/AboutView.swift | 0 .../{Views => }/Help/SettingsHelpSheets.swift | 0 .../NewArticleNotificationsView.swift | 0 29 files changed, 220 insertions(+), 39 deletions(-) create mode 100644 Shared/Importers/NNWThemeDocument.swift rename iOS/Account/{Views => }/CloudKitAddAccountView.swift (100%) rename iOS/Account/{Views => }/FeedbinAddAccountView.swift (100%) rename iOS/Account/{Views => }/LocalAddAccountView.swift (100%) rename iOS/Account/{Views => }/NewsBlurAddAccountView.swift (100%) rename iOS/Account/{Views => }/ReaderAPIAddAccountView.swift (100%) rename iOS/Inspector/{Views => }/AccountInspectorView.swift (100%) rename iOS/Inspector/{Views => }/ExtensionInspectorView.swift (90%) rename iOS/Inspector/{Views => }/WebFeedInspectorView.swift (100%) rename iOS/Settings/{Views => }/Account and Extensions/Accounts/AccountsManagementView.swift (100%) rename iOS/Settings/{Views => }/Account and Extensions/Accounts/AddAccountListView.swift (100%) rename iOS/Settings/{Views => }/Account and Extensions/Extensions/AddExtensionListView.swift (100%) rename iOS/Settings/{Views => }/Account and Extensions/Extensions/EnableExtensionPointView.swift (100%) rename iOS/Settings/{Views => }/Account and Extensions/Extensions/EnableExtensionViewModel.swift (100%) rename iOS/Settings/{Views => }/Account and Extensions/Extensions/ExtensionsManagementView.swift (100%) create mode 100644 iOS/Settings/Appearance/ArticleThemeManagerView.swift rename iOS/Settings/{Views => }/Appearance/ColorPaletteSelectorView.swift (100%) rename iOS/Settings/{Views => }/Appearance/DisplayAndBehaviorsView.swift (100%) rename iOS/Settings/{Views => }/Appearance/TimelineCustomizerView.swift (100%) rename iOS/Settings/{Views => }/General/SettingsRows.swift (98%) rename iOS/Settings/{Views => }/General/SettingsView.swift (100%) rename iOS/Settings/{Views => }/General/SettingsViewModel.swift (100%) rename iOS/Settings/{Views => }/Help/AboutView.swift (100%) rename iOS/Settings/{Views => }/Help/SettingsHelpSheets.swift (100%) rename iOS/Settings/{Views => }/New Article Notifications/NewArticleNotificationsView.swift (100%) diff --git a/NetNewsWire.xcodeproj/project.pbxproj b/NetNewsWire.xcodeproj/project.pbxproj index a33b9a761..0a932159a 100644 --- a/NetNewsWire.xcodeproj/project.pbxproj +++ b/NetNewsWire.xcodeproj/project.pbxproj @@ -871,6 +871,10 @@ DFB349A0294E87B700BC81AD /* LocalAddAccountView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFB3499F294E87B700BC81AD /* LocalAddAccountView.swift */; }; DFB349A2294E90B500BC81AD /* FeedbinAddAccountView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFB349A1294E90B500BC81AD /* FeedbinAddAccountView.swift */; }; DFB349A4294E914D00BC81AD /* AccountSectionHeader.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFB349A3294E914D00BC81AD /* AccountSectionHeader.swift */; }; + DFBB4EAC2951BC0200639228 /* NNWThemeDocument.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFBB4EAB2951BC0200639228 /* NNWThemeDocument.swift */; }; + DFBB4EAD2951BC0200639228 /* NNWThemeDocument.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFBB4EAB2951BC0200639228 /* NNWThemeDocument.swift */; }; + DFBB4EAE2951BC0200639228 /* NNWThemeDocument.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFBB4EAB2951BC0200639228 /* NNWThemeDocument.swift */; }; + DFBB4EB02951BCAC00639228 /* ArticleThemeManagerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFBB4EAF2951BCAC00639228 /* ArticleThemeManagerView.swift */; }; DFC14F0F28EA55BD00F6EE86 /* AboutWindowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFC14F0E28EA55BD00F6EE86 /* AboutWindowController.swift */; }; DFC14F1228EA5DC500F6EE86 /* AboutData.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF790D6128E990A900455FC7 /* AboutData.swift */; }; DFC14F1328EA677C00F6EE86 /* Bundle-Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51F85BF42273625800C787DC /* Bundle-Extensions.swift */; }; @@ -1633,6 +1637,8 @@ DFB3499F294E87B700BC81AD /* LocalAddAccountView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LocalAddAccountView.swift; sourceTree = ""; }; DFB349A1294E90B500BC81AD /* FeedbinAddAccountView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FeedbinAddAccountView.swift; sourceTree = ""; }; DFB349A3294E914D00BC81AD /* AccountSectionHeader.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountSectionHeader.swift; sourceTree = ""; }; + DFBB4EAB2951BC0200639228 /* NNWThemeDocument.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NNWThemeDocument.swift; sourceTree = ""; }; + DFBB4EAF2951BCAC00639228 /* ArticleThemeManagerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ArticleThemeManagerView.swift; sourceTree = ""; }; DFC14F0E28EA55BD00F6EE86 /* AboutWindowController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AboutWindowController.swift; sourceTree = ""; }; DFC14F1428EB177000F6EE86 /* AboutNetNewsWireView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AboutNetNewsWireView.swift; sourceTree = ""; }; DFC14F1628EB17A800F6EE86 /* CreditsNetNewsWireView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CreditsNetNewsWireView.swift; sourceTree = ""; }; @@ -1923,7 +1929,9 @@ 5123DB95233EC69300282CC9 /* Inspector */ = { isa = PBXGroup; children = ( - DFB3497D294B076C00BC81AD /* Views */, + DFB3497F294B085100BC81AD /* AccountInspectorView.swift */, + DFB34989294B45AC00BC81AD /* ExtensionInspectorView.swift */, + DFB3498B294B4CA700BC81AD /* WebFeedInspectorView.swift */, ); path = Inspector; sourceTree = ""; @@ -1993,7 +2001,11 @@ 516A093E236123A800EAE89B /* Account */ = { isa = PBXGroup; children = ( - DFB3498F294C0B0D00BC81AD /* Views */, + DFB3499F294E87B700BC81AD /* LocalAddAccountView.swift */, + DFB3499D294C5D5000BC81AD /* CloudKitAddAccountView.swift */, + DFB349A1294E90B500BC81AD /* FeedbinAddAccountView.swift */, + DF28B44E294ED92F00C4D8CA /* NewsBlurAddAccountView.swift */, + DFB34990294C0B2200BC81AD /* ReaderAPIAddAccountView.swift */, ); path = Account; sourceTree = ""; @@ -2023,7 +2035,11 @@ 5183CCEB227117C70010922C /* Settings */ = { isa = PBXGroup; children = ( - DFD406F8291FB5D500C02962 /* Views */, + DF766FEB2936344D006FBBE2 /* General */, + DFD406FD291FDBD900C02962 /* Appearance */, + DF59F0752920E42000ACD33D /* Account and Extensions */, + DF3630E92936038400326FB8 /* New Article Notifications */, + DF766FEA2936337A006FBBE2 /* Help */, 5137C2E926F63AE6009EFEDB /* ArticleThemeImporter.swift */, 510FFAB226EEA22C00F32265 /* ArticleThemesTableViewController.swift */, 51A16990235E10D600EB091F /* Settings.storyboard */, @@ -2786,6 +2802,7 @@ 849A97591ED9EB0D007D329B /* DefaultFeedsImporter.swift */, 84A3EE52223B667F00557320 /* DefaultFeeds.opml */, DF3630EA2936183D00326FB8 /* OPMLDocument.swift */, + DFBB4EAB2951BC0200639228 /* NNWThemeDocument.swift */, ); path = Importers; sourceTree = ""; @@ -2957,16 +2974,6 @@ path = Extensions; sourceTree = ""; }; - DFB3497D294B076C00BC81AD /* Views */ = { - isa = PBXGroup; - children = ( - DFB3497F294B085100BC81AD /* AccountInspectorView.swift */, - DFB34989294B45AC00BC81AD /* ExtensionInspectorView.swift */, - DFB3498B294B4CA700BC81AD /* WebFeedInspectorView.swift */, - ); - path = Views; - sourceTree = ""; - }; DFB3497E294B07D900BC81AD /* Views */ = { isa = PBXGroup; children = ( @@ -2999,18 +3006,6 @@ path = "SwiftUI Extensions"; sourceTree = ""; }; - DFB3498F294C0B0D00BC81AD /* Views */ = { - isa = PBXGroup; - children = ( - DFB3499F294E87B700BC81AD /* LocalAddAccountView.swift */, - DFB3499D294C5D5000BC81AD /* CloudKitAddAccountView.swift */, - DFB349A1294E90B500BC81AD /* FeedbinAddAccountView.swift */, - DF28B44E294ED92F00C4D8CA /* NewsBlurAddAccountView.swift */, - DFB34990294C0B2200BC81AD /* ReaderAPIAddAccountView.swift */, - ); - path = Views; - sourceTree = ""; - }; DFC14F0928EA51AB00F6EE86 /* About */ = { isa = PBXGroup; children = ( @@ -3021,24 +3016,13 @@ path = About; sourceTree = ""; }; - DFD406F8291FB5D500C02962 /* Views */ = { - isa = PBXGroup; - children = ( - DF766FEB2936344D006FBBE2 /* General */, - DFD406FD291FDBD900C02962 /* Appearance */, - DF59F0752920E42000ACD33D /* Account and Extensions */, - DF3630E92936038400326FB8 /* New Article Notifications */, - DF766FEA2936337A006FBBE2 /* Help */, - ); - path = Views; - sourceTree = ""; - }; DFD406FD291FDBD900C02962 /* Appearance */ = { isa = PBXGroup; children = ( DFD406FE291FDC0C00C02962 /* DisplayAndBehaviorsView.swift */, DF59F071292085B800ACD33D /* ColorPaletteSelectorView.swift */, DF84E562295122BA0045C334 /* TimelineCustomizerView.swift */, + DFBB4EAF2951BCAC00639228 /* ArticleThemeManagerView.swift */, ); path = Appearance; sourceTree = ""; @@ -4042,6 +4026,7 @@ 65ED3FD5235DEF6C0081F399 /* SmartFeed.swift in Sources */, 51333D1724685D2E00EB5C91 /* AddRedditFeedWindowController.swift in Sources */, 65ED3FD6235DEF6C0081F399 /* MarkStatusCommand.swift in Sources */, + DFBB4EAD2951BC0200639228 /* NNWThemeDocument.swift in Sources */, 5183CFB0254C78C8006B83A5 /* EnableExtensionPointView.swift in Sources */, 65ED3FD7235DEF6C0081F399 /* NSApplication+Scriptability.swift in Sources */, 65ED3FD8235DEF6C0081F399 /* NSView-Extensions.swift in Sources */, @@ -4211,6 +4196,7 @@ 518ED21D23D0F26000E0A862 /* UIViewController-Extensions.swift in Sources */, DFD406FF291FDC0C00C02962 /* DisplayAndBehaviorsView.swift in Sources */, 51A9A5F52380F6A60033AADF /* ModalNavigationController.swift in Sources */, + DFBB4EAE2951BC0200639228 /* NNWThemeDocument.swift in Sources */, 51EAED96231363EF00A9EEE3 /* NonIntrinsicButton.swift in Sources */, 51C4527B2265091600C03939 /* MasterUnreadIndicatorView.swift in Sources */, 5186A635235EF3A800C97195 /* VibrantLabel.swift in Sources */, @@ -4295,6 +4281,7 @@ 51E4398023805EBC00015C31 /* AddComboTableViewCell.swift in Sources */, 51C4529A22650A0400C03939 /* ArticleTheme.swift in Sources */, 51C4527F2265092C00C03939 /* ArticleViewController.swift in Sources */, + DFBB4EB02951BCAC00639228 /* ArticleThemeManagerView.swift in Sources */, 51C4526A226508F600C03939 /* MasterFeedTableViewCellLayout.swift in Sources */, 51C452AE2265104D00C03939 /* ArticleStringFormatter.swift in Sources */, 512E08E62268800D00BDCFDD /* FolderTreeControllerDelegate.swift in Sources */, @@ -4490,6 +4477,7 @@ 845A29241FC9255E007B49E3 /* SidebarCellAppearance.swift in Sources */, 515A5107243D0CCD0089E588 /* TwitterFeedProvider-Extensions.swift in Sources */, 845EE7B11FC2366500854A1F /* StarredFeedDelegate.swift in Sources */, + DFBB4EAC2951BC0200639228 /* NNWThemeDocument.swift in Sources */, DFC14F1228EA5DC500F6EE86 /* AboutData.swift in Sources */, 848F6AE51FC29CFB002D422E /* FaviconDownloader.swift in Sources */, 511B9806237DCAC90028BCAA /* UserInfoKey.swift in Sources */, diff --git a/Shared/ArticleStyles/ArticleThemesManager.swift b/Shared/ArticleStyles/ArticleThemesManager.swift index 8e7d53dbc..80b38d293 100644 --- a/Shared/ArticleStyles/ArticleThemesManager.swift +++ b/Shared/ArticleStyles/ArticleThemesManager.swift @@ -34,6 +34,7 @@ final class ArticleThemesManager: NSObject, NSFilePresenter, Logging, Observable do { currentTheme = try articleThemeWithThemeName(newValue) AppDefaults.shared.currentThemeName = newValue + objectWillChange.send() } catch { logger.error("Unable to set new theme: \(error.localizedDescription, privacy: .public)") } @@ -51,12 +52,14 @@ final class ArticleThemesManager: NSObject, NSFilePresenter, Logging, Observable }() { didSet { NotificationCenter.default.post(name: .CurrentArticleThemeDidChangeNotification, object: self) + objectWillChange.send() } } lazy var themeNames = { buildThemeNames() }() { didSet { NotificationCenter.default.post(name: .ArticleThemeNamesDidChangeNotification, object: self) + objectWillChange.send() } } @@ -102,6 +105,7 @@ final class ArticleThemesManager: NSObject, NSFilePresenter, Logging, Observable } try FileManager.default.copyItem(atPath: filename, toPath: toFilename) + objectWillChange.send() } func articleThemeWithThemeName(_ themeName: String) throws -> ArticleTheme { @@ -127,6 +131,7 @@ final class ArticleThemesManager: NSObject, NSFilePresenter, Logging, Observable func deleteTheme(themeName: String) { if let filename = pathForThemeName(themeName, folder: folderPath) { try? FileManager.default.removeItem(atPath: filename) + objectWillChange.send() } } diff --git a/Shared/Importers/NNWThemeDocument.swift b/Shared/Importers/NNWThemeDocument.swift new file mode 100644 index 000000000..63956a9fe --- /dev/null +++ b/Shared/Importers/NNWThemeDocument.swift @@ -0,0 +1,33 @@ +// +// NNWThemeDocument.swift +// NetNewsWire +// +// Created by Stuart Breckenridge on 20/12/2022. +// Copyright © 2022 Ranchero Software. All rights reserved. +// + +import SwiftUI +import Account +import UniformTypeIdentifiers + +public struct NNWThemeDocument: FileDocument { + + public static var readableContentTypes: [UTType] { + UTType.types(tag: "nnwtheme", tagClass: .filenameExtension, conformingTo: nil) + } + + public static var writableContentTypes: [UTType] { + UTType.types(tag: "nnwtheme", tagClass: .filenameExtension, conformingTo: nil) + } + + public init(configuration: ReadConfiguration) throws { + + } + + public func fileWrapper(configuration: WriteConfiguration) throws -> FileWrapper { + let wrapper = try FileWrapper(url: URL(string: "")!) + return wrapper + } + +} + diff --git a/Shared/Localizations/Buttons.strings b/Shared/Localizations/Buttons.strings index 07dd633d4..e4f9cf191 100644 --- a/Shared/Localizations/Buttons.strings +++ b/Shared/Localizations/Buttons.strings @@ -17,3 +17,5 @@ "ENABLE_EXTENSION_BUTTON_TITLE" = "Enable Extension"; "UPDATE_CREDENTIALS_BUTTON_TITLE" = "Update Credentials"; "USE_CLOUDKIT_BUTTON_TITLE" = "Use iCloud"; +"DELETE_THEME_BUTTON_TITLE" = "Delete Theme"; +"IMPORT_THEME_BUTTON_TITLE" = "Import Theme"; diff --git a/Shared/Localizations/Settings.strings b/Shared/Localizations/Settings.strings index 38435801a..243f0cf30 100644 --- a/Shared/Localizations/Settings.strings +++ b/Shared/Localizations/Settings.strings @@ -43,7 +43,15 @@ "TIMELINE_LAYOUT" = "Timeline Layout"; "ICON_SIZE" = "Icon Size"; "NUMBER_OF_LINES" = "Number of Lines"; +"INSTALLED_THEMES" = "Installed Themes"; +"ARTICLE_THEMES_TITLE" = "Article Themes"; "ARTICLE_THEME" = "Article Theme"; +"IMPORT_THEME_CONFIRMATION_TITLE" = "Import Theme"; +"IMPORT_THEME_CONFIRMATION_MESSAGE_%@_%@" = "Are you sure you want to import “%@” by %@?"; +"IMPORT_THEME_SUCCESS_TITLE" = "Import Successful"; +"IMPORT_THEME_SUCCESS_MESSAGE_%@" = "“%@” has been imported successfully."; +"DELETE_THEME_ALERT_TITLE_%@" = "Are you sure you want to delete “%@”?"; +"DELETE_THEME_ALERT_MESSAGE" = "Are you sure you want to delete this theme? This action is not reversible."; "CONFIRM_MARK_ALL_AS_READ" = "Confirm Mark All as Read"; "OPEN_LINKS_IN_APP" = "Open Links in NetNewsWire"; "SMALL_ICON_SIZE" = "Small"; diff --git a/iOS/Account/Views/CloudKitAddAccountView.swift b/iOS/Account/CloudKitAddAccountView.swift similarity index 100% rename from iOS/Account/Views/CloudKitAddAccountView.swift rename to iOS/Account/CloudKitAddAccountView.swift diff --git a/iOS/Account/Views/FeedbinAddAccountView.swift b/iOS/Account/FeedbinAddAccountView.swift similarity index 100% rename from iOS/Account/Views/FeedbinAddAccountView.swift rename to iOS/Account/FeedbinAddAccountView.swift diff --git a/iOS/Account/Views/LocalAddAccountView.swift b/iOS/Account/LocalAddAccountView.swift similarity index 100% rename from iOS/Account/Views/LocalAddAccountView.swift rename to iOS/Account/LocalAddAccountView.swift diff --git a/iOS/Account/Views/NewsBlurAddAccountView.swift b/iOS/Account/NewsBlurAddAccountView.swift similarity index 100% rename from iOS/Account/Views/NewsBlurAddAccountView.swift rename to iOS/Account/NewsBlurAddAccountView.swift diff --git a/iOS/Account/Views/ReaderAPIAddAccountView.swift b/iOS/Account/ReaderAPIAddAccountView.swift similarity index 100% rename from iOS/Account/Views/ReaderAPIAddAccountView.swift rename to iOS/Account/ReaderAPIAddAccountView.swift diff --git a/iOS/Inspector/Views/AccountInspectorView.swift b/iOS/Inspector/AccountInspectorView.swift similarity index 100% rename from iOS/Inspector/Views/AccountInspectorView.swift rename to iOS/Inspector/AccountInspectorView.swift diff --git a/iOS/Inspector/Views/ExtensionInspectorView.swift b/iOS/Inspector/ExtensionInspectorView.swift similarity index 90% rename from iOS/Inspector/Views/ExtensionInspectorView.swift rename to iOS/Inspector/ExtensionInspectorView.swift index b2ce94540..6a2785673 100644 --- a/iOS/Inspector/Views/ExtensionInspectorView.swift +++ b/iOS/Inspector/ExtensionInspectorView.swift @@ -17,7 +17,7 @@ struct ExtensionInspectorView: View { var body: some View { Form { Section(header: extensionHeader) {} - Section(footer: Text(extensionPoint?.description.string ?? ""), content: { + Section(footer: extensionExplainer, content: { // }) @@ -65,6 +65,11 @@ struct ExtensionInspectorView: View { Spacer() } } + + var extensionExplainer: some View { + Text(extensionPoint?.description.string ?? "") + .multilineTextAlignment(.center) + } } struct ExtensionInspectorView_Previews: PreviewProvider { diff --git a/iOS/Inspector/Views/WebFeedInspectorView.swift b/iOS/Inspector/WebFeedInspectorView.swift similarity index 100% rename from iOS/Inspector/Views/WebFeedInspectorView.swift rename to iOS/Inspector/WebFeedInspectorView.swift diff --git a/iOS/Settings/Views/Account and Extensions/Accounts/AccountsManagementView.swift b/iOS/Settings/Account and Extensions/Accounts/AccountsManagementView.swift similarity index 100% rename from iOS/Settings/Views/Account and Extensions/Accounts/AccountsManagementView.swift rename to iOS/Settings/Account and Extensions/Accounts/AccountsManagementView.swift diff --git a/iOS/Settings/Views/Account and Extensions/Accounts/AddAccountListView.swift b/iOS/Settings/Account and Extensions/Accounts/AddAccountListView.swift similarity index 100% rename from iOS/Settings/Views/Account and Extensions/Accounts/AddAccountListView.swift rename to iOS/Settings/Account and Extensions/Accounts/AddAccountListView.swift diff --git a/iOS/Settings/Views/Account and Extensions/Extensions/AddExtensionListView.swift b/iOS/Settings/Account and Extensions/Extensions/AddExtensionListView.swift similarity index 100% rename from iOS/Settings/Views/Account and Extensions/Extensions/AddExtensionListView.swift rename to iOS/Settings/Account and Extensions/Extensions/AddExtensionListView.swift diff --git a/iOS/Settings/Views/Account and Extensions/Extensions/EnableExtensionPointView.swift b/iOS/Settings/Account and Extensions/Extensions/EnableExtensionPointView.swift similarity index 100% rename from iOS/Settings/Views/Account and Extensions/Extensions/EnableExtensionPointView.swift rename to iOS/Settings/Account and Extensions/Extensions/EnableExtensionPointView.swift diff --git a/iOS/Settings/Views/Account and Extensions/Extensions/EnableExtensionViewModel.swift b/iOS/Settings/Account and Extensions/Extensions/EnableExtensionViewModel.swift similarity index 100% rename from iOS/Settings/Views/Account and Extensions/Extensions/EnableExtensionViewModel.swift rename to iOS/Settings/Account and Extensions/Extensions/EnableExtensionViewModel.swift diff --git a/iOS/Settings/Views/Account and Extensions/Extensions/ExtensionsManagementView.swift b/iOS/Settings/Account and Extensions/Extensions/ExtensionsManagementView.swift similarity index 100% rename from iOS/Settings/Views/Account and Extensions/Extensions/ExtensionsManagementView.swift rename to iOS/Settings/Account and Extensions/Extensions/ExtensionsManagementView.swift diff --git a/iOS/Settings/Appearance/ArticleThemeManagerView.swift b/iOS/Settings/Appearance/ArticleThemeManagerView.swift new file mode 100644 index 000000000..d8ac8fedb --- /dev/null +++ b/iOS/Settings/Appearance/ArticleThemeManagerView.swift @@ -0,0 +1,140 @@ +// +// ArticleThemeManagerView.swift +// NetNewsWire-iOS +// +// Created by Stuart Breckenridge on 20/12/2022. +// Copyright © 2022 Ranchero Software. All rights reserved. +// + +import SwiftUI + +struct ArticleThemeManagerView: View { + + @StateObject private var themeManager = ArticleThemesManager.shared + @State private var showDeleteConfirmation: (String, Bool) = ("", false) + @State private var showImportThemeView: Bool = false + @State private var showImportConfirmationAlert: (ArticleTheme?, Bool) = (nil, false) + @State private var showImportErrorAlert: (Error?, Bool) = (nil, false) + @State private var showImportSuccessAlert: Bool = false + + var body: some View { + Form { + Section(header: Text("INSTALLED_THEMES", tableName: "Settings")) { + articleThemeRow("Default") + ForEach(themeManager.themeNames, id: \.self) {theme in + articleThemeRow(theme) + } + } + } + .navigationTitle(Text("ARTICLE_THEMES_TITLE", tableName: "Settings")) + .toolbar { + ToolbarItem(placement: .navigationBarTrailing) { + Button { + showImportThemeView = true + } label: { + Label { + Text("IMPORT_THEME_BUTTON_TITLE", tableName: "Buttons") + } icon: { + Image(systemName: "plus") + } + } + } + } + .fileImporter(isPresented: $showImportThemeView, allowedContentTypes: NNWThemeDocument.readableContentTypes) { result in + switch result { + case .success(let success): + do { + let theme = try ArticleTheme(path: success.path, isAppTheme: true) + showImportConfirmationAlert = (theme, true) + } catch { + showImportErrorAlert = (error, true) + } + case .failure(let failure): + showImportErrorAlert = (failure, true) + } + } + .alert(Text("DELETE_THEME_ALERT_TITLE_\(showDeleteConfirmation.0)", tableName: "Settings"), isPresented: $showDeleteConfirmation.1, actions: { + Button(role: .destructive) { + ArticleThemesManager.shared.deleteTheme(themeName: showDeleteConfirmation.0) + } label: { + Text("DELETE_THEME_BUTTON_TITLE", tableName: "Buttons") + } + + Button(role: .cancel) { + + } label: { + Text("CANCEL_BUTTON_TITLE", tableName: "Buttons") + } + }, message: { + Text("DELETE_THEME_ALERT_MESSAGE", tableName: "Settings") + }) + .alert(Text("IMPORT_THEME_CONFIRMATION_TITLE", tableName: "Settings"), + isPresented: $showImportConfirmationAlert.1, + actions: { + Button { + do { + try ArticleThemesManager.shared.importTheme(filename: showImportConfirmationAlert.0!.path!) + showImportSuccessAlert = true + } catch { + showImportErrorAlert = (error, true) + } + + } label: { + Text("IMPORT_THEME_BUTTON_TITLE", tableName: "Buttons") + } + + Button(role: .cancel) { + + } label: { + Text("CANCEL_BUTTON_TITLE", tableName: "Buttons") + } + }, message: { + Text("IMPORT_THEME_CONFIRMATION_MESSAGE_\(showImportConfirmationAlert.0?.name ?? "")_\(showImportConfirmationAlert.0?.creatorName ?? "")", tableName: "Settings") + }) + .alert(Text("IMPORT_THEME_SUCCESS_TITLE", tableName: "Settings"), + isPresented: $showImportSuccessAlert, + actions: { + Button(role: .cancel) { + + } label: { + Text("DISMISS_BUTTON_TITLE", tableName: "Buttons") + } + }, message: { + Text("IMPORT_THEME_SUCCESS_MESSAGE_\(showImportConfirmationAlert.0?.name ?? "")", tableName: "Settings") + }) + } + + func articleThemeRow(_ theme: String) -> some View { + Button { + ArticleThemesManager.shared.currentThemeName = theme + } label: { + HStack { + Text(theme) + .foregroundColor(.primary) + Spacer() + if ArticleThemesManager.shared.currentThemeName == theme { + Image(systemName: "checkmark") + .foregroundColor(Color(uiColor: AppAssets.primaryAccentColor)) + } + } + } + .swipeActions(edge: .trailing, allowsFullSwipe: false) { + if theme == "Default" || ArticleThemesManager.shared.currentThemeName == theme { } + else { + Button { + showDeleteConfirmation = (theme, true) + } label: { + Text("DELETE_BUTTON_TITLE", tableName: "Buttons") + Image(systemName: "trash") + } + .tint(.red) + } + } + } +} + +struct ArticleThemeImporterView_Previews: PreviewProvider { + static var previews: some View { + ArticleThemeManagerView() + } +} diff --git a/iOS/Settings/Views/Appearance/ColorPaletteSelectorView.swift b/iOS/Settings/Appearance/ColorPaletteSelectorView.swift similarity index 100% rename from iOS/Settings/Views/Appearance/ColorPaletteSelectorView.swift rename to iOS/Settings/Appearance/ColorPaletteSelectorView.swift diff --git a/iOS/Settings/Views/Appearance/DisplayAndBehaviorsView.swift b/iOS/Settings/Appearance/DisplayAndBehaviorsView.swift similarity index 100% rename from iOS/Settings/Views/Appearance/DisplayAndBehaviorsView.swift rename to iOS/Settings/Appearance/DisplayAndBehaviorsView.swift diff --git a/iOS/Settings/Views/Appearance/TimelineCustomizerView.swift b/iOS/Settings/Appearance/TimelineCustomizerView.swift similarity index 100% rename from iOS/Settings/Views/Appearance/TimelineCustomizerView.swift rename to iOS/Settings/Appearance/TimelineCustomizerView.swift diff --git a/iOS/Settings/Views/General/SettingsRows.swift b/iOS/Settings/General/SettingsRows.swift similarity index 98% rename from iOS/Settings/Views/General/SettingsRows.swift rename to iOS/Settings/General/SettingsRows.swift index ef2c306f3..4ca8b7c40 100644 --- a/iOS/Settings/Views/General/SettingsRows.swift +++ b/iOS/Settings/General/SettingsRows.swift @@ -154,7 +154,7 @@ struct SettingsViewRows { /// This row, when tapped, will push the the Theme Selector screen /// in to view. static var themeSelection: some View { - NavigationLink(destination: ArticleThemesWrapper().edgesIgnoringSafeArea(.all)) { + NavigationLink(destination: ArticleThemeManagerView()) { HStack { Text("ARTICLE_THEME", tableName: "Settings") Spacer() diff --git a/iOS/Settings/Views/General/SettingsView.swift b/iOS/Settings/General/SettingsView.swift similarity index 100% rename from iOS/Settings/Views/General/SettingsView.swift rename to iOS/Settings/General/SettingsView.swift diff --git a/iOS/Settings/Views/General/SettingsViewModel.swift b/iOS/Settings/General/SettingsViewModel.swift similarity index 100% rename from iOS/Settings/Views/General/SettingsViewModel.swift rename to iOS/Settings/General/SettingsViewModel.swift diff --git a/iOS/Settings/Views/Help/AboutView.swift b/iOS/Settings/Help/AboutView.swift similarity index 100% rename from iOS/Settings/Views/Help/AboutView.swift rename to iOS/Settings/Help/AboutView.swift diff --git a/iOS/Settings/Views/Help/SettingsHelpSheets.swift b/iOS/Settings/Help/SettingsHelpSheets.swift similarity index 100% rename from iOS/Settings/Views/Help/SettingsHelpSheets.swift rename to iOS/Settings/Help/SettingsHelpSheets.swift diff --git a/iOS/Settings/Views/New Article Notifications/NewArticleNotificationsView.swift b/iOS/Settings/New Article Notifications/NewArticleNotificationsView.swift similarity index 100% rename from iOS/Settings/Views/New Article Notifications/NewArticleNotificationsView.swift rename to iOS/Settings/New Article Notifications/NewArticleNotificationsView.swift From fe5a7d185ba0b84a1d19ba2f7c80651252803c35 Mon Sep 17 00:00:00 2001 From: Stuart Breckenridge Date: Tue, 20 Dec 2022 22:04:04 +0800 Subject: [PATCH 43/80] Tidy up on the themes view --- NetNewsWire.xcodeproj/project.pbxproj | 20 - .../ArticleStyles/ArticleThemesManager.swift | 9 +- Shared/Localizations/Buttons.strings | 1 + Shared/Localizations/Errors.strings | 1 + .../LocalizedNetNewsWireError.swift | 4 + Shared/Localizations/Settings.strings | 4 +- Shared/Resources/NewsFax.nnwtheme/Info.plist | 4 +- .../Resources/Promenade.nnwtheme/Info.plist | 4 +- .../Appearance/ArticleThemeManagerView.swift | 76 +- .../ArticleThemesTableViewController.swift | 150 -- iOS/Settings/Settings.storyboard | 1347 ----------------- iOS/Settings/SettingsComboTableViewCell.swift | 30 - iOS/Settings/SettingsComboTableViewCell.xib | 48 - iOS/Settings/SettingsTableViewCell.xib | 21 - 14 files changed, 77 insertions(+), 1642 deletions(-) delete mode 100644 iOS/Settings/ArticleThemesTableViewController.swift delete mode 100644 iOS/Settings/Settings.storyboard delete mode 100644 iOS/Settings/SettingsComboTableViewCell.swift delete mode 100644 iOS/Settings/SettingsComboTableViewCell.xib delete mode 100644 iOS/Settings/SettingsTableViewCell.xib diff --git a/NetNewsWire.xcodeproj/project.pbxproj b/NetNewsWire.xcodeproj/project.pbxproj index 0a932159a..c03c7b408 100644 --- a/NetNewsWire.xcodeproj/project.pbxproj +++ b/NetNewsWire.xcodeproj/project.pbxproj @@ -96,7 +96,6 @@ 510C418624E5D1B4008226FD /* ExtensionFeedAddRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51B5C87A23F2317700032075 /* ExtensionFeedAddRequest.swift */; }; 510C43F7243D035C009F70C3 /* ExtensionPoint.swift in Sources */ = {isa = PBXBuildFile; fileRef = 510C43F6243D035C009F70C3 /* ExtensionPoint.swift */; }; 510C43F8243D035C009F70C3 /* ExtensionPoint.swift in Sources */ = {isa = PBXBuildFile; fileRef = 510C43F6243D035C009F70C3 /* ExtensionPoint.swift */; }; - 510FFAB326EEA22C00F32265 /* ArticleThemesTableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 510FFAB226EEA22C00F32265 /* ArticleThemesTableViewController.swift */; }; 51102165233A7D6C0007A5F7 /* ArticleExtractorButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51102164233A7D6C0007A5F7 /* ArticleExtractorButton.swift */; }; 51107746243BEE2500D97C8C /* ExtensionPointPreferencesViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51107745243BEE2500D97C8C /* ExtensionPointPreferencesViewController.swift */; }; 51107747243BEE2500D97C8C /* ExtensionPointPreferencesViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51107745243BEE2500D97C8C /* ExtensionPointPreferencesViewController.swift */; }; @@ -232,7 +231,6 @@ 51627A6723861DA3007B3B4B /* MasterFeedViewController+Drag.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51627A6623861DA3007B3B4B /* MasterFeedViewController+Drag.swift */; }; 51627A6923861DED007B3B4B /* MasterFeedViewController+Drop.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51627A6823861DED007B3B4B /* MasterFeedViewController+Drop.swift */; }; 51627A93238A3836007B3B4B /* CroppingPreviewParameters.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51627A92238A3836007B3B4B /* CroppingPreviewParameters.swift */; }; - 516A093B2360A4A000EAE89B /* SettingsTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 516A093A2360A4A000EAE89B /* SettingsTableViewCell.xib */; }; 516AE9B32371C372007DEEAA /* MasterFeedTableViewSectionHeaderLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 516AE9B22371C372007DEEAA /* MasterFeedTableViewSectionHeaderLayout.swift */; }; 516AE9DF2372269A007DEEAA /* IconImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 516AE9DE2372269A007DEEAA /* IconImage.swift */; }; 516AE9E02372269A007DEEAA /* IconImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 516AE9DE2372269A007DEEAA /* IconImage.swift */; }; @@ -280,7 +278,6 @@ 519E743D22C663F900A78E47 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 519E743422C663F900A78E47 /* SceneDelegate.swift */; }; 51A052CE244FB9D7006C2024 /* AddFeedWIndowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51A052CD244FB9D6006C2024 /* AddFeedWIndowController.swift */; }; 51A052CF244FB9D7006C2024 /* AddFeedWIndowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51A052CD244FB9D6006C2024 /* AddFeedWIndowController.swift */; }; - 51A1699A235E10D700EB091F /* Settings.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 51A16990235E10D600EB091F /* Settings.storyboard */; }; 51A66685238075AE00CB272D /* AddWebFeedDefaultContainer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51A66684238075AE00CB272D /* AddWebFeedDefaultContainer.swift */; }; 51A737AE24DB19730015FA66 /* RSCore in Frameworks */ = {isa = PBXBuildFile; productRef = 51A737AD24DB19730015FA66 /* RSCore */; }; 51A737AF24DB19730015FA66 /* RSCore in Embed Frameworks */ = {isa = PBXBuildFile; productRef = 51A737AD24DB19730015FA66 /* RSCore */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; @@ -839,8 +836,6 @@ DF28B453294FE6C600C4D8CA /* EnableExtensionPointView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF28B452294FE6C600C4D8CA /* EnableExtensionPointView.swift */; }; DF28B455294FE74A00C4D8CA /* ExtensionSectionHeader.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF28B454294FE74A00C4D8CA /* ExtensionSectionHeader.swift */; }; DF28B4572950163F00C4D8CA /* EnableExtensionViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF28B4562950163F00C4D8CA /* EnableExtensionViewModel.swift */; }; - DF32ABE829493193008E3A12 /* SettingsComboTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF32ABE629493192008E3A12 /* SettingsComboTableViewCell.swift */; }; - DF32ABE929493193008E3A12 /* SettingsComboTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = DF32ABE729493193008E3A12 /* SettingsComboTableViewCell.xib */; }; DF32ABEB29494CF1008E3A12 /* Settings.strings in Resources */ = {isa = PBXBuildFile; fileRef = DF32ABEA29494CF0008E3A12 /* Settings.strings */; }; DF3630EB2936183D00326FB8 /* OPMLDocument.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF3630EA2936183D00326FB8 /* OPMLDocument.swift */; }; DF3630EC2936183D00326FB8 /* OPMLDocument.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF3630EA2936183D00326FB8 /* OPMLDocument.swift */; }; @@ -1210,7 +1205,6 @@ 510C416624E5CDE3008226FD /* ShareExtension.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = ShareExtension.entitlements; sourceTree = ""; }; 510C418724E5D2E3008226FD /* NetNewsWire_shareextension_target.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = NetNewsWire_shareextension_target.xcconfig; sourceTree = ""; }; 510C43F6243D035C009F70C3 /* ExtensionPoint.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ExtensionPoint.swift; sourceTree = ""; }; - 510FFAB226EEA22C00F32265 /* ArticleThemesTableViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ArticleThemesTableViewController.swift; sourceTree = ""; }; 51102164233A7D6C0007A5F7 /* ArticleExtractorButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ArticleExtractorButton.swift; sourceTree = ""; }; 51107745243BEE2500D97C8C /* ExtensionPointPreferencesViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ExtensionPointPreferencesViewController.swift; sourceTree = ""; }; 51121AA12265430A00BC0EC1 /* NetNewsWire_iOSapp_target.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = NetNewsWire_iOSapp_target.xcconfig; sourceTree = ""; }; @@ -1273,7 +1267,6 @@ 51627A6623861DA3007B3B4B /* MasterFeedViewController+Drag.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "MasterFeedViewController+Drag.swift"; sourceTree = ""; }; 51627A6823861DED007B3B4B /* MasterFeedViewController+Drop.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "MasterFeedViewController+Drop.swift"; sourceTree = ""; }; 51627A92238A3836007B3B4B /* CroppingPreviewParameters.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CroppingPreviewParameters.swift; sourceTree = ""; }; - 516A093A2360A4A000EAE89B /* SettingsTableViewCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = SettingsTableViewCell.xib; sourceTree = ""; }; 516AE5FF246AF34100731738 /* RedditAdd.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = RedditAdd.storyboard; sourceTree = ""; }; 516AE601246AF36100731738 /* RedditSelectTypeTableViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RedditSelectTypeTableViewController.swift; sourceTree = ""; }; 516AE603246AF37B00731738 /* RedditSelectAccountTableViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RedditSelectAccountTableViewController.swift; sourceTree = ""; }; @@ -1308,7 +1301,6 @@ 519B8D322143397200FA689C /* SharingServiceDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SharingServiceDelegate.swift; sourceTree = ""; }; 519E743422C663F900A78E47 /* SceneDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = ""; }; 51A052CD244FB9D6006C2024 /* AddFeedWIndowController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = AddFeedWIndowController.swift; path = AddFeed/AddFeedWIndowController.swift; sourceTree = ""; }; - 51A16990235E10D600EB091F /* Settings.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = Settings.storyboard; sourceTree = ""; }; 51A66684238075AE00CB272D /* AddWebFeedDefaultContainer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddWebFeedDefaultContainer.swift; sourceTree = ""; }; 51A9A5E32380C8870033AADF /* ShareFolderPickerAccountCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = ShareFolderPickerAccountCell.xib; sourceTree = ""; }; 51A9A5E52380C8B20033AADF /* ShareFolderPickerFolderCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = ShareFolderPickerFolderCell.xib; sourceTree = ""; }; @@ -1610,8 +1602,6 @@ DF28B452294FE6C600C4D8CA /* EnableExtensionPointView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EnableExtensionPointView.swift; sourceTree = ""; }; DF28B454294FE74A00C4D8CA /* ExtensionSectionHeader.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ExtensionSectionHeader.swift; sourceTree = ""; }; DF28B4562950163F00C4D8CA /* EnableExtensionViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EnableExtensionViewModel.swift; sourceTree = ""; }; - DF32ABE629493192008E3A12 /* SettingsComboTableViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SettingsComboTableViewCell.swift; sourceTree = ""; }; - DF32ABE729493193008E3A12 /* SettingsComboTableViewCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = SettingsComboTableViewCell.xib; sourceTree = ""; }; DF32ABEA29494CF0008E3A12 /* Settings.strings */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; path = Settings.strings; sourceTree = ""; }; DF3630EA2936183D00326FB8 /* OPMLDocument.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OPMLDocument.swift; sourceTree = ""; }; DF3630EE293618A900326FB8 /* SettingsViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsViewModel.swift; sourceTree = ""; }; @@ -2041,11 +2031,6 @@ DF3630E92936038400326FB8 /* New Article Notifications */, DF766FEA2936337A006FBBE2 /* Help */, 5137C2E926F63AE6009EFEDB /* ArticleThemeImporter.swift */, - 510FFAB226EEA22C00F32265 /* ArticleThemesTableViewController.swift */, - 51A16990235E10D600EB091F /* Settings.storyboard */, - DF32ABE629493192008E3A12 /* SettingsComboTableViewCell.swift */, - DF32ABE729493193008E3A12 /* SettingsComboTableViewCell.xib */, - 516A093A2360A4A000EAE89B /* SettingsTableViewCell.xib */, ); path = Settings; sourceTree = ""; @@ -3604,14 +3589,12 @@ DFB3499A294C4F1D00BC81AD /* Errors.strings in Resources */, 51D0214826ED617100FF2E0F /* core.css in Resources */, 84C9FCA42262A1B800D921D6 /* LaunchScreenPhone.storyboard in Resources */, - 516A093B2360A4A000EAE89B /* SettingsTableViewCell.xib in Resources */, 511D43D1231FA62800FB1562 /* SidebarKeyboardShortcuts.plist in Resources */, 51C452AB22650DC600C03939 /* template.html in Resources */, 84A3EE61223B667F00557320 /* DefaultFeeds.opml in Resources */, B27EEBFB244D15F3000932E6 /* stylesheet.css in Resources */, DFB34984294B3AFF00BC81AD /* Buttons.strings in Resources */, 511D43CF231FA62200FB1562 /* DetailKeyboardShortcuts.plist in Resources */, - 51A1699A235E10D700EB091F /* Settings.storyboard in Resources */, 49F40DF92335B71000552BF4 /* newsfoot.js in Resources */, 512392C024E33A3C00F11704 /* RedditAdd.storyboard in Resources */, 5177C21327B07CFE00643901 /* NewsFax.nnwtheme in Resources */, @@ -3620,7 +3603,6 @@ DFCE4F9528EF278300405869 /* Thanks.md in Resources */, 51DEE81426FB9233006DAA56 /* Appanoose.nnwtheme in Resources */, 51E36E8C239D6765006F47A5 /* AddFeedSelectFolderTableViewCell.xib in Resources */, - DF32ABE929493193008E3A12 /* SettingsComboTableViewCell.xib in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -4200,7 +4182,6 @@ 51EAED96231363EF00A9EEE3 /* NonIntrinsicButton.swift in Sources */, 51C4527B2265091600C03939 /* MasterUnreadIndicatorView.swift in Sources */, 5186A635235EF3A800C97195 /* VibrantLabel.swift in Sources */, - DF32ABE829493193008E3A12 /* SettingsComboTableViewCell.swift in Sources */, 51F85BF92274AA7B00C787DC /* UIBarButtonItem-Extensions.swift in Sources */, 51B62E68233186730085F949 /* IconView.swift in Sources */, 179D280D26F73D83003B2E0A /* ArticleThemePlist.swift in Sources */, @@ -4371,7 +4352,6 @@ 51627A6723861DA3007B3B4B /* MasterFeedViewController+Drag.swift in Sources */, 51FFF0C4235EE8E5002762AA /* VibrantButton.swift in Sources */, 51C45259226508D300C03939 /* AppDefaults.swift in Sources */, - 510FFAB326EEA22C00F32265 /* ArticleThemesTableViewController.swift in Sources */, 511D4419231FC02D00FB1562 /* KeyboardManager.swift in Sources */, 51C45293226509C800C03939 /* StarredFeedDelegate.swift in Sources */, 51D6A5BC23199C85001C27D8 /* MasterTimelineDataSource.swift in Sources */, diff --git a/Shared/ArticleStyles/ArticleThemesManager.swift b/Shared/ArticleStyles/ArticleThemesManager.swift index 80b38d293..8692047ad 100644 --- a/Shared/ArticleStyles/ArticleThemesManager.swift +++ b/Shared/ArticleStyles/ArticleThemesManager.swift @@ -93,6 +93,7 @@ final class ArticleThemesManager: NSObject, NSFilePresenter, Logging, Observable func themeExists(filename: String) -> Bool { let filenameLastPathComponent = (filename as NSString).lastPathComponent let toFilename = (folderPath as NSString).appendingPathComponent(filenameLastPathComponent) + logger.debug("\(filenameLastPathComponent), \(toFilename)") return FileManager.default.fileExists(atPath: toFilename) } @@ -130,8 +131,12 @@ final class ArticleThemesManager: NSObject, NSFilePresenter, Logging, Observable func deleteTheme(themeName: String) { if let filename = pathForThemeName(themeName, folder: folderPath) { - try? FileManager.default.removeItem(atPath: filename) - objectWillChange.send() + do { + try FileManager.default.removeItem(atPath: filename) + } catch { + logger.error("\(error.localizedDescription)") + } + } } diff --git a/Shared/Localizations/Buttons.strings b/Shared/Localizations/Buttons.strings index e4f9cf191..27b69d9fa 100644 --- a/Shared/Localizations/Buttons.strings +++ b/Shared/Localizations/Buttons.strings @@ -19,3 +19,4 @@ "USE_CLOUDKIT_BUTTON_TITLE" = "Use iCloud"; "DELETE_THEME_BUTTON_TITLE" = "Delete Theme"; "IMPORT_THEME_BUTTON_TITLE" = "Import Theme"; +"IMPORT_AND_OVERWRITE_THEME_BUTTON_TITLE" = "Overwrite Existing Theme"; diff --git a/Shared/Localizations/Errors.strings b/Shared/Localizations/Errors.strings index 9a0312549..40d454828 100644 --- a/Shared/Localizations/Errors.strings +++ b/Shared/Localizations/Errors.strings @@ -12,3 +12,4 @@ "USERNAME_AND_PASSWORD_REQUIRED" = "Username and password required."; "INVALID_USERNAME_PASSWORD" = "Invalid email or password combination."; "KEYCHAIN_ERROR" = "Keychain error while storing credentials."; +"DUPLICATE_DEFAULT_THEME" = "You cannot import a theme that shares the same name as a provided theme."; diff --git a/Shared/Localizations/LocalizedNetNewsWireError.swift b/Shared/Localizations/LocalizedNetNewsWireError.swift index c67974f50..18a03ab34 100644 --- a/Shared/Localizations/LocalizedNetNewsWireError.swift +++ b/Shared/Localizations/LocalizedNetNewsWireError.swift @@ -24,6 +24,8 @@ public enum LocalizedNetNewsWireError: LocalizedError { case invalidUsernameOrPassword case keychainError + + case duplicateDefaultTheme public var errorDescription: String? { switch self { @@ -37,6 +39,8 @@ public enum LocalizedNetNewsWireError: LocalizedError { return Bundle.main.localizedString(forKey: "INVALID_USERNAME_PASSWORD", value: nil, table: "Errors") case .keychainError: return Bundle.main.localizedString(forKey: "KEYCHAIN_ERROR", value: nil, table: "Errors") + case .duplicateDefaultTheme: + return Bundle.main.localizedString(forKey: "DUPLICATE_DEFAULT_THEME", value: nil, table: "Errors") } } } diff --git a/Shared/Localizations/Settings.strings b/Shared/Localizations/Settings.strings index 243f0cf30..03978d47e 100644 --- a/Shared/Localizations/Settings.strings +++ b/Shared/Localizations/Settings.strings @@ -46,10 +46,12 @@ "INSTALLED_THEMES" = "Installed Themes"; "ARTICLE_THEMES_TITLE" = "Article Themes"; "ARTICLE_THEME" = "Article Theme"; +"ARTICLE_THEME_CREATOR_%@" = "by %@"; "IMPORT_THEME_CONFIRMATION_TITLE" = "Import Theme"; "IMPORT_THEME_CONFIRMATION_MESSAGE_%@_%@" = "Are you sure you want to import “%@” by %@?"; +"IMPORT_AND_OVERWRITE_THEME_CONFIRMATION_MESSAGE_%@" = "The theme “%@” already exists. Do you want to overwrite it?"; "IMPORT_THEME_SUCCESS_TITLE" = "Import Successful"; -"IMPORT_THEME_SUCCESS_MESSAGE_%@" = "“%@” has been imported successfully."; +"IMPORT_THEME_SUCCESS_MESSAGE_%@" = "The theme “%@” has been imported."; "DELETE_THEME_ALERT_TITLE_%@" = "Are you sure you want to delete “%@”?"; "DELETE_THEME_ALERT_MESSAGE" = "Are you sure you want to delete this theme? This action is not reversible."; "CONFIRM_MARK_ALL_AS_READ" = "Confirm Mark All as Read"; diff --git a/Shared/Resources/NewsFax.nnwtheme/Info.plist b/Shared/Resources/NewsFax.nnwtheme/Info.plist index 68e2fb253..39ec987b7 100644 --- a/Shared/Resources/NewsFax.nnwtheme/Info.plist +++ b/Shared/Resources/NewsFax.nnwtheme/Info.plist @@ -7,9 +7,9 @@ ThemeIdentifier com.mynameisstuart.themes.newsfax CreatorHomePage - https://mynameisstuart.com/ + https://stuartbreckenridge.net/ CreatorName - Stuart Breckenridge + Ranchero Software Version 3 diff --git a/Shared/Resources/Promenade.nnwtheme/Info.plist b/Shared/Resources/Promenade.nnwtheme/Info.plist index 24ec5ca47..8baa4f763 100644 --- a/Shared/Resources/Promenade.nnwtheme/Info.plist +++ b/Shared/Resources/Promenade.nnwtheme/Info.plist @@ -7,9 +7,9 @@ ThemeIdentifier com.mynameisstuart.themes.promenade CreatorHomePage - https://mynameisstuart.com/ + https://stuartbreckenridge.net/ CreatorName - Stuart Breckenridge + Ranchero Software Version 14 diff --git a/iOS/Settings/Appearance/ArticleThemeManagerView.swift b/iOS/Settings/Appearance/ArticleThemeManagerView.swift index d8ac8fedb..566f012a0 100644 --- a/iOS/Settings/Appearance/ArticleThemeManagerView.swift +++ b/iOS/Settings/Appearance/ArticleThemeManagerView.swift @@ -44,7 +44,7 @@ struct ArticleThemeManagerView: View { switch result { case .success(let success): do { - let theme = try ArticleTheme(path: success.path, isAppTheme: true) + let theme = try ArticleTheme(path: success.path, isAppTheme: false) showImportConfirmationAlert = (theme, true) } catch { showImportErrorAlert = (error, true) @@ -55,7 +55,7 @@ struct ArticleThemeManagerView: View { } .alert(Text("DELETE_THEME_ALERT_TITLE_\(showDeleteConfirmation.0)", tableName: "Settings"), isPresented: $showDeleteConfirmation.1, actions: { Button(role: .destructive) { - ArticleThemesManager.shared.deleteTheme(themeName: showDeleteConfirmation.0) + themeManager.deleteTheme(themeName: showDeleteConfirmation.0) } label: { Text("DELETE_THEME_BUTTON_TITLE", tableName: "Buttons") } @@ -73,14 +73,27 @@ struct ArticleThemeManagerView: View { actions: { Button { do { - try ArticleThemesManager.shared.importTheme(filename: showImportConfirmationAlert.0!.path!) - showImportSuccessAlert = true + if themeManager.themeExists(filename: showImportConfirmationAlert.0!.path!) { + if try! themeManager.articleThemeWithThemeName(showImportConfirmationAlert.0!.name).isAppTheme { + showImportErrorAlert = (LocalizedNetNewsWireError.duplicateDefaultTheme, true) + } else { + try themeManager.importTheme(filename: showImportConfirmationAlert.0!.path!) + showImportSuccessAlert = true + } + } else { + try themeManager.importTheme(filename: showImportConfirmationAlert.0!.path!) + showImportSuccessAlert = true + } } catch { showImportErrorAlert = (error, true) } - } label: { - Text("IMPORT_THEME_BUTTON_TITLE", tableName: "Buttons") + let exists = themeManager.themeExists(filename: showImportConfirmationAlert.0?.path ?? "") + if exists == true { + Text("IMPORT_AND_OVERWRITE_THEME_BUTTON_TITLE", tableName: "Buttons") + } else { + Text("IMPORT_THEME_BUTTON_TITLE", tableName: "Buttons") + } } Button(role: .cancel) { @@ -89,7 +102,12 @@ struct ArticleThemeManagerView: View { Text("CANCEL_BUTTON_TITLE", tableName: "Buttons") } }, message: { - Text("IMPORT_THEME_CONFIRMATION_MESSAGE_\(showImportConfirmationAlert.0?.name ?? "")_\(showImportConfirmationAlert.0?.creatorName ?? "")", tableName: "Settings") + let exists = themeManager.themeExists(filename: showImportConfirmationAlert.0?.path ?? "") + if exists { + Text("IMPORT_AND_OVERWRITE_THEME_CONFIRMATION_MESSAGE_\(showImportConfirmationAlert.0?.name ?? "")", tableName: "Settings") + } else { + Text("IMPORT_THEME_CONFIRMATION_MESSAGE_\(showImportConfirmationAlert.0?.name ?? "")_\(showImportConfirmationAlert.0?.creatorName ?? "")", tableName: "Settings") + } }) .alert(Text("IMPORT_THEME_SUCCESS_TITLE", tableName: "Settings"), isPresented: $showImportSuccessAlert, @@ -102,32 +120,52 @@ struct ArticleThemeManagerView: View { }, message: { Text("IMPORT_THEME_SUCCESS_MESSAGE_\(showImportConfirmationAlert.0?.name ?? "")", tableName: "Settings") }) + .alert(Text("ERROR_TITLE", tableName: "Errors"), + isPresented: $showImportErrorAlert.1, + actions: { + Button(role: .cancel) { + + } label: { + Text("DISMISS_BUTTON_TITLE", tableName: "Buttons") + } + }, message: { + Text("\(showImportErrorAlert.0?.localizedDescription ?? "")") + }) } func articleThemeRow(_ theme: String) -> some View { Button { - ArticleThemesManager.shared.currentThemeName = theme + themeManager.currentThemeName = theme } label: { HStack { - Text(theme) - .foregroundColor(.primary) + VStack(alignment: .leading) { + Text(theme) + .foregroundColor(.primary) + if let articleTheme = try? themeManager.articleThemeWithThemeName(theme) { + Text("ARTICLE_THEME_CREATOR_\(articleTheme.creatorName)", tableName: "Settings") + .font(.caption) + .foregroundColor(.secondary) + } + } Spacer() - if ArticleThemesManager.shared.currentThemeName == theme { + if themeManager.currentThemeName == theme { Image(systemName: "checkmark") .foregroundColor(Color(uiColor: AppAssets.primaryAccentColor)) } } } .swipeActions(edge: .trailing, allowsFullSwipe: false) { - if theme == "Default" || ArticleThemesManager.shared.currentThemeName == theme { } - else { - Button { - showDeleteConfirmation = (theme, true) - } label: { - Text("DELETE_BUTTON_TITLE", tableName: "Buttons") - Image(systemName: "trash") + if theme == themeManager.currentThemeName { } + if let currentTheme = try? themeManager.articleThemeWithThemeName(theme) { + if currentTheme.isAppTheme { } else { + Button { + showDeleteConfirmation = (theme, true) + } label: { + Text("DELETE_BUTTON_TITLE", tableName: "Buttons") + Image(systemName: "trash") + } + .tint(.red) } - .tint(.red) } } } diff --git a/iOS/Settings/ArticleThemesTableViewController.swift b/iOS/Settings/ArticleThemesTableViewController.swift deleted file mode 100644 index 85bd60806..000000000 --- a/iOS/Settings/ArticleThemesTableViewController.swift +++ /dev/null @@ -1,150 +0,0 @@ -// -// ArticleThemesTableViewController.swift -// NetNewsWire-iOS -// -// Created by Maurice Parker on 9/12/21. -// Copyright © 2021 Ranchero Software. All rights reserved. -// - -import Foundation -import UniformTypeIdentifiers -import RSCore -import UIKit -import SwiftUI - -struct ArticleThemesWrapper: UIViewControllerRepresentable { - func makeUIViewController(context: Context) -> ArticleThemesTableViewController { - let storyboard = UIStoryboard(name: "Settings", bundle: .main) - let controller = storyboard.instantiateViewController(withIdentifier: "ArticleThemesTableViewController") as! ArticleThemesTableViewController - - context.coordinator.parentObserver = controller.observe(\.parent, changeHandler: { vc, _ in - vc.parent?.title = vc.title - vc.parent?.navigationItem.rightBarButtonItems = vc.navigationItem.rightBarButtonItems - }) - - return controller - } - - func updateUIViewController(_ uiViewController: ArticleThemesTableViewController, context: Context) { - // - } - - typealias UIViewControllerType = ArticleThemesTableViewController - - class Coordinator { - var parentObserver: NSKeyValueObservation? - } - - func makeCoordinator() -> Self.Coordinator { Coordinator() } - -} - - - -class ArticleThemesTableViewController: UITableViewController, Logging { - - override func viewDidLoad() { - let importBarButtonItem = UIBarButtonItem(barButtonSystemItem: .add, target: self, action: #selector(importTheme(_:))); - importBarButtonItem.title = NSLocalizedString("Import Theme", comment: "Import Theme"); - navigationItem.rightBarButtonItem = importBarButtonItem - - NotificationCenter.default.addObserver(self, selector: #selector(articleThemeNamesDidChangeNotification(_:)), name: .ArticleThemeNamesDidChangeNotification, object: nil) - } - - // MARK: Notifications - - @objc func articleThemeNamesDidChangeNotification(_ note: Notification) { - tableView.reloadData() - } - - @objc func importTheme(_ sender: Any?) { - let docPicker = UIDocumentPickerViewController(forOpeningContentTypes: [.nnwTheme], asCopy: true) - docPicker.delegate = self - docPicker.modalPresentationStyle = .formSheet - self.present(docPicker, animated: true) - } - - // MARK: - Table view data source - - override func numberOfSections(in tableView: UITableView) -> Int { - return 1 - } - - override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { - return ArticleThemesManager.shared.themeNames.count + 1 - } - - override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { - let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) - - let themeName: String - if indexPath.row == 0 { - themeName = ArticleTheme.defaultTheme.name - } else { - themeName = ArticleThemesManager.shared.themeNames[indexPath.row - 1] - } - - cell.textLabel?.text = themeName - if themeName == ArticleThemesManager.shared.currentTheme.name { - cell.accessoryType = .checkmark - } else { - cell.accessoryType = .none - } - - return cell - } - - override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { - guard let cell = tableView.cellForRow(at: indexPath), let themeName = cell.textLabel?.text else { return } - ArticleThemesManager.shared.currentThemeName = themeName - navigationController?.popViewController(animated: true) - } - - override func tableView(_ tableView: UITableView, trailingSwipeActionsConfigurationForRowAt indexPath: IndexPath) -> UISwipeActionsConfiguration? { - guard let cell = tableView.cellForRow(at: indexPath), - let themeName = cell.textLabel?.text else { return nil } - - guard let theme = try? ArticleThemesManager.shared.articleThemeWithThemeName(themeName), !theme.isAppTheme else { return nil } - - let deleteTitle = NSLocalizedString("Delete", comment: "Delete") - let deleteAction = UIContextualAction(style: .normal, title: deleteTitle) { [weak self] (action, view, completion) in - let title = NSLocalizedString("Delete Theme?", comment: "Delete Theme") - - let localizedMessageText = NSLocalizedString("Are you sure you want to delete the theme “%@”?.", comment: "Delete Theme Message") - let message = NSString.localizedStringWithFormat(localizedMessageText as NSString, themeName) as String - - let alertController = UIAlertController(title: title, message: message, preferredStyle: .alert) - - let cancelTitle = NSLocalizedString("Cancel", comment: "Cancel") - let cancelAction = UIAlertAction(title: cancelTitle, style: .cancel) { action in - completion(true) - } - alertController.addAction(cancelAction) - - let deleteTitle = NSLocalizedString("Delete", comment: "Delete") - let deleteAction = UIAlertAction(title: deleteTitle, style: .destructive) { action in - ArticleThemesManager.shared.deleteTheme(themeName: themeName) - completion(true) - } - alertController.addAction(deleteAction) - - self?.present(alertController, animated: true) - } - - deleteAction.image = AppAssets.trashImage - deleteAction.backgroundColor = UIColor.systemRed - - return UISwipeActionsConfiguration(actions: [deleteAction]) - } -} - -// MARK: UIDocumentPickerDelegate - -extension ArticleThemesTableViewController: UIDocumentPickerDelegate { - - func documentPicker(_ controller: UIDocumentPickerViewController, didPickDocumentsAt urls: [URL]) { - guard let url = urls.first else { return } - try ArticleThemeImporter.importTheme(controller: self, filename: url.standardizedFileURL.path) - } - -} diff --git a/iOS/Settings/Settings.storyboard b/iOS/Settings/Settings.storyboard deleted file mode 100644 index 2718d31a0..000000000 --- a/iOS/Settings/Settings.storyboard +++ /dev/null @@ -1,1347 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/iOS/Settings/SettingsComboTableViewCell.swift b/iOS/Settings/SettingsComboTableViewCell.swift deleted file mode 100644 index 9e0200a27..000000000 --- a/iOS/Settings/SettingsComboTableViewCell.swift +++ /dev/null @@ -1,30 +0,0 @@ -// -// SettingsAccountTableViewCell.swift -// NetNewsWire-iOS -// -// Created by Maurice Parker on 10/23/19. -// Copyright © 2019 Ranchero Software. All rights reserved. -// - -import UIKit - -class SettingsComboTableViewCell: VibrantTableViewCell { - - @IBOutlet weak var comboImage: UIImageView! - @IBOutlet weak var comboNameLabel: UILabel! - - override func updateVibrancy(animated: Bool) { - super.updateVibrancy(animated: animated) - updateLabelVibrancy(comboNameLabel, color: labelColor, animated: animated) - - let tintColor = isHighlighted || isSelected ? AppAssets.vibrantTextColor : UIColor.label - if animated { - UIView.animate(withDuration: Self.duration) { - self.comboImage?.tintColor = tintColor - } - } else { - self.comboImage?.tintColor = tintColor - } - } - -} diff --git a/iOS/Settings/SettingsComboTableViewCell.xib b/iOS/Settings/SettingsComboTableViewCell.xib deleted file mode 100644 index 4cf193f27..000000000 --- a/iOS/Settings/SettingsComboTableViewCell.xib +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/iOS/Settings/SettingsTableViewCell.xib b/iOS/Settings/SettingsTableViewCell.xib deleted file mode 100644 index 27afad7ce..000000000 --- a/iOS/Settings/SettingsTableViewCell.xib +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - From 199b9e4093aa2972499925b8686dbf854388f373 Mon Sep 17 00:00:00 2001 From: Stuart Breckenridge Date: Tue, 20 Dec 2022 23:13:38 +0800 Subject: [PATCH 44/80] Removes logging call --- Shared/ArticleStyles/ArticleThemesManager.swift | 1 - iOS/Settings/Appearance/ArticleThemeManagerView.swift | 3 ++- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Shared/ArticleStyles/ArticleThemesManager.swift b/Shared/ArticleStyles/ArticleThemesManager.swift index 8692047ad..ac5bce563 100644 --- a/Shared/ArticleStyles/ArticleThemesManager.swift +++ b/Shared/ArticleStyles/ArticleThemesManager.swift @@ -93,7 +93,6 @@ final class ArticleThemesManager: NSObject, NSFilePresenter, Logging, Observable func themeExists(filename: String) -> Bool { let filenameLastPathComponent = (filename as NSString).lastPathComponent let toFilename = (folderPath as NSString).appendingPathComponent(filenameLastPathComponent) - logger.debug("\(filenameLastPathComponent), \(toFilename)") return FileManager.default.fileExists(atPath: toFilename) } diff --git a/iOS/Settings/Appearance/ArticleThemeManagerView.swift b/iOS/Settings/Appearance/ArticleThemeManagerView.swift index 566f012a0..efe0a2832 100644 --- a/iOS/Settings/Appearance/ArticleThemeManagerView.swift +++ b/iOS/Settings/Appearance/ArticleThemeManagerView.swift @@ -53,7 +53,8 @@ struct ArticleThemeManagerView: View { showImportErrorAlert = (failure, true) } } - .alert(Text("DELETE_THEME_ALERT_TITLE_\(showDeleteConfirmation.0)", tableName: "Settings"), isPresented: $showDeleteConfirmation.1, actions: { + .alert(Text("DELETE_THEME_ALERT_TITLE_\(showDeleteConfirmation.0)", tableName: "Settings"), + isPresented: $showDeleteConfirmation.1, actions: { Button(role: .destructive) { themeManager.deleteTheme(themeName: showDeleteConfirmation.0) } label: { From 1a1f86febd86451357dbf86411e8fd9f30a25b40 Mon Sep 17 00:00:00 2001 From: Stuart Breckenridge Date: Wed, 21 Dec 2022 10:53:43 +0800 Subject: [PATCH 45/80] Changes Extensions now use sheet Feedbin case added so that feedbin shows --- iOS/Account/FeedbinAddAccountView.swift | 2 +- .../Extensions/AddExtensionListView.swift | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/iOS/Account/FeedbinAddAccountView.swift b/iOS/Account/FeedbinAddAccountView.swift index d24230f98..581bd44ae 100644 --- a/iOS/Account/FeedbinAddAccountView.swift +++ b/iOS/Account/FeedbinAddAccountView.swift @@ -52,7 +52,7 @@ struct FeedbinAddAccountView: View { } message: { Text(accountError.0?.localizedDescription ?? "Error") } - .navigationTitle(Text(account?.type.localizedAccountName() ?? "")) + .navigationTitle(Text(account?.type.localizedAccountName() ?? "Feedbin")) .navigationBarTitleDisplayMode(.inline) .interactiveDismissDisabled(showProgressIndicator) .dismissOnExternalContextLaunch() diff --git a/iOS/Settings/Account and Extensions/Extensions/AddExtensionListView.swift b/iOS/Settings/Account and Extensions/Extensions/AddExtensionListView.swift index 0a4db9c0f..5ca059f17 100644 --- a/iOS/Settings/Account and Extensions/Extensions/AddExtensionListView.swift +++ b/iOS/Settings/Account and Extensions/Extensions/AddExtensionListView.swift @@ -13,6 +13,7 @@ struct AddExtensionListView: View { @State private var availableExtensionPointTypes = ExtensionPointManager.shared.availableExtensionPointTypes.sorted(by: { $0.title < $1.title }) @Environment(\.dismiss) var dismiss + @State private var showExtensionPointView: (ExtensionPoint.Type?, Bool) = (nil, false) var body: some View { NavigationView { @@ -20,8 +21,8 @@ struct AddExtensionListView: View { Section(header: Text("FEED_PROVIDER_HEADER", tableName: "Settings"), footer: Text("FEED_PROVIDER_FOOTER", tableName: "Settings")) { ForEach(0.. Date: Wed, 21 Dec 2022 12:31:54 +0800 Subject: [PATCH 46/80] Fixes ArticleTheme Import on SwiftUI Adds startAccessingSecurityScopedResource and stopAccessingSecurityScopedResource to `.fileImporter`s. --- Shared/Importers/NNWThemeDocument.swift | 6 ++++-- .../Appearance/ArticleThemeManagerView.swift | 8 ++++++-- iOS/Settings/General/SettingsView.swift | 18 +++++++++++------- 3 files changed, 21 insertions(+), 11 deletions(-) diff --git a/Shared/Importers/NNWThemeDocument.swift b/Shared/Importers/NNWThemeDocument.swift index 63956a9fe..c9a711f55 100644 --- a/Shared/Importers/NNWThemeDocument.swift +++ b/Shared/Importers/NNWThemeDocument.swift @@ -7,7 +7,6 @@ // import SwiftUI -import Account import UniformTypeIdentifiers public struct NNWThemeDocument: FileDocument { @@ -21,7 +20,10 @@ public struct NNWThemeDocument: FileDocument { } public init(configuration: ReadConfiguration) throws { - + guard let _ = configuration.file.regularFileContents else { + throw CocoaError(.fileReadCorruptFile) + } + return } public func fileWrapper(configuration: WriteConfiguration) throws -> FileWrapper { diff --git a/iOS/Settings/Appearance/ArticleThemeManagerView.swift b/iOS/Settings/Appearance/ArticleThemeManagerView.swift index efe0a2832..a1655d750 100644 --- a/iOS/Settings/Appearance/ArticleThemeManagerView.swift +++ b/iOS/Settings/Appearance/ArticleThemeManagerView.swift @@ -44,8 +44,12 @@ struct ArticleThemeManagerView: View { switch result { case .success(let success): do { - let theme = try ArticleTheme(path: success.path, isAppTheme: false) - showImportConfirmationAlert = (theme, true) + let url = URL(fileURLWithPath: success.path) + if url.startAccessingSecurityScopedResource() { + let theme = try ArticleTheme(path: success.path, isAppTheme: false) + showImportConfirmationAlert = (theme, true) + url.stopAccessingSecurityScopedResource() + } } catch { showImportErrorAlert = (error, true) } diff --git a/iOS/Settings/General/SettingsView.swift b/iOS/Settings/General/SettingsView.swift index c19c87e94..79d046156 100644 --- a/iOS/Settings/General/SettingsView.swift +++ b/iOS/Settings/General/SettingsView.swift @@ -117,13 +117,17 @@ struct SettingsView: View { .fileImporter(isPresented: $viewModel.showImportView, allowedContentTypes: OPMLDocument.readableContentTypes) { result in switch result { case .success(let url): - viewModel.importAccount!.importOPML(url) { importResult in - switch importResult { - case .success(_): - viewModel.showImportSuccess = true - case .failure(let error): - viewModel.importExportError = error - viewModel.showImportExportError = true + if url.startAccessingSecurityScopedResource() { + viewModel.importAccount!.importOPML(url) { importResult in + switch importResult { + case .success(_): + viewModel.showImportSuccess = true + url.stopAccessingSecurityScopedResource() + case .failure(let error): + viewModel.importExportError = error + viewModel.showImportExportError = true + url.stopAccessingSecurityScopedResource() + } } } case .failure(let error): From dee94610570e2beeda9f8722d3bf8deeb84b57bb Mon Sep 17 00:00:00 2001 From: Stuart Breckenridge Date: Wed, 21 Dec 2022 13:31:21 +0800 Subject: [PATCH 47/80] Wraps and Restores TickMarkSlider --- .../Appearance/TimelineCustomizerView.swift | 29 +++++------- iOS/UIKit Extensions/TickMarkSlider.swift | 47 +++++++++++++++++++ 2 files changed, 58 insertions(+), 18 deletions(-) diff --git a/iOS/Settings/Appearance/TimelineCustomizerView.swift b/iOS/Settings/Appearance/TimelineCustomizerView.swift index 69ea90b3f..342a9f0b5 100644 --- a/iOS/Settings/Appearance/TimelineCustomizerView.swift +++ b/iOS/Settings/Appearance/TimelineCustomizerView.swift @@ -15,18 +15,15 @@ struct TimelineCustomizerView: View { var body: some View { List { - Section { + Section(header: Text("ICON_SIZE", tableName: "Settings")) { + ZStack { - Picker(selection: $appDefaults.timelineIconSize) { - ForEach(IconSize.allCases, id: \.self) { size in - Text(size.description) - } - } label: { - Text("ICON_SIZE", tableName: "Settings") - } + TickMarkSliderView(minValue: 1, maxValue: 3, currentValue: Binding(get: { + Float(appDefaults.timelineIconSize.rawValue) + }, set: { AppDefaults.shared.timelineIconSize = IconSize(rawValue: Int($0))! })) } .padding(.horizontal, 16) - .padding(.vertical, 4) + .padding(.vertical, 8) .listRowInsets(EdgeInsets(top: 0, leading: 15, bottom: 0, trailing: 15)) .background( RoundedRectangle(cornerRadius: 8) @@ -37,18 +34,14 @@ struct TimelineCustomizerView: View { .listRowBackground(Color.clear) .listRowSeparator(.hidden) - Section { + Section(header: Text("NUMBER_OF_LINES", tableName: "Settings")) { ZStack { - Picker(selection: $appDefaults.timelineNumberOfLines) { - ForEach(1...5, id: \.self) { size in - Text("\(size)") - } - } label: { - Text("NUMBER_OF_LINES", tableName: "Settings") - } + TickMarkSliderView(minValue: 1, maxValue: 5, currentValue: Binding(get: { + Float(appDefaults.timelineNumberOfLines) + }, set: { appDefaults.timelineNumberOfLines = Int($0) })) } .padding(.horizontal, 16) - .padding(.vertical, 4) + .padding(.vertical, 8) .listRowInsets(EdgeInsets(top: 0, leading: 15, bottom: 0, trailing: 15)) .background( RoundedRectangle(cornerRadius: 8) diff --git a/iOS/UIKit Extensions/TickMarkSlider.swift b/iOS/UIKit Extensions/TickMarkSlider.swift index 5a7aa73ba..d2fca5c48 100644 --- a/iOS/UIKit Extensions/TickMarkSlider.swift +++ b/iOS/UIKit Extensions/TickMarkSlider.swift @@ -7,6 +7,53 @@ // import UIKit +import SwiftUI + +struct TickMarkSliderView: UIViewRepresentable { + + var minValue: Int + var maxValue: Int + @Binding var currentValue: Float + + func makeUIView(context: Context) -> TickMarkSlider { + let slider = TickMarkSlider() + slider.minimumValue = Float(minValue) + slider.maximumValue = Float(maxValue) + slider.value = currentValue + slider.addTickMarks() + return slider + } + + func updateUIView(_ uiView: TickMarkSlider, context: Context) { + uiView.addTarget( + context.coordinator, + action: #selector(Coordinator.valueChanged(_:)), + for: .valueChanged + ) + } + + func makeCoordinator() -> Coordinator { + Coordinator(value: $currentValue) + } + + class Coordinator: NSObject { + var value: Binding + + init(value: Binding) { + self.value = value + } + + // Create a valueChanged(_:) action + @objc func valueChanged(_ sender: Any) { + if let slider = sender as? UISlider { + self.value.wrappedValue = Float(slider.value.rounded()) + } + } + + } + + typealias UIViewType = TickMarkSlider +} class TickMarkSlider: UISlider { From 46be5a8768fabf5cc0a9dd0716fcfa9b0a7305d2 Mon Sep 17 00:00:00 2001 From: Stuart Breckenridge Date: Wed, 21 Dec 2022 13:40:06 +0800 Subject: [PATCH 48/80] Implements showAddAccountError for oAuth Ops --- .../Accounts/AddAccountListView.swift | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/iOS/Settings/Account and Extensions/Accounts/AddAccountListView.swift b/iOS/Settings/Account and Extensions/Accounts/AddAccountListView.swift index 59d101140..c933136dd 100644 --- a/iOS/Settings/Account and Extensions/Accounts/AddAccountListView.swift +++ b/iOS/Settings/Account and Extensions/Accounts/AddAccountListView.swift @@ -13,6 +13,7 @@ import RSCore public final class AddAccountListViewModel: ObservableObject, OAuthAccountAuthorizationOperationDelegate { @Published public var showAddAccountSheet: (Bool, accountType: AccountType) = (false, .onMyMac) + @Published public var showAddAccountError: (Error?, Bool) = (nil, false) public var webAccountTypes: [AccountType] { if AppDefaults.shared.isDeveloperBuild { return [.bazQux, .feedbin, .feedly, .inoreader, .newsBlur, .theOldReader] @@ -55,7 +56,7 @@ public final class AddAccountListViewModel: ObservableObject, OAuthAccountAuthor } public func oauthAccountAuthorizationOperation(_ operation: OAuthAccountAuthorizationOperation, didFailWith error: Error) { - //presentError(error) + showAddAccountError = (error, true) } } @@ -99,6 +100,16 @@ struct AddAccountListView: View { Text(viewModel.showAddAccountSheet.accountType.localizedAccountName()) } } + .alert(Text("ERROR_TITLE", tableName: "Errors"), + isPresented: $viewModel.showAddAccountError.1, actions: { + Button { + // + } label: { + Text("DISMISS_BUTTON_TITLE", tableName: "Buttons") + } + }, message: { + Text("\(viewModel.showAddAccountError.0?.localizedDescription ?? "Unknown Error")") + }) .dismissOnAccountAdd() } } From 65dfa91ee13275ea57f6916e43921298b8142014 Mon Sep 17 00:00:00 2001 From: Stuart Breckenridge Date: Wed, 21 Dec 2022 19:45:39 +0800 Subject: [PATCH 49/80] Reverts to existing localization strategy Existing `strings` tables removed. `tableName`s replaced with `comment`s. --- NetNewsWire.xcodeproj/project.pbxproj | 22 ---- Shared/Localizations/Account.strings | 29 ----- Shared/Localizations/Buttons.strings | 22 ---- Shared/Localizations/Errors.strings | 15 --- Shared/Localizations/Inspector.strings | 22 ---- .../LocalizedNetNewsWireError.swift | 12 +- Shared/Localizations/Settings.strings | 109 ------------------ iOS/Account/CloudKitAddAccountView.swift | 14 +-- iOS/Account/FeedbinAddAccountView.swift | 22 ++-- iOS/Account/LocalAddAccountView.swift | 12 +- iOS/Account/NewsBlurAddAccountView.swift | 20 ++-- iOS/Account/ReaderAPIAddAccountView.swift | 18 +-- iOS/Inspector/AccountInspectorView.swift | 20 ++-- iOS/Inspector/ExtensionInspectorView.swift | 10 +- iOS/Inspector/WebFeedInspectorView.swift | 8 +- .../Accounts/AccountsManagementView.swift | 18 +-- .../Accounts/AddAccountListView.swift | 24 ++-- .../Extensions/AddExtensionListView.swift | 8 +- .../Extensions/EnableExtensionPointView.swift | 6 +- .../Extensions/ExtensionsManagementView.swift | 14 +-- .../Appearance/ArticleThemeManagerView.swift | 41 +++---- .../Appearance/ColorPaletteSelectorView.swift | 6 +- .../Appearance/DisplayAndBehaviorsView.swift | 8 +- .../Appearance/TimelineCustomizerView.swift | 10 +- iOS/Settings/General/SettingsRows.swift | 36 +++--- iOS/Settings/General/SettingsView.swift | 30 ++--- iOS/Settings/Help/AboutView.swift | 10 +- iOS/Settings/Help/SettingsHelpSheets.swift | 4 +- .../NewArticleNotificationsView.swift | 2 +- .../InjectedNavigationView.swift | 2 +- 30 files changed, 185 insertions(+), 389 deletions(-) delete mode 100644 Shared/Localizations/Account.strings delete mode 100644 Shared/Localizations/Buttons.strings delete mode 100644 Shared/Localizations/Errors.strings delete mode 100644 Shared/Localizations/Inspector.strings delete mode 100644 Shared/Localizations/Settings.strings diff --git a/NetNewsWire.xcodeproj/project.pbxproj b/NetNewsWire.xcodeproj/project.pbxproj index c03c7b408..f8f02a349 100644 --- a/NetNewsWire.xcodeproj/project.pbxproj +++ b/NetNewsWire.xcodeproj/project.pbxproj @@ -836,7 +836,6 @@ DF28B453294FE6C600C4D8CA /* EnableExtensionPointView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF28B452294FE6C600C4D8CA /* EnableExtensionPointView.swift */; }; DF28B455294FE74A00C4D8CA /* ExtensionSectionHeader.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF28B454294FE74A00C4D8CA /* ExtensionSectionHeader.swift */; }; DF28B4572950163F00C4D8CA /* EnableExtensionViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF28B4562950163F00C4D8CA /* EnableExtensionViewModel.swift */; }; - DF32ABEB29494CF1008E3A12 /* Settings.strings in Resources */ = {isa = PBXBuildFile; fileRef = DF32ABEA29494CF0008E3A12 /* Settings.strings */; }; DF3630EB2936183D00326FB8 /* OPMLDocument.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF3630EA2936183D00326FB8 /* OPMLDocument.swift */; }; DF3630EC2936183D00326FB8 /* OPMLDocument.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF3630EA2936183D00326FB8 /* OPMLDocument.swift */; }; DF3630ED2936183D00326FB8 /* OPMLDocument.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF3630EA2936183D00326FB8 /* OPMLDocument.swift */; }; @@ -851,17 +850,12 @@ DF84E563295122BA0045C334 /* TimelineCustomizerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF84E562295122BA0045C334 /* TimelineCustomizerView.swift */; }; DFB3497A294A962D00BC81AD /* AddAccountListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFB34979294A962D00BC81AD /* AddAccountListView.swift */; }; DFB34980294B085100BC81AD /* AccountInspectorView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFB3497F294B085100BC81AD /* AccountInspectorView.swift */; }; - DFB34982294B0B9B00BC81AD /* Inspector.strings in Resources */ = {isa = PBXBuildFile; fileRef = DFB34981294B0B9B00BC81AD /* Inspector.strings */; }; - DFB34984294B3AFF00BC81AD /* Buttons.strings in Resources */ = {isa = PBXBuildFile; fileRef = DFB34983294B3AFF00BC81AD /* Buttons.strings */; }; DFB34988294B447F00BC81AD /* InjectedNavigationView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFB34987294B447F00BC81AD /* InjectedNavigationView.swift */; }; DFB3498A294B45AC00BC81AD /* ExtensionInspectorView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFB34989294B45AC00BC81AD /* ExtensionInspectorView.swift */; }; DFB3498C294B4CA700BC81AD /* WebFeedInspectorView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFB3498B294B4CA700BC81AD /* WebFeedInspectorView.swift */; }; - DFB34993294C0B7400BC81AD /* Account.strings in Resources */ = {isa = PBXBuildFile; fileRef = DFB34992294C0B7400BC81AD /* Account.strings */; }; DFB34994294C0E3900BC81AD /* ReaderAPIAddAccountView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFB34990294C0B2200BC81AD /* ReaderAPIAddAccountView.swift */; }; DFB34996294C4DCB00BC81AD /* LocalizedNetNewsWireError.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFB34995294C4DCB00BC81AD /* LocalizedNetNewsWireError.swift */; }; DFB34997294C4DCB00BC81AD /* LocalizedNetNewsWireError.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFB34995294C4DCB00BC81AD /* LocalizedNetNewsWireError.swift */; }; - DFB34999294C4F1D00BC81AD /* Errors.strings in Resources */ = {isa = PBXBuildFile; fileRef = DFB34998294C4F1D00BC81AD /* Errors.strings */; }; - DFB3499A294C4F1D00BC81AD /* Errors.strings in Resources */ = {isa = PBXBuildFile; fileRef = DFB34998294C4F1D00BC81AD /* Errors.strings */; }; DFB3499E294C5D5000BC81AD /* CloudKitAddAccountView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFB3499D294C5D5000BC81AD /* CloudKitAddAccountView.swift */; }; DFB349A0294E87B700BC81AD /* LocalAddAccountView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFB3499F294E87B700BC81AD /* LocalAddAccountView.swift */; }; DFB349A2294E90B500BC81AD /* FeedbinAddAccountView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFB349A1294E90B500BC81AD /* FeedbinAddAccountView.swift */; }; @@ -1602,7 +1596,6 @@ DF28B452294FE6C600C4D8CA /* EnableExtensionPointView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EnableExtensionPointView.swift; sourceTree = ""; }; DF28B454294FE74A00C4D8CA /* ExtensionSectionHeader.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ExtensionSectionHeader.swift; sourceTree = ""; }; DF28B4562950163F00C4D8CA /* EnableExtensionViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EnableExtensionViewModel.swift; sourceTree = ""; }; - DF32ABEA29494CF0008E3A12 /* Settings.strings */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; path = Settings.strings; sourceTree = ""; }; DF3630EA2936183D00326FB8 /* OPMLDocument.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OPMLDocument.swift; sourceTree = ""; }; DF3630EE293618A900326FB8 /* SettingsViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsViewModel.swift; sourceTree = ""; }; DF394EFF29357A180081EB6E /* NewArticleNotificationsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NewArticleNotificationsView.swift; sourceTree = ""; }; @@ -1614,15 +1607,11 @@ DF84E562295122BA0045C334 /* TimelineCustomizerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TimelineCustomizerView.swift; sourceTree = ""; }; DFB34979294A962D00BC81AD /* AddAccountListView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddAccountListView.swift; sourceTree = ""; }; DFB3497F294B085100BC81AD /* AccountInspectorView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountInspectorView.swift; sourceTree = ""; }; - DFB34981294B0B9B00BC81AD /* Inspector.strings */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; path = Inspector.strings; sourceTree = ""; }; - DFB34983294B3AFF00BC81AD /* Buttons.strings */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; path = Buttons.strings; sourceTree = ""; }; DFB34987294B447F00BC81AD /* InjectedNavigationView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InjectedNavigationView.swift; sourceTree = ""; }; DFB34989294B45AC00BC81AD /* ExtensionInspectorView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ExtensionInspectorView.swift; sourceTree = ""; }; DFB3498B294B4CA700BC81AD /* WebFeedInspectorView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WebFeedInspectorView.swift; sourceTree = ""; }; DFB34990294C0B2200BC81AD /* ReaderAPIAddAccountView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReaderAPIAddAccountView.swift; sourceTree = ""; }; - DFB34992294C0B7400BC81AD /* Account.strings */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; path = Account.strings; sourceTree = ""; }; DFB34995294C4DCB00BC81AD /* LocalizedNetNewsWireError.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LocalizedNetNewsWireError.swift; sourceTree = ""; }; - DFB34998294C4F1D00BC81AD /* Errors.strings */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; path = Errors.strings; sourceTree = ""; }; DFB3499D294C5D5000BC81AD /* CloudKitAddAccountView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CloudKitAddAccountView.swift; sourceTree = ""; }; DFB3499F294E87B700BC81AD /* LocalAddAccountView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LocalAddAccountView.swift; sourceTree = ""; }; DFB349A1294E90B500BC81AD /* FeedbinAddAccountView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FeedbinAddAccountView.swift; sourceTree = ""; }; @@ -2969,11 +2958,6 @@ DFB34985294B3B0800BC81AD /* Localizations */ = { isa = PBXGroup; children = ( - DFB34992294C0B7400BC81AD /* Account.strings */, - DFB34983294B3AFF00BC81AD /* Buttons.strings */, - DFB34998294C4F1D00BC81AD /* Errors.strings */, - DFB34981294B0B9B00BC81AD /* Inspector.strings */, - DF32ABEA29494CF0008E3A12 /* Settings.strings */, DFB34995294C4DCB00BC81AD /* LocalizedNetNewsWireError.swift */, ); path = Localizations; @@ -3575,25 +3559,20 @@ 51C452862265093600C03939 /* Add.storyboard in Resources */, 511D43EF231FBDE900FB1562 /* LaunchScreenPad.storyboard in Resources */, 511D43D2231FA62C00FB1562 /* GlobalKeyboardShortcuts.plist in Resources */, - DFB34993294C0B7400BC81AD /* Account.strings in Resources */, 84C9FCA12262A1B300D921D6 /* Main.storyboard in Resources */, 51BB7C312335ACDE008E8144 /* page.html in Resources */, - DFB34982294B0B9B00BC81AD /* Inspector.strings in Resources */, 512392C324E3451400F11704 /* TwitterAdd.storyboard in Resources */, 51077C5A27A86D16000C71DB /* Hyperlegible.nnwtheme in Resources */, DDF9E1D928EDF2FC000BC355 /* notificationSoundBlip.mp3 in Resources */, - DF32ABEB29494CF1008E3A12 /* Settings.strings in Resources */, 51DEE81A26FBFF84006DAA56 /* Promenade.nnwtheme in Resources */, 1768140B2564BB8300D98635 /* NetNewsWire_iOSwidgetextension_target.xcconfig in Resources */, 5103A9B424216A4200410853 /* blank.html in Resources */, - DFB3499A294C4F1D00BC81AD /* Errors.strings in Resources */, 51D0214826ED617100FF2E0F /* core.css in Resources */, 84C9FCA42262A1B800D921D6 /* LaunchScreenPhone.storyboard in Resources */, 511D43D1231FA62800FB1562 /* SidebarKeyboardShortcuts.plist in Resources */, 51C452AB22650DC600C03939 /* template.html in Resources */, 84A3EE61223B667F00557320 /* DefaultFeeds.opml in Resources */, B27EEBFB244D15F3000932E6 /* stylesheet.css in Resources */, - DFB34984294B3AFF00BC81AD /* Buttons.strings in Resources */, 511D43CF231FA62200FB1562 /* DetailKeyboardShortcuts.plist in Resources */, 49F40DF92335B71000552BF4 /* newsfoot.js in Resources */, 512392C024E33A3C00F11704 /* RedditAdd.storyboard in Resources */, @@ -3628,7 +3607,6 @@ DFCE4F9128EF26F100405869 /* About.plist in Resources */, 84C9FC8C22629E8F00D921D6 /* KeyboardShortcuts.html in Resources */, B27EEBF9244D15F3000932E6 /* stylesheet.css in Resources */, - DFB34999294C4F1D00BC81AD /* Errors.strings in Resources */, 5144EA3B227A379E00D19003 /* ImportOPMLSheet.xib in Resources */, 844B5B691FEA20DF00C7C76A /* SidebarKeyboardShortcuts.plist in Resources */, DDF9E1D728EDF2FC000BC355 /* notificationSoundBlip.mp3 in Resources */, diff --git a/Shared/Localizations/Account.strings b/Shared/Localizations/Account.strings deleted file mode 100644 index 385293f21..000000000 --- a/Shared/Localizations/Account.strings +++ /dev/null @@ -1,29 +0,0 @@ -/* - Account.strings - NetNewsWire - - Created by Stuart Breckenridge on 16/12/2022. - Copyright © 2022 Ranchero Software. All rights reserved. -*/ - -/* Account Section */ -"ACCOUNT_NAME" = "Name"; -"CLOUDKIT" = "iCloud"; -"LOCAL_ACCOUNT_NAME_PHONE" = "On My iPhone"; -"LOCAL_ACCOUNT_NAME_PAD" = "On My iPad"; -"ACCOUNT_EMAIL_ADDRESS_PROMPT" = "Email Address"; -"ACCOUNT_USERNAME_OR_EMAIL_PROMPT" = "Username or Email"; -"ACCOUNT_PASSWORD_PROMPT" = "Password"; - - -/* Explainers */ -"LOCAL_FOOTER_EXPLAINER" = "Local accounts do not sync your feeds across devices"; -"BAZQUX_FOOTER_EXPLAINER" = "Sign in to your BazQux account and sync your feeds across your devices. Your username and password will be encrypted and stored in Keychain.\n\nDon’t have a BazQux account? [Sign Up Here](https://bazqux.com)"; -"INOREADER_FOOTER_EXPLAINER" = "Sign in to your InoReader account and sync your feeds across your devices. Your username and password will be encrypted and stored in Keychain.\n\nDon’t have an InoReader account? [Sign Up Here](https://www.inoreader.com)"; -"OLDREADER_FOOTER_EXPLAINER" = "Sign in to your The Old Reader account and sync your feeds across your devices. Your username and password will be encrypted and stored in Keychain.\n\nDon’t have a The Old Reader account? [Sign Up Here](https://theoldreader.com)"; -"FRESHRSS_FOOTER_EXPLAINER" = "Sign in to your FreshRSS instance and sync your feeds across your devices. Your username and password will be encrypted and stored in Keychain.\n\nDon’t have an FreshRSS instance? [Sign Up Here](https://freshrss.org)"; -"CLOUDKIT_FOOTER_EXPLAINER" = "NetNewsWire will use your iCloud account to sync your subscriptions across your Mac and iOS devices."; -"FEEDBIN_FOOTER_EXPLAINER" = "Sign in to your Feedbin account and sync your feeds across your devices. Your username and password will be encrypted and stored in Keychain.\n\nDon’t have a Feedbin account? [Sign Up Here](https://feedbin.com/signup)"; -"NEWSBLUR_FOOTER_EXPLAINER" = "Sign in to your NewsBlur account and sync your feeds across your devices. Your username and password will be encrypted and stored in Keychain.\n\nDon’t have a NewsBlur account? [Sign Up Here](https://newsblur.com)"; - - diff --git a/Shared/Localizations/Buttons.strings b/Shared/Localizations/Buttons.strings deleted file mode 100644 index 27b69d9fa..000000000 --- a/Shared/Localizations/Buttons.strings +++ /dev/null @@ -1,22 +0,0 @@ -/* - Buttons.strings - NetNewsWire - - Created by Stuart Breckenridge on 15/12/2022. - Copyright © 2022 Ranchero Software. All rights reserved. -*/ - -"CANCEL_BUTTON_TITLE" = "Cancel"; -"DISMISS_BUTTON_TITLE" = "Dismiss"; -"DONE_BUTTON_TITLE" = "Done"; -"REMOVE_ACCOUNT_BUTTON_TITLE" = "Remove Account"; -"DEACTIVATE_BUTTON_TITLE" = "Deactivate"; -"DEACTIVATE_EXTENSION_BUTTON_TITLE" = "Deactivate Extension"; -"CREDENTIALS_BUTTON_TITLE" = "Credentials"; -"ADD_ACCOUNT_BUTTON_TITLE" = "Add Account"; -"ENABLE_EXTENSION_BUTTON_TITLE" = "Enable Extension"; -"UPDATE_CREDENTIALS_BUTTON_TITLE" = "Update Credentials"; -"USE_CLOUDKIT_BUTTON_TITLE" = "Use iCloud"; -"DELETE_THEME_BUTTON_TITLE" = "Delete Theme"; -"IMPORT_THEME_BUTTON_TITLE" = "Import Theme"; -"IMPORT_AND_OVERWRITE_THEME_BUTTON_TITLE" = "Overwrite Existing Theme"; diff --git a/Shared/Localizations/Errors.strings b/Shared/Localizations/Errors.strings deleted file mode 100644 index 40d454828..000000000 --- a/Shared/Localizations/Errors.strings +++ /dev/null @@ -1,15 +0,0 @@ -/* - Errors.strings - NetNewsWire - - Created by Stuart Breckenridge on 16/12/2022. - Copyright © 2022 Ranchero Software. All rights reserved. -*/ - -"ERROR_TITLE" = "Error"; -"DUPLICATE_ACCOUNT_ERROR" = "There is already an account of that type with that username created."; -"CLOUDKIT_NOT_ENABLED_ERROR" = "Unable to add iCloud Account. Please make sure you have iCloud and iCloud Drive enabled in System Settings."; -"USERNAME_AND_PASSWORD_REQUIRED" = "Username and password required."; -"INVALID_USERNAME_PASSWORD" = "Invalid email or password combination."; -"KEYCHAIN_ERROR" = "Keychain error while storing credentials."; -"DUPLICATE_DEFAULT_THEME" = "You cannot import a theme that shares the same name as a provided theme."; diff --git a/Shared/Localizations/Inspector.strings b/Shared/Localizations/Inspector.strings deleted file mode 100644 index 94addd18a..000000000 --- a/Shared/Localizations/Inspector.strings +++ /dev/null @@ -1,22 +0,0 @@ -/* - Inspector.strings - NetNewsWire - - Created by Stuart Breckenridge on 15/12/2022. - Copyright © 2022 Ranchero Software. All rights reserved. -*/ - -/* Account Inspector */ -"ACCOUNT_NAME_FIELD" = "Account Name"; -"ACTIVE" = "Active"; -"CLOUDKIT_LIMITATIONS_LINK" = "[iCloud Syncing Limitations & Solutions](https://netnewswire.com/help/iCloud)"; -"REMOVE_ACCOUNT_TITLE" = "Remove Account"; -"REMOVE_FEEDLY_MESSAGE" = "Are you sure you want to remove this account? NetNewsWire will no longer be able to access articles and feeds unless the account is added again."; -"REMOVE_ACCOUNT_MESSAGE" = "Are you sure you want to remove this account? This cannot be undone."; -"REMOVE_ACCOUNT_TITLE" = "Remove Account"; - - -"NOTIFY_ABOUT_NEW_ARTICLES" = "Notify About New Articles"; -"ALWAYS_SHOW_READER_VIEW" = "Always Show Reader View"; -"HOME_PAGE" = "Home Page"; -"FEED_URL" = "Feed URL"; diff --git a/Shared/Localizations/LocalizedNetNewsWireError.swift b/Shared/Localizations/LocalizedNetNewsWireError.swift index 18a03ab34..46ff38945 100644 --- a/Shared/Localizations/LocalizedNetNewsWireError.swift +++ b/Shared/Localizations/LocalizedNetNewsWireError.swift @@ -30,17 +30,17 @@ public enum LocalizedNetNewsWireError: LocalizedError { public var errorDescription: String? { switch self { case .duplicateAccount: - return Bundle.main.localizedString(forKey: "DUPLICATE_ACCOUNT_ERROR", value: nil, table: "Errors") + return String(localized: "There is already an account of that type with that username created.", comment: "Error message: duplicate account with same username.") case .iCloudDriveMissing: - return Bundle.main.localizedString(forKey: "CLOUDKIT_NOT_ENABLED_ERROR", value: nil, table: "Errors") + return String(localized: "Unable to add iCloud Account. Please make sure you have iCloud and iCloud Drive enabled in System Settings.", comment: "Error message: The user cannot enable the iCloud account becasue iCloud or iCloud Drive isn't enabled in Settings.") case .userNameAndPasswordRequired: - return Bundle.main.localizedString(forKey: "USERNAME_AND_PASSWORD_REQUIRED", value: nil, table: "Errors") + return String(localized: "Username and password required", comment: "Error message: The user must provide a username and password.") case .invalidUsernameOrPassword: - return Bundle.main.localizedString(forKey: "INVALID_USERNAME_PASSWORD", value: nil, table: "Errors") + return String(localized: "Invalid username or password", comment: "Error message: The user provided an invalid username or password.") case .keychainError: - return Bundle.main.localizedString(forKey: "KEYCHAIN_ERROR", value: nil, table: "Errors") + return String(localized: "Keychain error while storing credentials.", comment: "Error message: Unable to save due a Keychain error.") case .duplicateDefaultTheme: - return Bundle.main.localizedString(forKey: "DUPLICATE_DEFAULT_THEME", value: nil, table: "Errors") + return String(localized: "You cannot import a theme that shares the same name as a provided theme.", comment: "Error message: cannot import theme as this is a duplicate of a provided theme.") } } } diff --git a/Shared/Localizations/Settings.strings b/Shared/Localizations/Settings.strings deleted file mode 100644 index 03978d47e..000000000 --- a/Shared/Localizations/Settings.strings +++ /dev/null @@ -1,109 +0,0 @@ -/* - Settings.strings - NetNewsWire - - Created by Stuart Breckenridge on 14/12/2022. - Copyright © 2022 Ranchero Software. All rights reserved. -*/ - -/* Settings */ - -"SETTINGS_TITLE" = "Settings"; -"DEVICE_PERMISSIONS_HEADER" = "Device Permissions"; -"DEVICE_PERMISSIONS_FOOTER" = "Configure NetNewsWire's access to Siri, background app refresh, mobile data, and more."; -"ACCOUNTS_EXTENSIONS_HEADER" = "Accounts & Extensions"; -"ACCOUNTS_EXTENSIONS_FOOTER" = "Add, delete, enable, or disable accounts and extensions."; -"APPEARANCE_HEADER" = "Appearance"; -"APPEARANCE_FOOTER" = "Manage the look, feel, and behavior of NetNewsWire."; -"DISPLAY_BEHAVIORS_HEADER" = "Display & Behaviors"; - -/* Settings Rows */ - -"OPEN_SYSTEM_SETTINGS" = "Open System Settings"; -"NEW_ARTICLE_NOTIFICATIONS" = "New Article Notifications"; -"MANAGE_ACCOUNTS" = "Manage Accounts"; -"MANAGE_EXTENSIONS" = "Manage Extensions"; -"IMPORT_SUBSCRIPTIONS" = "Import Subscriptions"; -"EXPORT_SUBSCRIPTIONS" = "Export Subscriptions"; -"ABOUT" = "About NetNewsWire"; -"NETNEWSWIRE_HELP" = "NetNewsWire Help Guide"; -"NETNEWSWIRE_WEBSITE" = "NewNewsWire Website"; - -/* Display & Behaviors */ - -"APPLICATION_HEADER" = "Application"; -"TIMELINE_HEADER" = "Timeline"; -"ARTICLE_HEADER" = "Article"; -"ALWAYS_DARK_MODE" = "Always Dark"; -"ALWAYS_LIGHT_MODE" = "Always Light"; -"USE_SYSTEM_DISPLAY_MODE" = "Use System"; -"SORT_OLDEST_NEWEST" = "Sort Oldest to Newest"; -"GROUP_BY_FEED" = "Group by Feed"; -"REFRESH_TO_CLEAR_READ_ARTICLES" = "Refresh to Clear Articles"; -"TIMELINE_LAYOUT" = "Timeline Layout"; -"ICON_SIZE" = "Icon Size"; -"NUMBER_OF_LINES" = "Number of Lines"; -"INSTALLED_THEMES" = "Installed Themes"; -"ARTICLE_THEMES_TITLE" = "Article Themes"; -"ARTICLE_THEME" = "Article Theme"; -"ARTICLE_THEME_CREATOR_%@" = "by %@"; -"IMPORT_THEME_CONFIRMATION_TITLE" = "Import Theme"; -"IMPORT_THEME_CONFIRMATION_MESSAGE_%@_%@" = "Are you sure you want to import “%@” by %@?"; -"IMPORT_AND_OVERWRITE_THEME_CONFIRMATION_MESSAGE_%@" = "The theme “%@” already exists. Do you want to overwrite it?"; -"IMPORT_THEME_SUCCESS_TITLE" = "Import Successful"; -"IMPORT_THEME_SUCCESS_MESSAGE_%@" = "The theme “%@” has been imported."; -"DELETE_THEME_ALERT_TITLE_%@" = "Are you sure you want to delete “%@”?"; -"DELETE_THEME_ALERT_MESSAGE" = "Are you sure you want to delete this theme? This action is not reversible."; -"CONFIRM_MARK_ALL_AS_READ" = "Confirm Mark All as Read"; -"OPEN_LINKS_IN_APP" = "Open Links in NetNewsWire"; -"SMALL_ICON_SIZE" = "Small"; -"MEDIUM_ICON_SIZE" = "Medium"; -"LARGE_ICON_SIZE" = "Large"; - -/* Account Management */ -"ADD_ACCOUNT" = "Add Account"; -"NO_INACTIVE_ACCOUNT_FOOTER" = "There are no inactive accounts."; -"ACCOUNT_REMOVE %@" = "Are you sure you want to remove “%@”?"; -"REMOVE_FEEDLY_CONFIRMATION" = "Are you sure you want to remove this account? NetNewsWire will no longer be able to access articles and feeds unless the account is added again."; -"REMOVE_ACCOUNT_CONFIRMATION" = "Are you sure you want to remove this account? This cannot be undone."; -"ACTIVE_ACCOUNTS_HEADER" = "Active Accounts"; -"INACTIVE_ACCOUNTS_HEADER" = "Inactive Accounts"; - -/* Extension Management */ -"DEACTIVATE" = "Deactivate"; -"DEACTIVATE_EXTENSION_TITLE" = "Deactivate Extension"; -"DEACTIVATE_EXTENSION %@" = "Are you sure you want to deactivate the “%@” extension?"; -"ACTIVE_EXTENSIONS" = "Active Extensions"; -"FEED_PROVIDER_HEADER" = "Feed Provider"; -"FEED_PROVIDER_FOOTER" = "Feed Providers allow you to subscribe to some pages as if they were RSS Feeds."; -"ADD_EXTENSIONS_TITLE" = "Add Extension"; - -/* New Article Notifications */ -"NEW_ARTICLE_NOTIFICATIONS_TITLE" = "New Article Notifications"; - -/* About */ -"ABOUT_TITLE" = "About"; -"PRIMARY_CONTRIBUTORS" = "Primary Contributors"; -"ADDITIONAL_CONTRIBUTORS" = "Additional Contributors"; -"THANKS" = "Thanks"; -"BYLINE" = "By Brent Simmons and the Ranchero Software team."; - -/* Add Account */ -"ADD_LOCAL_ACCOUNT_HEADER" = "Local"; -"ADD_LOCAL_ACCOUNT_FOOTER" = "Local accounts do not sync your feeds across devices"; -"ADD_CLOUDKIT_ACCOUNT_HEADER" = "iCloud"; -"ADD_CLOUDKIT_ACCOUNT_FOOTER" = "Your iCloud account syncs your feeds across your Mac and iOS devices"; -"ADD_WEB_ACCOUNT_HEADER" = "Web"; -"ADD_WEB_ACCOUNT_FOOTER" = "Web accounts sync your feeds across all your devices"; -"ADD_SELFHOSTED_ACCOUNT_HEADER" = "Self-hosted"; -"ADD_SELFHOSTED_ACCOUNT_FOOTER" = "Self-hosted accounts sync your feeds across all your devices"; - - -/* Alerts */ -"IMPORT_OPML_CONFIRMATION" = "Choose an account to receive the imported feeds and folders"; -"IMPORT_OPML_SUCCESS_TITLE" = "Imported Successfully"; -"IMPORT_OPML_SUCCESS_MESSAGE %@" = "Subscriptions have been imported to your %@ account."; -"EXPORT_OPML_CONFIRMATION" = "Choose an account with the subscriptions to export"; -"EXPORT_OPML_SUCCESS_TITLE" = "Exported Successfully"; -"EXPORT_OPML_SUCCESS_MESSAGE" = "Your OPML file has been successfully exported."; -"ERROR_TITLE" = "Error"; diff --git a/iOS/Account/CloudKitAddAccountView.swift b/iOS/Account/CloudKitAddAccountView.swift index 5b4873286..e06cbc591 100644 --- a/iOS/Account/CloudKitAddAccountView.swift +++ b/iOS/Account/CloudKitAddAccountView.swift @@ -21,15 +21,15 @@ struct CloudKitAddAccountView: View { Section { createCloudKitAccount } Section(footer: cloudKitExplainer) {} } - .navigationTitle(Text("CLOUDKIT", tableName: "Account")) + .navigationTitle(Text(verbatim: "iCloud")) .navigationBarTitleDisplayMode(.inline) .toolbar { ToolbarItem(placement: .navigationBarLeading) { - Button(action: { dismiss() }, label: { Text("CANCEL_BUTTON_TITLE", tableName: "Buttons") }) + Button(action: { dismiss() }, label: { Text("Cancel", comment: "Button title") }) } } - .alert(Text("ERROR_TITLE", tableName: "Errors"), isPresented: $accountError.1) { - Button(action: {}, label: { Text("DISMISS_BUTTON_TITLE", tableName: "Buttons") }) + .alert(Text("Error", comment: "Alert title: Error"), isPresented: $accountError.1) { + Button(action: {}, label: { Text("Dismiss", comment: "Button title") }) } message: { Text(accountError.0?.localizedDescription ?? "Unknown Error") } @@ -48,7 +48,7 @@ struct CloudKitAddAccountView: View { } label: { HStack { Spacer() - Text("USE_CLOUDKIT_BUTTON_TITLE", tableName: "Buttons") + Text("Use iCloud", comment: "Button title") Spacer() } } @@ -58,9 +58,9 @@ struct CloudKitAddAccountView: View { VStack(spacing: 4) { if !AccountManager.shared.accounts.contains(where: { $0.type == .cloudKit }) { // The explainer is only shown when a CloudKit account doesn't exist. - Text("CLOUDKIT_FOOTER_EXPLAINER", tableName: "Account") + Text("NetNewsWire will use your iCloud account to sync your subscriptions across your Mac and iOS devices.", comment: "iCloud account explanatory text") } - Text("CLOUDKIT_LIMITATIONS_TITLE", tableName: "Inspector") + Text("[iCloud Syncing Limitations & Solutions](https://netnewswire.com/help/iCloud)", comment: "Link which opens webpage describing iCloud syncing limitations.") }.multilineTextAlignment(.center) } diff --git a/iOS/Account/FeedbinAddAccountView.swift b/iOS/Account/FeedbinAddAccountView.swift index 581bd44ae..0fac486cb 100644 --- a/iOS/Account/FeedbinAddAccountView.swift +++ b/iOS/Account/FeedbinAddAccountView.swift @@ -36,23 +36,23 @@ struct FeedbinAddAccountView: View { } .toolbar { ToolbarItem(placement: .navigationBarLeading) { - Button(action: { dismiss() }, label: { Text("CANCEL_BUTTON_TITLE", tableName: "Buttons") }) + Button(action: { dismiss() }, label: { Text("Cancel", comment: "Button title") }) .disabled(showProgressIndicator) } ToolbarItem(placement: .navigationBarTrailing) { if showProgressIndicator { ProgressView() } } } - .alert(Text("ERROR_TITLE", tableName: "Errors"), isPresented: $accountError.1) { + .alert(Text("Error", comment: "Alert title: Error"), isPresented: $accountError.1) { Button(role: .cancel) { // } label: { - Text("DISMISS_BUTTON_TITLE", tableName: "Buttons") + Text("Dismiss", comment: "Button title") } } message: { Text(accountError.0?.localizedDescription ?? "Error") } - .navigationTitle(Text(account?.type.localizedAccountName() ?? "Feedbin")) + .navigationTitle(Text(verbatim: account?.type.localizedAccountName() ?? "Feedbin")) .navigationBarTitleDisplayMode(.inline) .interactiveDismissDisabled(showProgressIndicator) .dismissOnExternalContextLaunch() @@ -62,11 +62,11 @@ struct FeedbinAddAccountView: View { var accountDetails: some View { Section { - TextField("Email", text: $accountEmail, prompt: Text("ACCOUNT_EMAIL_ADDRESS_PROMPT", tableName: "Account")) + TextField("Email", text: $accountEmail, prompt: Text("Email Address", comment: "Textfield for the user to enter their account email address.")) .autocorrectionDisabled() .autocapitalization(.none) .textContentType(.username) - SecureField("Password", text: $accountPassword, prompt: Text("ACCOUNT_PASSWORD_PROMPT", tableName: "Account")) + SecureField("Password", text: $accountPassword, prompt: Text("Password", comment: "Textfield for the user to enter their account password.")) .textContentType(.password) } } @@ -92,9 +92,9 @@ struct FeedbinAddAccountView: View { HStack{ Spacer() if account == nil { - Text("ADD_ACCOUNT_BUTTON_TITLE", tableName: "Buttons") + Text("Add Account", comment: "Button title") } else { - Text("UPDATE_CREDENTIALS_BUTTON_TITLE", tableName: "Buttons") + Text("Update Credentials", comment: "Button title") } Spacer() } @@ -103,7 +103,11 @@ struct FeedbinAddAccountView: View { } var feedbinAccountExplainer: some View { - Text(account == nil ? "FEEDBIN_FOOTER_EXPLAINER" : "", tableName: "Account").multilineTextAlignment(.center) + if account == nil { + return Text("Sign in to your Feedbin account and sync your feeds across your devices. Your username and password will be encrypted and stored in Keychain.\n\nDon’t have a Feedbin account? [Sign Up Here](https://feedbin.com/signup)", comment: "Explanatory text describing the Feedbin account.") + .multilineTextAlignment(.center) + } + return Text("").multilineTextAlignment(.center) } private func retrieveCredentials() { diff --git a/iOS/Account/LocalAddAccountView.swift b/iOS/Account/LocalAddAccountView.swift index b40269a05..4ca855080 100644 --- a/iOS/Account/LocalAddAccountView.swift +++ b/iOS/Account/LocalAddAccountView.swift @@ -24,7 +24,7 @@ struct LocalAddAccountView: View { } .toolbar { ToolbarItem(placement: .navigationBarLeading) { - Button(action: { dismiss() }, label: { Text("CANCEL_BUTTON_TITLE", tableName: "Buttons") }) + Button(action: { dismiss() }, label: { Text("Cancel", comment: "Button title") }) } } .navigationTitle(deviceAccountName()) @@ -37,7 +37,7 @@ struct LocalAddAccountView: View { var accountNameSection: some View { TextField("Name", text: $accountName, - prompt: Text("ACCOUNT_NAME", tableName: "Account")) + prompt: Text("Name", comment: "Textfield placeholder for the name of the account.")) .autocorrectionDisabled() .autocapitalization(.none) } @@ -49,7 +49,7 @@ struct LocalAddAccountView: View { } label: { HStack { Spacer() - Text("ADD_ACCOUNT_BUTTON_TITLE", tableName: "Buttons") + Text("Add Account", comment: "Button title") Spacer() } } @@ -58,7 +58,7 @@ struct LocalAddAccountView: View { var accountFooterView: some View { HStack { Spacer() - Text("LOCAL_FOOTER_EXPLAINER", tableName: "Account") + Text("Local accounts do not sync your feeds across devices.", comment: "Explanatory text describing the local account.") .multilineTextAlignment(.center) Spacer() } @@ -73,9 +73,9 @@ struct LocalAddAccountView: View { private func deviceAccountName() -> Text { if UIDevice.current.userInterfaceIdiom == .pad { - return Text("LOCAL_ACCOUNT_NAME_PAD", tableName: "Account") + return Text("On My iPad", comment: "Account name for iPad") } - return Text("LOCAL_ACCOUNT_NAME_PHONE", tableName: "Account") + return Text("On My iPhone", comment: "Account name for iPhone") } } diff --git a/iOS/Account/NewsBlurAddAccountView.swift b/iOS/Account/NewsBlurAddAccountView.swift index ce84df509..37a414d2a 100644 --- a/iOS/Account/NewsBlurAddAccountView.swift +++ b/iOS/Account/NewsBlurAddAccountView.swift @@ -31,7 +31,7 @@ struct NewsBlurAddAccountView: View, Logging { } .toolbar { ToolbarItem(placement: .navigationBarLeading) { - Button(action: { dismiss() }, label: { Text("CANCEL_BUTTON_TITLE", tableName: "Buttons") }) + Button(action: { dismiss() }, label: { Text("Cancel", comment: "Button title") }) .disabled(showProgressIndicator) } ToolbarItem(placement: .navigationBarTrailing) { @@ -43,11 +43,11 @@ struct NewsBlurAddAccountView: View, Logging { .task { retreiveCredentials() } - .alert(Text("ERROR_TITLE", tableName: "Errors"), isPresented: $accountError.1) { + .alert(Text("Error", comment: "Alert title: Error"), isPresented: $accountError.1) { Button(role: .cancel) { // } label: { - Text("DISMISS_BUTTON_TITLE", tableName: "Buttons") + Text("Dismiss", comment: "Button title") } } message: { Text(accountError.0?.localizedDescription ?? "") @@ -79,11 +79,11 @@ struct NewsBlurAddAccountView: View, Logging { var accountDetails: some View { Section { - TextField("Email", text: $accountUserName, prompt: Text("ACCOUNT_USERNAME_OR_EMAIL_PROMPT", tableName: "Account")) + TextField("Email", text: $accountUserName, prompt: Text("Username or Email", comment: "Textfield for the user to enter their account username or email.")) .autocorrectionDisabled() .autocapitalization(.none) .textContentType(.username) - SecureField("Password", text: $accountPassword, prompt: Text("ACCOUNT_PASSWORD_PROMPT", tableName: "Account")) + SecureField("Password", text: $accountPassword, prompt: Text("Password", comment: "Textfield for the user to enter their account password.")) .textContentType(.password) } } @@ -109,9 +109,9 @@ struct NewsBlurAddAccountView: View, Logging { HStack{ Spacer() if account == nil { - Text("ADD_ACCOUNT_BUTTON_TITLE", tableName: "Buttons") + Text("Add Account", comment: "Button title") } else { - Text("UPDATE_CREDENTIALS_BUTTON_TITLE", tableName: "Buttons") + Text("Update Credentials", comment: "Button title") } Spacer() } @@ -120,7 +120,11 @@ struct NewsBlurAddAccountView: View, Logging { } var newsBlurAccountExplainer: some View { - Text(account == nil ? "NEWSBLUR_FOOTER_EXPLAINER" : "", tableName: "Account").multilineTextAlignment(.center) + if account == nil { + return Text("Sign in to your NewsBlur account and sync your feeds across your devices. Your username and password will be encrypted and stored in Keychain.\n\nDon’t have a NewsBlur account? [Sign Up Here](https://newsblur.com)", comment: "Explanatory text describing the NewsBlur account") + .multilineTextAlignment(.center) + } + return Text("").multilineTextAlignment(.center) } private func executeAccountCredentials() async throws { diff --git a/iOS/Account/ReaderAPIAddAccountView.swift b/iOS/Account/ReaderAPIAddAccountView.swift index 6be436511..c0842d14f 100644 --- a/iOS/Account/ReaderAPIAddAccountView.swift +++ b/iOS/Account/ReaderAPIAddAccountView.swift @@ -43,18 +43,18 @@ struct ReaderAPIAddAccountView: View { } .toolbar { ToolbarItem(placement: .navigationBarLeading) { - Button(action: { dismiss() }, label: { Text("CANCEL_BUTTON_TITLE", tableName: "Buttons") }) + Button(action: { dismiss() }, label: { Text("Cancel", comment: "Button title") }) .disabled(showProgressIndicator) } ToolbarItem(placement: .navigationBarTrailing) { if showProgressIndicator { ProgressView() } } } - .alert(Text("ERROR_TITLE", tableName: "Errors"), isPresented: $accountError.1) { + .alert(Text("Error", comment: "Alert title: Error"), isPresented: $accountError.1) { Button(role: .cancel) { // } label: { - Text("DISMISS_BUTTON_TITLE", tableName: "Buttons") + Text("Dismiss", comment: "Button title") } } message: { Text(accountError.0?.localizedDescription ?? "") @@ -69,13 +69,13 @@ struct ReaderAPIAddAccountView: View { if accountType == nil { return Text("").multilineTextAlignment(.center) } switch accountType! { case .bazQux: - return Text("BAZQUX_FOOTER_EXPLAINER", tableName: "Account").multilineTextAlignment(.center) + return Text("Sign in to your BazQux account and sync your feeds across your devices. Your username and password will be encrypted and stored in Keychain.\n\nDon’t have a BazQux account? [Sign Up Here](https://bazqux.com)", comment: "Explanatory text describing the BazQux account").multilineTextAlignment(.center) case .inoreader: - return Text("INOREADER_FOOTER_EXPLAINER", tableName: "Account").multilineTextAlignment(.center) + return Text("Sign in to your InoReader account and sync your feeds across your devices. Your username and password will be encrypted and stored in Keychain.\n\nDon’t have an InoReader account? [Sign Up Here](https://www.inoreader.com)", comment: "Explanatory text describing the Inoreader account").multilineTextAlignment(.center) case .theOldReader: - return Text("OLDREADER_FOOTER_EXPLAINER", tableName: "Account").multilineTextAlignment(.center) + return Text("Sign in to your The Old Reader account and sync your feeds across your devices. Your username and password will be encrypted and stored in Keychain.\n\nDon’t have a The Old Reader account? [Sign Up Here](https://theoldreader.com)", comment: "Explanatory text describing The Old Reader account").multilineTextAlignment(.center) case .freshRSS: - return Text("FRESHRSS_FOOTER_EXPLAINER", tableName: "Account").multilineTextAlignment(.center) + return Text("Sign in to your FreshRSS instance and sync your feeds across your devices. Your username and password will be encrypted and stored in Keychain.\n\nDon’t have an FreshRSS instance? [Sign Up Here](https://freshrss.org)", comment: "Explanatory text describing the FreshRSS account").multilineTextAlignment(.center) default: return Text("").multilineTextAlignment(.center) } @@ -120,9 +120,9 @@ struct ReaderAPIAddAccountView: View { HStack { Spacer() if accountCredentials == nil { - Text("ADD_ACCOUNT_BUTTON_TITLE", tableName: "Buttons") + Text("Add Account", comment: "Button title") } else { - Text("UPDATE_CREDENTIALS_BUTTON_TITLE", tableName: "Buttons") + Text("Update Credentials", comment: "Button title") } Spacer() } diff --git a/iOS/Inspector/AccountInspectorView.swift b/iOS/Inspector/AccountInspectorView.swift index 2dd2924ee..261e8c5b6 100644 --- a/iOS/Inspector/AccountInspectorView.swift +++ b/iOS/Inspector/AccountInspectorView.swift @@ -73,13 +73,13 @@ struct AccountInspectorView: View { get: { account.name ?? account.defaultName }, set: { account.name = $0 }), prompt: Text(account.defaultName)) { - Text("ACCOUNT_NAME", tableName: "Inspector") + Text("Name", comment: "Textfield for the user to enter account name.") } Toggle(isOn: Binding(get: { account.isActive }, set: { account.isActive = $0 })) { - Text("ACTIVE", tableName: "Inspector") + Text("Active", comment: "Toggle denoting if the account is active.") } } } @@ -91,7 +91,7 @@ struct AccountInspectorView: View { } label: { HStack { Spacer() - Text("CREDENTIALS_BUTTON_TITLE", tableName: "Buttons") + Text("Credentials", comment: "Button title") Spacer() } } @@ -105,29 +105,29 @@ struct AccountInspectorView: View { } label: { HStack { Spacer() - Text("REMOVE_ACCOUNT_BUTTON_TITLE", tableName: "Buttons") + Text("Remove Account", comment: "Button title") Spacer() } } - .confirmationDialog(Text("REMOVE_ACCOUNT_TITLE", tableName: "Inspector"), isPresented: $showRemoveAccountAlert, titleVisibility: .visible) { + .confirmationDialog(Text("Remove Account", comment: "Remove account alert title"), isPresented: $showRemoveAccountAlert, titleVisibility: .visible) { Button(role: .destructive) { AccountManager.shared.deleteAccount(account) dismiss() } label: { - Text("REMOVE_ACCOUNT_BUTTON_TITLE", tableName: "Buttons") + Text("Remove Account", comment: "Button title") } Button(role: .cancel) { // } label: { - Text("CANCEL_BUTTON_TITLE", tableName: "Buttons") + Text("Cancel", comment: "Button title") } } message: { if account.type == .feedly { - Text("REMOVE_FEEDLY_MESSAGE", tableName: "Inspector") + Text("Are you sure you want to remove this account? NetNewsWire will no longer be able to access articles and feeds unless the account is added again.", comment: "Confirmation of the impacts of deleting the Feedly account.") } else { - Text("REMOVE_ACCOUNT_MESSAGE", tableName: "Inspector") + Text("Are you sure you want to remove this account? This cannot be undone.", comment: "Confirmation of the impacts of deleting the account.") } } } @@ -136,7 +136,7 @@ struct AccountInspectorView: View { var cloudKitLimitations: some View { HStack { Spacer() - Text("CLOUDKIT_LIMITATIONS_LINK", tableName: "Inspector") + Text("[iCloud Syncing Limitations & Solutions](https://netnewswire.com/help/iCloud)", comment: "Link to the NetNewsWire iCloud syncing limitations and soltutions website.") Spacer() } } diff --git a/iOS/Inspector/ExtensionInspectorView.swift b/iOS/Inspector/ExtensionInspectorView.swift index 6a2785673..fa300f71c 100644 --- a/iOS/Inspector/ExtensionInspectorView.swift +++ b/iOS/Inspector/ExtensionInspectorView.swift @@ -26,24 +26,24 @@ struct ExtensionInspectorView: View { Button(role: .destructive) { showDeactivateConfirmation = true } label: { - Text("DEACTIVATE_EXTENSION_BUTTON_TITLE", tableName: "Buttons") + Text("Deactivate Extension", comment: "Button title") } - .confirmationDialog(Text("DEACTIVATE_EXTENSION_TITLE", tableName: "Settings") , isPresented: $showDeactivateConfirmation, titleVisibility: .visible) { + .confirmationDialog(Text("Deactivate Extension", comment: "Deactivate Extension confirmation title") , isPresented: $showDeactivateConfirmation, titleVisibility: .visible) { Button(role: .destructive) { ExtensionPointManager.shared.deactivateExtensionPoint(extensionPoint!.extensionPointID) dismiss() } label: { - Text("DEACTIVATE_EXTENSION_BUTTON_TITLE", tableName: "Buttons") + Text("Deactivate Extension", comment: "Button title") } Button(role: .cancel) { // } label: { - Text("CANCEL_BUTTON_TITLE", tableName: "Buttons") + Text("Cancel", comment: "Button title") } } message: { - Text("DEACTIVATE_EXTENSION \(extensionPoint?.title ?? "")", tableName: "Settings") + Text("Are you sure you want to deactivate the “\(extensionPoint?.title ?? "")” extension?)", comment: "Confirmation text regarding deactivation on an extension.") } Spacer() } diff --git a/iOS/Inspector/WebFeedInspectorView.swift b/iOS/Inspector/WebFeedInspectorView.swift index 568729e2a..ef7a24653 100644 --- a/iOS/Inspector/WebFeedInspectorView.swift +++ b/iOS/Inspector/WebFeedInspectorView.swift @@ -29,19 +29,19 @@ struct WebFeedInspectorView: View { prompt: nil) Toggle(isOn: Binding(get: { webFeed.isNotifyAboutNewArticles ?? false }, set: { webFeed.isNotifyAboutNewArticles = $0 })) { - Text("NOTIFY_ABOUT_NEW_ARTICLES", tableName: "Inspector") + Text("Notify About New Articles", comment: "Toggle denoting whether the user has enabled new article notifications for this feed.") } if webFeed.isFeedProvider == false { Toggle(isOn: Binding( get: { webFeed.isArticleExtractorAlwaysOn ?? false }, set: { webFeed.isArticleExtractorAlwaysOn = $0 })) { - Text("ALWAYS_SHOW_READER_VIEW", tableName: "Inspector") + Text("Always Show Reader View", comment: "Toggle denoting whether the user has enabled Reader view for this feed.") } } } - Section(header: Text("HOME_PAGE", tableName: "Inspector")) { + Section(header: Text("Home Page", comment: "Home Page section header in the Feed inspector.")) { HStack { Text(webFeed.homePageURL?.decodedURLString ?? "") Spacer() @@ -54,7 +54,7 @@ struct WebFeedInspectorView: View { } } - Section(header: Text("FEED_URL", tableName: "Inspector")) { + Section(header: Text("Feed URL", comment: "Feed URL section header in the Feed inspector.")) { Text(webFeed.url.description) } } diff --git a/iOS/Settings/Account and Extensions/Accounts/AccountsManagementView.swift b/iOS/Settings/Account and Extensions/Accounts/AccountsManagementView.swift index c32c7cbcd..18f376411 100644 --- a/iOS/Settings/Account and Extensions/Accounts/AccountsManagementView.swift +++ b/iOS/Settings/Account and Extensions/Accounts/AccountsManagementView.swift @@ -68,19 +68,19 @@ struct AccountsManagementView: View { var body: some View { List { - Section(header: Text("ACTIVE_ACCOUNTS_HEADER", tableName: "Settings")) { + Section(header: Text("Active Accounts", comment: "Active accounts section header")) { ForEach(viewModel.sortedActiveAccounts, id: \.self) { account in accountRow(account) } } - Section(header: Text("INACTIVE_ACCOUNTS_HEADER", tableName: "Settings")) { + Section(header: Text("Inactive Accounts", comment: "Inactive accounts section header")) { ForEach(viewModel.sortedInactiveAccounts, id: \.self) { account in accountRow(account) } } } - .navigationTitle(Text("MANAGE_ACCOUNTS", tableName: "Settings")) + .navigationTitle(Text("Manage Accounts", comment: "Navigation title: Manage Accounts")) .toolbar { ToolbarItem(placement: .navigationBarTrailing) { Button { @@ -93,18 +93,18 @@ struct AccountsManagementView: View { .sheet(isPresented: $viewModel.showAddAccountSheet) { AddAccountListView() } - .alert(Text("ACCOUNT_REMOVE \(viewModel.accountToDelete?.nameForDisplay ?? "")", tableName: "Settings"), + .alert(Text("Are you sure you want to remove “\(viewModel.accountToDelete?.nameForDisplay ?? "")”?", comment: "Alert title: confirm account removal"), isPresented: $viewModel.showAccountDeletionAlert) { Button(role: .destructive) { AccountManager.shared.deleteAccount(viewModel.accountToDelete!) } label: { - Text("REMOVE_ACCOUNT_BUTTON_TITLE", tableName: "Buttons") + Text("Remove Account", comment: "Button title") } Button(role: .cancel) { viewModel.restoreAccount(viewModel.accountToDelete!) } label: { - Text("CANCEL_BUTTON_TITLE", tableName: "Buttons") + Text("Cancel", comment: "Button title") } } message: { switch viewModel.accountToDelete { @@ -113,9 +113,9 @@ struct AccountsManagementView: View { case .some(let account): switch account.type { case .feedly: - Text("REMOVE_FEEDLY_CONFIRMATION", tableName: "Settings") + Text("Are you sure you want to remove this account? NetNewsWire will no longer be able to access articles and feeds unless the account is added again.", comment: "Alert message: remove Feedly account confirmation") default: - Text("REMOVE_ACCOUNT_CONFIRMATION", tableName: "Settings") + Text("Are you sure you want to remove this account? This cannot be undone.", comment: "Alert message: remove account confirmation") } } } @@ -137,7 +137,7 @@ struct AccountsManagementView: View { viewModel.temporarilyDeleteAccount(account) } label: { Label { - Text("REMOVE_ACCOUNT_BUTTON_TITLE", tableName: "Buttons") + Text("Remove Account", comment: "Button title") } icon: { Image(systemName: "trash") } diff --git a/iOS/Settings/Account and Extensions/Accounts/AddAccountListView.swift b/iOS/Settings/Account and Extensions/Accounts/AddAccountListView.swift index c933136dd..5123ee3e3 100644 --- a/iOS/Settings/Account and Extensions/Accounts/AddAccountListView.swift +++ b/iOS/Settings/Account and Extensions/Accounts/AddAccountListView.swift @@ -74,7 +74,7 @@ struct AddAccountListView: View { webAccountSection selfHostedSection } - .navigationTitle(Text("ADD_ACCOUNT", tableName: "Settings")) + .navigationTitle(Text("Add Account", comment: "Navigation title: Add Account")) .navigationBarTitleDisplayMode(.inline) .listItemTint(.primary) .toolbar { @@ -82,7 +82,7 @@ struct AddAccountListView: View { Button(role: .cancel) { dismiss() } label: { - Text("CANCEL_BUTTON_TITLE", tableName: "Buttons") + Text("Cancel", comment: "Button title") } } } @@ -100,12 +100,12 @@ struct AddAccountListView: View { Text(viewModel.showAddAccountSheet.accountType.localizedAccountName()) } } - .alert(Text("ERROR_TITLE", tableName: "Errors"), + .alert(Text("Error", comment: "Alert title: Error"), isPresented: $viewModel.showAddAccountError.1, actions: { Button { // } label: { - Text("DISMISS_BUTTON_TITLE", tableName: "Buttons") + Text("Dismiss", comment: "Button title") } }, message: { Text("\(viewModel.showAddAccountError.0?.localizedDescription ?? "Unknown Error")") @@ -129,9 +129,9 @@ struct AddAccountListView: View { } } } header: { - Text("ADD_LOCAL_ACCOUNT_HEADER", tableName: "Settings") + Text("Local", comment: "Add Account: Local account section header") } footer: { - Text("ADD_LOCAL_ACCOUNT_FOOTER", tableName: "Settings") + Text("Local accounts do not sync your feeds across devices", comment: "Local account section footer") } } @@ -152,9 +152,9 @@ struct AddAccountListView: View { } .disabled(interactionDisabled(for: .cloudKit)) } header: { - Text("ADD_CLOUDKIT_ACCOUNT_HEADER", tableName: "Settings") + Text("iCloud", comment: "Add Account: iCloud section header") } footer: { - Text("ADD_CLOUDKIT_ACCOUNT_FOOTER", tableName: "Settings") + Text("Your iCloud account syncs your feeds across your Mac and iOS devices", comment: "Add Account: iCloud section footer") } } @@ -184,9 +184,9 @@ struct AddAccountListView: View { } } } header: { - Text("ADD_WEB_ACCOUNT_HEADER", tableName: "Settings") + Text("Web Account", comment: "Add Account: Web Account section header") } footer: { - Text("ADD_WEB_ACCOUNT_FOOTER", tableName: "Settings") + Text("Web accounts sync your feeds across all your devices", comment: "Add Account: Web Account section footer") } } @@ -206,9 +206,9 @@ struct AddAccountListView: View { } } } header: { - Text("ADD_SELFHOSTED_ACCOUNT_HEADER", tableName: "Settings") + Text("Self-Hosted", comment: "Add Accont: Self-hosted section header") } footer: { - Text("ADD_SELFHOSTED_ACCOUNT_FOOTER", tableName: "Settings") + Text("Self-hosted accounts sync your feeds across all your devices", comment: "Add Account: Self-hosted section footer") } } diff --git a/iOS/Settings/Account and Extensions/Extensions/AddExtensionListView.swift b/iOS/Settings/Account and Extensions/Extensions/AddExtensionListView.swift index 5ca059f17..970d5929d 100644 --- a/iOS/Settings/Account and Extensions/Extensions/AddExtensionListView.swift +++ b/iOS/Settings/Account and Extensions/Extensions/AddExtensionListView.swift @@ -18,8 +18,8 @@ struct AddExtensionListView: View { var body: some View { NavigationView { List { - Section(header: Text("FEED_PROVIDER_HEADER", tableName: "Settings"), - footer: Text("FEED_PROVIDER_FOOTER", tableName: "Settings")) { + Section(header: Text("Feed Providers", comment: "Feed Providers section header"), + footer: Text("Feed Providers allow you to subscribe to some pages as if they were RSS feeds.", comment: "Feed Providers section footer.")) { ForEach(0..( @@ -36,7 +36,7 @@ struct DisplayAndBehaviorsView: View { // TODO: Add Reader Mode Defaults here. See #3684. } } - .navigationTitle(Text("Display & Behaviors")) + .navigationTitle(Text("Display & Behaviors", comment: "Navigation title for Display & Behaviours")) .tint(Color(uiColor: AppAssets.primaryAccentColor)) } diff --git a/iOS/Settings/Appearance/TimelineCustomizerView.swift b/iOS/Settings/Appearance/TimelineCustomizerView.swift index 342a9f0b5..1f020e72c 100644 --- a/iOS/Settings/Appearance/TimelineCustomizerView.swift +++ b/iOS/Settings/Appearance/TimelineCustomizerView.swift @@ -15,7 +15,7 @@ struct TimelineCustomizerView: View { var body: some View { List { - Section(header: Text("ICON_SIZE", tableName: "Settings")) { + Section(header: Text("Icon Size", comment: "Timline Customiser: Icon size section header")) { ZStack { TickMarkSliderView(minValue: 1, maxValue: 3, currentValue: Binding(get: { @@ -34,7 +34,7 @@ struct TimelineCustomizerView: View { .listRowBackground(Color.clear) .listRowSeparator(.hidden) - Section(header: Text("NUMBER_OF_LINES", tableName: "Settings")) { + Section(header: Text("Number of Lines", comment: "Timeline customiser: Number of lines section header")) { ZStack { TickMarkSliderView(minValue: 1, maxValue: 5, currentValue: Binding(get: { Float(appDefaults.timelineNumberOfLines) @@ -61,7 +61,7 @@ struct TimelineCustomizerView: View { } } .listStyle(.grouped) - .navigationTitle(Text("TIMELINE_LAYOUT", tableName: "Settings")) + .navigationTitle(Text("Timeline Layout", comment: "Navigation bar title for Timeline Layout")) .onAppear { } @@ -88,11 +88,11 @@ struct TimelineCustomizerView: View { .bold() .lineLimit(appDefaults.timelineNumberOfLines) HStack { - Text("Feed name") + Text("Feed name", comment: "Feed name placeholder used in timeline preview") .foregroundColor(.secondary) .font(.caption) Spacer() - Text("08:51") + Text("08:51", comment: "Sample time used in timeline preview") .foregroundColor(.secondary) .font(.caption) }.padding(0) diff --git a/iOS/Settings/General/SettingsRows.swift b/iOS/Settings/General/SettingsRows.swift index 4ca8b7c40..92d78b572 100644 --- a/iOS/Settings/General/SettingsRows.swift +++ b/iOS/Settings/General/SettingsRows.swift @@ -18,7 +18,7 @@ struct SettingsViewRows { /// This row, when tapped, will open iOS System Settings. static var openSystemSettings: some View { Label { - Text("OPEN_SYSTEM_SETTINGS", tableName: "Settings") + Text("Open System Settings", comment: "Button: opens device Settings app.") } icon: { Image("system.settings") .resizable() @@ -36,7 +36,7 @@ struct SettingsViewRows { static var configureNewArticleNotifications: some View { NavigationLink(destination: NewArticleNotificationsView()) { Label { - Text("NEW_ARTICLE_NOTIFICATIONS", tableName: "Settings") + Text("New Article Notifications", comment: "Button: opens New Article Notifications view") } icon: { Image("notifications.sounds") .resizable() @@ -51,7 +51,7 @@ struct SettingsViewRows { static var addAccount: some View { NavigationLink(destination: AccountsManagementView()) { Label { - Text("MANAGE_ACCOUNTS", tableName: "Settings") + Text("Manage Accounts", comment: "Button: opens Accounts Management view") } icon: { Image("app.account") .resizable() @@ -66,7 +66,7 @@ struct SettingsViewRows { static var manageExtensions: some View { NavigationLink(destination: ExtensionsManagementView()) { Label { - Text("MANAGE_EXTENSIONS", tableName: "Settings") + Text("Manage Extensions", comment: "Button: opens Extensions Management view") } icon: { Image("app.extension") .resizable() @@ -83,7 +83,7 @@ struct SettingsViewRows { showImportActionSheet.wrappedValue.toggle() } label: { Label { - Text("IMPORT_SUBSCRIPTIONS", tableName: "Settings") + Text("Import Subscriptions", comment: "Button: opens import subscriptions view") .foregroundColor(.primary) } icon: { @@ -102,7 +102,7 @@ struct SettingsViewRows { showExportActionSheet.wrappedValue.toggle() } label: { Label { - Text("EXPORT_SUBSCRIPTIONS", tableName: "Settings") + Text("Export Subscriptions", comment: "Button: opens Export Subscriptions view") .foregroundColor(.primary) } icon: { @@ -119,7 +119,7 @@ struct SettingsViewRows { /// - Returns: `Toggle` static func sortOldestToNewest(_ preference: Binding) -> some View { Toggle(isOn: preference) { - Text("SORT_OLDEST_NEWEST", tableName: "Settings") + Text("Sort Oldest to Newest", comment: "Toggle: Sort articles from oldest to newest when enabled.") } } @@ -128,7 +128,7 @@ struct SettingsViewRows { /// - Returns: `Toggle` static func groupByFeed(_ preference: Binding) -> some View { Toggle(isOn: preference) { - Text("GROUP_BY_FEED", tableName: "Settings") + Text("Group by Feed", comment: "Toggle: groups articles by feed when enabled.") } } @@ -137,7 +137,7 @@ struct SettingsViewRows { /// - Returns: `Toggle` static func refreshToClearReadArticles(_ preference: Binding) -> some View { Toggle(isOn: preference) { - Text("REFRESH_TO_CLEAR_READ_ARTICLES", tableName: "Settings") + Text("Refresh to Clear Read Articles", comment: "Toggle: when enabled, articles will be cleared when the timeline is refreshed") } } @@ -147,7 +147,7 @@ struct SettingsViewRows { NavigationLink { TimelineCustomizerView() } label: { - Text("TIMELINE_LAYOUT", tableName: "Settings") + Text("Timeline Layout", comment: "Button: opens the timeline customiser") } } @@ -156,7 +156,7 @@ struct SettingsViewRows { static var themeSelection: some View { NavigationLink(destination: ArticleThemeManagerView()) { HStack { - Text("ARTICLE_THEME", tableName: "Settings") + Text("Article Theme", comment: "Button: opens the Article Theme manager view") Spacer() Text(ArticleThemesManager.shared.currentTheme.name) .font(.callout) @@ -165,15 +165,21 @@ struct SettingsViewRows { } } + /// Returns a `Toggle` which triggers changes to the user's mark all as read preferences. + /// - Parameter preference: `Binding` + /// - Returns: `Toggle` static func confirmMarkAllAsRead(_ preference: Binding) -> some View { Toggle(isOn: preference) { - Text("CONFIRM_MARK_ALL_AS_READ", tableName: "Settings") + Text("Confirm Mark All as Read", comment: "Toggle: when enabled, the app will confirm whether to mark all items as read") } } + /// Returns a `Toggle` which triggers changes to the user's link opening behaviour. + /// - Parameter preference: `Binding` + /// - Returns: `Toggle` static func openLinksInNetNewsWire(_ preference: Binding) -> some View { Toggle(isOn: preference) { - Text("OPEN_LINKS_IN_APP", tableName: "Settings") + Text("Open Links in NetNewsWire", comment: "Toggle: when enabled, links will open in NetNewsWire") } } @@ -184,7 +190,7 @@ struct SettingsViewRows { static func configureAppearance(_ isShown: Binding) -> some View { NavigationLink(destination: DisplayAndBehaviorsView(), isActive: isShown) { Label { - Text("DISPLAY_BEHAVIORS_HEADER", tableName: "Settings") + Text("Display & Behaviours", comment: "Button: opens the Display and Appearance view.") } icon: { Image("app.appearance") .resizable() @@ -222,7 +228,7 @@ struct SettingsViewRows { AboutView() } label: { Label { - Text("ABOUT", tableName: "Settings") + Text("About", comment: "Button: opens the NetNewsWire about view.") } icon: { Image(systemName: "info.circle") .resizable() diff --git a/iOS/Settings/General/SettingsView.swift b/iOS/Settings/General/SettingsView.swift index 79d046156..f2e5f17f4 100644 --- a/iOS/Settings/General/SettingsView.swift +++ b/iOS/Settings/General/SettingsView.swift @@ -23,18 +23,18 @@ struct SettingsView: View { NavigationView { List { // Device Permissions - Section(header: Text("DEVICE_PERMISSIONS_HEADER", tableName: "Settings"), - footer: Text("DEVICE_PERMISSIONS_FOOTER", tableName: "Settings")) { + Section(header: Text("Device Permissions", comment: "Settings: Device Permissions section header."), + footer: Text("Configure NetNewsWire's access to Siri, background app refresh, mobile data, and more.", comment: "Settings: Device Permissions section footer.")) { SettingsViewRows.openSystemSettings } // Account/Extensions/OPML Management - Section(header: Text("ACCOUNTS_EXTENSIONS_HEADER", tableName: "Settings"), - footer: Text("ACCOUNTS_EXTENSIONS_FOOTER", tableName: "Settings")) { + Section(header: Text("Accounts & Extensions", comment: "Settings: Accounts and Extensions section header."), + footer: Text("Add, delete, enable, or disable accounts and extensions.", comment: "Settings: Accounts and Extensions section footer.")) { SettingsViewRows.addAccount SettingsViewRows.manageExtensions SettingsViewRows.importOPML(showImportActionSheet: $viewModel.showImportActionSheet) - .confirmationDialog(Text("IMPORT_OPML_CONFIRMATION", tableName: "Settings"), + .confirmationDialog(Text("Import OPML", comment: "Import OPML confirmation title."), isPresented: $viewModel.showImportActionSheet, titleVisibility: .visible) { ForEach(AccountManager.shared.sortedActiveAccounts, id: \.self) { account in @@ -46,7 +46,7 @@ struct SettingsView: View { } SettingsViewRows.exportOPML(showExportActionSheet: $viewModel.showExportActionSheet) - .confirmationDialog(Text("EXPORT_OPML_CONFIRMATION", tableName: "Settings"), + .confirmationDialog(Text("Export OPML", comment: "Export OPML confirmation title."), isPresented: $viewModel.showExportActionSheet, titleVisibility: .visible) { ForEach(AccountManager.shared.sortedAccounts, id: \.self) { account in @@ -65,8 +65,8 @@ struct SettingsView: View { } // Appearance - Section(header: Text("APPEARANCE_HEADER", tableName: "Settings"), - footer: Text("APPEARANCE_FOOTER", tableName: "Settings")) { + Section(header: Text("Appearance", comment: "Settings: Appearance section header."), + footer: Text("Manage the look, feel, and behavior of NetNewsWire.", comment: "Settings: Appearance section footer.")) { SettingsViewRows.configureAppearance($isConfigureAppearanceShown) if viewModel.notificationPermissions == .authorized { SettingsViewRows.configureNewArticleNotifications @@ -83,11 +83,11 @@ struct SettingsView: View { } .tint(Color(uiColor: AppAssets.primaryAccentColor)) .listStyle(.insetGrouped) - .navigationTitle(Text("SETTINGS_TITLE", tableName: "Settings")) + .navigationTitle(Text("Settings", comment: "Navigation bar title for Settings.")) .navigationBarTitleDisplayMode(.inline) .toolbar { ToolbarItem(placement: .navigationBarLeading, content: { - Button(action: { dismiss() }, label: { Text("DONE_BUTTON_TITLE", tableName: "Buttons") }) + Button(action: { dismiss() }, label: { Text("Done", comment: "Button title") }) }) } .sheet(isPresented: $viewModel.showAddAccountView) { @@ -144,15 +144,15 @@ struct SettingsView: View { viewModel.showImportExportError = true } }) - .alert(Text("IMPORT_OPML_SUCCESS_TITLE", tableName: "Settings"), + .alert(Text("Imported Successfully", comment: "Alert title: imported OPML file successfully."), isPresented: $viewModel.showImportSuccess, actions: {}, - message: { Text("IMPORT_OPML_SUCCESS_MESSAGE \(viewModel.importAccount?.nameForDisplay ?? "")", tableName: "Settings") }) - .alert(Text("EXPORT_OPML_SUCCESS_TITLE", tableName: "Settings"), + message: { Text("Subscriptions have been imported to your \(viewModel.importAccount?.nameForDisplay ?? "") account.", tableName: "Alert message: imported OPML file successfully.") }) + .alert(Text("Exported Successfully", comment: "Alert title: exported OPML file successfully."), isPresented: $viewModel.showExportSuccess, actions: {}, - message: { Text("EXPORT_OPML_SUCCESS_MESSAGE", tableName: "Settings") }) - .alert(Text("ERROR_TITLE", tableName: "Errors"), + message: { Text("Your OPML file has been successfully exported.", comment: "Alert message: exported OPML file successfully.") }) + .alert(Text("Error", comment: "Alert title: Error"), isPresented: $viewModel.showImportExportError, actions: {}, message: { Text(viewModel.importExportError?.localizedDescription ?? "Import/Export Error") } ) diff --git a/iOS/Settings/Help/AboutView.swift b/iOS/Settings/Help/AboutView.swift index 1190e5366..69b4b3a55 100644 --- a/iOS/Settings/Help/AboutView.swift +++ b/iOS/Settings/Help/AboutView.swift @@ -13,21 +13,21 @@ struct AboutView: View, LoadableAboutData { var body: some View { List { Section(header: aboutHeaderView) {} - Section(header: Text("PRIMARY_CONTRIBUTORS", tableName: "Settings")) { + Section(header: Text("Primary Contributors", comment: "About: Primary Contributors section header")) { ForEach(0.. Date: Wed, 21 Dec 2022 19:51:47 +0800 Subject: [PATCH 50/80] Corrects a spelling goof. --- iOS/Settings/Appearance/DisplayAndBehaviorsView.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/iOS/Settings/Appearance/DisplayAndBehaviorsView.swift b/iOS/Settings/Appearance/DisplayAndBehaviorsView.swift index 1227494ca..b4eb40972 100644 --- a/iOS/Settings/Appearance/DisplayAndBehaviorsView.swift +++ b/iOS/Settings/Appearance/DisplayAndBehaviorsView.swift @@ -26,7 +26,7 @@ struct DisplayAndBehaviorsView: View { SettingsViewRows.timelineLayout } - Section(header: Text("Artilces", comment: "Display & Behaviours: Articles section header")) { + Section(header: Text("Articles", comment: "Display & Behaviours: Articles section header")) { SettingsViewRows.themeSelection SettingsViewRows.confirmMarkAllAsRead($appDefaults.confirmMarkAllAsRead) SettingsViewRows.openLinksInNetNewsWire(Binding( From 12b17e3f3601bc98d07191357a2865df739385a7 Mon Sep 17 00:00:00 2001 From: Stuart Breckenridge Date: Wed, 21 Dec 2022 20:44:36 +0800 Subject: [PATCH 51/80] Adds Validation to NewsBlur and Feedbin Views Disables add account button when username or password are empty. --- iOS/Account/FeedbinAddAccountView.swift | 8 ++++++++ iOS/Account/NewsBlurAddAccountView.swift | 8 ++++++++ 2 files changed, 16 insertions(+) diff --git a/iOS/Account/FeedbinAddAccountView.swift b/iOS/Account/FeedbinAddAccountView.swift index 0fac486cb..51db90293 100644 --- a/iOS/Account/FeedbinAddAccountView.swift +++ b/iOS/Account/FeedbinAddAccountView.swift @@ -99,6 +99,7 @@ struct FeedbinAddAccountView: View { Spacer() } } + .disabled(!validateCredentials()) } } @@ -110,6 +111,13 @@ struct FeedbinAddAccountView: View { return Text("").multilineTextAlignment(.center) } + private func validateCredentials() -> Bool { + if (accountEmail.trimmingWhitespace.count == 0) || (accountPassword.trimmingWhitespace.count == 0) { + return false + } + return true + } + private func retrieveCredentials() { if let account = account { do { diff --git a/iOS/Account/NewsBlurAddAccountView.swift b/iOS/Account/NewsBlurAddAccountView.swift index 37a414d2a..f15387faf 100644 --- a/iOS/Account/NewsBlurAddAccountView.swift +++ b/iOS/Account/NewsBlurAddAccountView.swift @@ -116,6 +116,7 @@ struct NewsBlurAddAccountView: View, Logging { Spacer() } } + .disabled(!validateCredentials()) } } @@ -127,6 +128,13 @@ struct NewsBlurAddAccountView: View, Logging { return Text("").multilineTextAlignment(.center) } + private func validateCredentials() -> Bool { + if (accountUserName.trimmingWhitespace.count == 0) || (accountPassword.trimmingWhitespace.count == 0) { + return false + } + return true + } + private func executeAccountCredentials() async throws { let trimmedUsername = accountUserName.trimmingWhitespace From 7dc5845f4e9b2eced7921df43344784a92105f79 Mon Sep 17 00:00:00 2001 From: Stuart Breckenridge Date: Wed, 21 Dec 2022 21:01:58 +0800 Subject: [PATCH 52/80] Adds Error Display for the handle(_: URL) function Additionally, shortens validation code in AddAccount --- iOS/Account/NewsBlurAddAccountView.swift | 17 ++++------------- .../Extensions/EnableExtensionPointView.swift | 5 +++++ .../Extensions/EnableExtensionViewModel.swift | 5 +++-- 3 files changed, 12 insertions(+), 15 deletions(-) diff --git a/iOS/Account/NewsBlurAddAccountView.swift b/iOS/Account/NewsBlurAddAccountView.swift index f15387faf..5a47bad44 100644 --- a/iOS/Account/NewsBlurAddAccountView.swift +++ b/iOS/Account/NewsBlurAddAccountView.swift @@ -60,21 +60,12 @@ struct NewsBlurAddAccountView: View, Logging { func retreiveCredentials() { if let account = account { - do { - let credentials = try account.retrieveCredentials(type: .newsBlurBasic) - if let credentials = credentials { - self.accountUserName = credentials.username - self.accountPassword = credentials.secret - } else { - print("No cred") - } - } catch { - print(error.localizedDescription) + let credentials = try? account.retrieveCredentials(type: .newsBlurBasic) + if let credentials = credentials { + self.accountUserName = credentials.username + self.accountPassword = credentials.secret } - } else { - print("No account") } - } var accountDetails: some View { diff --git a/iOS/Settings/Account and Extensions/Extensions/EnableExtensionPointView.swift b/iOS/Settings/Account and Extensions/Extensions/EnableExtensionPointView.swift index 492a48533..868d9d479 100644 --- a/iOS/Settings/Account and Extensions/Extensions/EnableExtensionPointView.swift +++ b/iOS/Settings/Account and Extensions/Extensions/EnableExtensionPointView.swift @@ -26,6 +26,11 @@ struct EnableExtensionPointView: View { }, message: { Text(extensionError.0?.localizedDescription ?? "Unknown Error") }) + .alert(Text("Error", comment: "Alert title: Error"), isPresented: $viewModel.showExtensionError.1, actions: { + Button(action: {}, label: { Text("Dismiss", comment: "Button title") }) + }, message: { + Text(viewModel.showExtensionError.0?.localizedDescription ?? "Unknown Error") + }) .navigationTitle(extensionPoint.title) .navigationBarTitleDisplayMode(.inline) .dismissOnExternalContextLaunch() diff --git a/iOS/Settings/Account and Extensions/Extensions/EnableExtensionViewModel.swift b/iOS/Settings/Account and Extensions/Extensions/EnableExtensionViewModel.swift index e4ea4af80..930241210 100644 --- a/iOS/Settings/Account and Extensions/Extensions/EnableExtensionViewModel.swift +++ b/iOS/Settings/Account and Extensions/Extensions/EnableExtensionViewModel.swift @@ -13,9 +13,10 @@ import OAuthSwift import Secrets import RSCore -@MainActor + public final class EnableExtensionViewModel: NSObject, ObservableObject, OAuthSwiftURLHandlerType, ASWebAuthenticationPresentationContextProviding, Logging { + @Published public var showExtensionError: (Error?, Bool) = (nil, false) private var extensionPointType: ExtensionPoint.Type? private var oauth: OAuthSwift? private var callbackURL: URL? = nil @@ -146,7 +147,7 @@ public final class EnableExtensionViewModel: NSObject, ObservableObject, OAuthSw if case ASWebAuthenticationSessionError.canceledLogin = error { print("Login cancelled.") } else { - //self.presentError(error) + self.showExtensionError = (error, true) } }) From 4e0fe7c71016e12fc16a688be182fe5ae04369ee Mon Sep 17 00:00:00 2001 From: Stuart Breckenridge Date: Wed, 21 Dec 2022 21:06:23 +0800 Subject: [PATCH 53/80] Converts print statements to Logger --- iOS/SceneDelegate.swift | 2 +- .../Extensions/EnableExtensionViewModel.swift | 4 ++-- iOS/UIKit Extensions/UIStoryboard-Extensions.swift | 5 +++-- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/iOS/SceneDelegate.swift b/iOS/SceneDelegate.swift index 4c2fc6966..85974c41a 100644 --- a/iOS/SceneDelegate.swift +++ b/iOS/SceneDelegate.swift @@ -200,7 +200,7 @@ class SceneDelegate: UIResponder, UIWindowSceneDelegate, Logging { } task.resume() } else { - print("No theme URL") + self.logger.debug("No theme URL.") return } } else { diff --git a/iOS/Settings/Account and Extensions/Extensions/EnableExtensionViewModel.swift b/iOS/Settings/Account and Extensions/Extensions/EnableExtensionViewModel.swift index 930241210..7baad5982 100644 --- a/iOS/Settings/Account and Extensions/Extensions/EnableExtensionViewModel.swift +++ b/iOS/Settings/Account and Extensions/Extensions/EnableExtensionViewModel.swift @@ -145,7 +145,7 @@ public final class EnableExtensionViewModel: NSObject, ObservableObject, OAuthSw } if case ASWebAuthenticationSessionError.canceledLogin = error { - print("Login cancelled.") + self.logger.debug("Login cancelled.") } else { self.showExtensionError = (error, true) } @@ -153,7 +153,7 @@ public final class EnableExtensionViewModel: NSObject, ObservableObject, OAuthSw session.presentationContextProvider = self if !session.start() { - print("Session failed to start!!!") + logger.debug("Session failed to start!!!") } } diff --git a/iOS/UIKit Extensions/UIStoryboard-Extensions.swift b/iOS/UIKit Extensions/UIStoryboard-Extensions.swift index 92caedf99..a32f9b466 100644 --- a/iOS/UIKit Extensions/UIStoryboard-Extensions.swift +++ b/iOS/UIKit Extensions/UIStoryboard-Extensions.swift @@ -7,8 +7,9 @@ // import UIKit +import RSCore -extension UIStoryboard { +extension UIStoryboard: Logging { static let preferredContentSizeForFormSheetDisplay = CGSize(width: 460.0, height: 400.0) @@ -44,7 +45,7 @@ extension UIStoryboard { let storyboardId = String(describing: type) guard let viewController = instantiateViewController(withIdentifier: storyboardId) as? T else { - print("Unable to load view with Scene Identifier: \(storyboardId)") + logger.error("Unable to load view with Scene Identifier: \(storyboardId)") fatalError() } From 577e7562eebe409c91c5cdd6896e752f997e326f Mon Sep 17 00:00:00 2001 From: Stuart Breckenridge Date: Wed, 21 Dec 2022 21:09:44 +0800 Subject: [PATCH 54/80] Improves the Import/Export OPML titles --- iOS/Settings/General/SettingsView.swift | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/iOS/Settings/General/SettingsView.swift b/iOS/Settings/General/SettingsView.swift index f2e5f17f4..2942df1b1 100644 --- a/iOS/Settings/General/SettingsView.swift +++ b/iOS/Settings/General/SettingsView.swift @@ -34,7 +34,7 @@ struct SettingsView: View { SettingsViewRows.addAccount SettingsViewRows.manageExtensions SettingsViewRows.importOPML(showImportActionSheet: $viewModel.showImportActionSheet) - .confirmationDialog(Text("Import OPML", comment: "Import OPML confirmation title."), + .confirmationDialog(Text("Choose an account to receive the imported feeds and folders", comment: "Import OPML confirmation title."), isPresented: $viewModel.showImportActionSheet, titleVisibility: .visible) { ForEach(AccountManager.shared.sortedActiveAccounts, id: \.self) { account in @@ -46,7 +46,7 @@ struct SettingsView: View { } SettingsViewRows.exportOPML(showExportActionSheet: $viewModel.showExportActionSheet) - .confirmationDialog(Text("Export OPML", comment: "Export OPML confirmation title."), + .confirmationDialog(Text("Choose an account with the subscriptions to export", comment: "Export OPML confirmation title."), isPresented: $viewModel.showExportActionSheet, titleVisibility: .visible) { ForEach(AccountManager.shared.sortedAccounts, id: \.self) { account in From 269359f88c57f2cca6f0c78a8efcaf770e003405 Mon Sep 17 00:00:00 2001 From: Stuart Breckenridge Date: Thu, 22 Dec 2022 06:45:54 +0800 Subject: [PATCH 55/80] Provides visible separation of Ranchero themes This commit provides visible separation of first and third party themes with a clear indicator that first party themes cannot be deleted. --- .../Appearance/ArticleThemeManagerView.swift | 64 ++++++++++++------- 1 file changed, 41 insertions(+), 23 deletions(-) diff --git a/iOS/Settings/Appearance/ArticleThemeManagerView.swift b/iOS/Settings/Appearance/ArticleThemeManagerView.swift index 1ab703516..e015ad355 100644 --- a/iOS/Settings/Appearance/ArticleThemeManagerView.swift +++ b/iOS/Settings/Appearance/ArticleThemeManagerView.swift @@ -16,17 +16,29 @@ struct ArticleThemeManagerView: View { @State private var showImportConfirmationAlert: (ArticleTheme?, Bool) = (nil, false) @State private var showImportErrorAlert: (Error?, Bool) = (nil, false) @State private var showImportSuccessAlert: Bool = false + @State private var installedFirstPartyThemes: [ArticleTheme] = [] + @State private var installedThirdPartyThemes: [ArticleTheme] = [] var body: some View { Form { - Section(header: Text("Installed Themes", comment: "Section header for installed themes")) { - articleThemeRow("Default") - ForEach(themeManager.themeNames, id: \.self) {theme in - articleThemeRow(theme) + Section(header: Text("Ranchero Software Themes", comment: "Section header for installed themes"), footer: Text("These themes cannot be deleted.", comment: "Section footer for installed themes.")) { + articleThemeRow(try! themeManager.articleThemeWithThemeName("Default")) + ForEach(0.. some View { + func articleThemeRow(_ theme: ArticleTheme) -> some View { Button { - themeManager.currentThemeName = theme + themeManager.currentThemeName = theme.name } label: { HStack { VStack(alignment: .leading) { - Text(theme) + Text(theme.name) .foregroundColor(.primary) - if let articleTheme = try? themeManager.articleThemeWithThemeName(theme) { - Text("Created by \(articleTheme.creatorName)", comment: "Article theme creator byline.") - .font(.caption) - .foregroundColor(.secondary) - } + Text("Created by \(theme.creatorName)", comment: "Article theme creator byline.") + .font(.caption) + .foregroundColor(.secondary) } Spacer() - if themeManager.currentThemeName == theme { + if themeManager.currentThemeName == theme.name { Image(systemName: "checkmark") .foregroundColor(Color(uiColor: AppAssets.primaryAccentColor)) } @@ -161,20 +174,25 @@ struct ArticleThemeManagerView: View { } .swipeActions(edge: .trailing, allowsFullSwipe: false) { - if theme == themeManager.currentThemeName { } - if let currentTheme = try? themeManager.articleThemeWithThemeName(theme) { - if currentTheme.isAppTheme { } else { - Button { - showDeleteConfirmation = (theme, true) - } label: { - Text("Delete", comment: "Button title") - Image(systemName: "trash") - } - .tint(.red) + if theme.isAppTheme || theme.name == themeManager.currentThemeName { + + } else { + Button { + showDeleteConfirmation = (theme.name, true) + } label: { + Text("Delete", comment: "Button title") + Image(systemName: "trash") } + .tint(.red) } } } + + private func updateThemesArrays() { + installedFirstPartyThemes = themeManager.themeNames.map({ try? themeManager.articleThemeWithThemeName($0) }).compactMap({ $0 }).filter({ $0.isAppTheme }).sorted(by: { $0.name < $1.name }) + + installedThirdPartyThemes = themeManager.themeNames.map({ try? themeManager.articleThemeWithThemeName($0) }).compactMap({ $0 }).filter({ !$0.isAppTheme }).sorted(by: { $0.name < $1.name }) + } } struct ArticleThemeImporterView_Previews: PreviewProvider { From 227f907c3d7bd34d3670798c1a56341e9dd9aa29 Mon Sep 17 00:00:00 2001 From: Stuart Breckenridge Date: Thu, 22 Dec 2022 07:56:01 +0800 Subject: [PATCH 56/80] Removes unused `withAnimation` wrapper --- iOS/Settings/Appearance/TimelineCustomizerView.swift | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/iOS/Settings/Appearance/TimelineCustomizerView.swift b/iOS/Settings/Appearance/TimelineCustomizerView.swift index 1f020e72c..edab2008f 100644 --- a/iOS/Settings/Appearance/TimelineCustomizerView.swift +++ b/iOS/Settings/Appearance/TimelineCustomizerView.swift @@ -53,11 +53,8 @@ struct TimelineCustomizerView: View { .listRowSeparator(.hidden) Section { - withAnimation { - timeLinePreviewRow - .listRowInsets(EdgeInsets(top: 8, leading: 4, bottom: 4, trailing: 24)) - } - + timeLinePreviewRow + .listRowInsets(EdgeInsets(top: 8, leading: 4, bottom: 4, trailing: 24)) } } .listStyle(.grouped) From 242bba67793dfaaf5880d6de63b706d85d6226d3 Mon Sep 17 00:00:00 2001 From: Stuart Breckenridge Date: Thu, 22 Dec 2022 07:56:34 +0800 Subject: [PATCH 57/80] Removes unused `onAppear {}` --- iOS/Settings/Appearance/TimelineCustomizerView.swift | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/iOS/Settings/Appearance/TimelineCustomizerView.swift b/iOS/Settings/Appearance/TimelineCustomizerView.swift index edab2008f..edf8b030b 100644 --- a/iOS/Settings/Appearance/TimelineCustomizerView.swift +++ b/iOS/Settings/Appearance/TimelineCustomizerView.swift @@ -59,9 +59,7 @@ struct TimelineCustomizerView: View { } .listStyle(.grouped) .navigationTitle(Text("Timeline Layout", comment: "Navigation bar title for Timeline Layout")) - .onAppear { - - } + } var timeLinePreviewRow: some View { From 89b1de92f1d9e71ea7810d2c13c95451014a3f8a Mon Sep 17 00:00:00 2001 From: Stuart Breckenridge Date: Thu, 22 Dec 2022 07:57:56 +0800 Subject: [PATCH 58/80] Adds `verbatim` to timeline preview (to stop it being localized) --- iOS/Settings/Appearance/TimelineCustomizerView.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/iOS/Settings/Appearance/TimelineCustomizerView.swift b/iOS/Settings/Appearance/TimelineCustomizerView.swift index edf8b030b..4948e7d34 100644 --- a/iOS/Settings/Appearance/TimelineCustomizerView.swift +++ b/iOS/Settings/Appearance/TimelineCustomizerView.swift @@ -79,7 +79,7 @@ struct TimelineCustomizerView: View { Spacer() }.frame(width: appDefaults.timelineIconSize.size.width) VStack(alignment: .leading, spacing: 4) { - Text("Enim ut tellus elementum sagittis vitae et. Nibh praesent tristique magna sit amet purus gravida quis blandit. Neque volutpat ac tincidunt vitae semper quis lectus nulla. Massa id neque aliquam vestibulum morbi blandit. Ultrices vitae auctor eu augue. Enim eu turpis egestas pretium aenean pharetra magna. Eget gravida cum sociis natoque. Sit amet consectetur adipiscing elit. Auctor eu augue ut lectus arcu bibendum. Maecenas volutpat blandit aliquam etiam erat velit. Ut pharetra sit amet aliquam id diam maecenas ultricies. In hac habitasse platea dictumst quisque sagittis purus sit amet.") + Text(verbatim: "Enim ut tellus elementum sagittis vitae et. Nibh praesent tristique magna sit amet purus gravida quis blandit. Neque volutpat ac tincidunt vitae semper quis lectus nulla. Massa id neque aliquam vestibulum morbi blandit. Ultrices vitae auctor eu augue. Enim eu turpis egestas pretium aenean pharetra magna. Eget gravida cum sociis natoque. Sit amet consectetur adipiscing elit. Auctor eu augue ut lectus arcu bibendum. Maecenas volutpat blandit aliquam etiam erat velit. Ut pharetra sit amet aliquam id diam maecenas ultricies. In hac habitasse platea dictumst quisque sagittis purus sit amet.") .bold() .lineLimit(appDefaults.timelineNumberOfLines) HStack { From bb40169ddae7b89a1c20744e0bb03115f0f9aedf Mon Sep 17 00:00:00 2001 From: Stuart Breckenridge Date: Thu, 22 Dec 2022 08:42:43 +0800 Subject: [PATCH 59/80] Creates modifier for customInsetGrouped rows --- NetNewsWire.xcodeproj/project.pbxproj | 8 +++-- .../Appearance/TimelineCustomizerView.swift | 17 ++-------- .../CustomInsetGroupedRowStyle.swift | 34 +++++++++++++++++++ 3 files changed, 42 insertions(+), 17 deletions(-) create mode 100644 iOS/SwiftUI Extensions/CustomInsetGroupedRowStyle.swift diff --git a/NetNewsWire.xcodeproj/project.pbxproj b/NetNewsWire.xcodeproj/project.pbxproj index f8f02a349..d5f1eadf2 100644 --- a/NetNewsWire.xcodeproj/project.pbxproj +++ b/NetNewsWire.xcodeproj/project.pbxproj @@ -878,6 +878,7 @@ DFD406FA291FB5E400C02962 /* SettingsRows.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFD406F9291FB5E400C02962 /* SettingsRows.swift */; }; DFD406FC291FB63B00C02962 /* SettingsHelpSheets.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFD406FB291FB63B00C02962 /* SettingsHelpSheets.swift */; }; DFD406FF291FDC0C00C02962 /* DisplayAndBehaviorsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFD406FE291FDC0C00C02962 /* DisplayAndBehaviorsView.swift */; }; + DFE522A32953DEF400376B77 /* CustomInsetGroupedRowStyle.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFE522A22953DEF400376B77 /* CustomInsetGroupedRowStyle.swift */; }; DFFB8FC2279B75E300AC21D7 /* Account in Embed Frameworks */ = {isa = PBXBuildFile; productRef = 51BC2F4A24D343A500E90810 /* Account */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; DFFC4E7428E95C01006B82AF /* AboutView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFFC4E7328E95C01006B82AF /* AboutView.swift */; }; FF3ABF13232599810074C542 /* ArticleSorterTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF3ABF09232599450074C542 /* ArticleSorterTests.swift */; }; @@ -1629,6 +1630,7 @@ DFD406FB291FB63B00C02962 /* SettingsHelpSheets.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsHelpSheets.swift; sourceTree = ""; }; DFD406FE291FDC0C00C02962 /* DisplayAndBehaviorsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DisplayAndBehaviorsView.swift; sourceTree = ""; }; DFD6AACB27ADE80900463FAD /* NewsFax.nnwtheme */ = {isa = PBXFileReference; lastKnownFileType = wrapper; path = NewsFax.nnwtheme; sourceTree = ""; }; + DFE522A22953DEF400376B77 /* CustomInsetGroupedRowStyle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CustomInsetGroupedRowStyle.swift; sourceTree = ""; }; DFFC4E7328E95C01006B82AF /* AboutView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AboutView.swift; sourceTree = ""; }; FF3ABF09232599450074C542 /* ArticleSorterTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ArticleSorterTests.swift; sourceTree = ""; }; FF3ABF1423259DDB0074C542 /* ArticleSorter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ArticleSorter.swift; sourceTree = ""; }; @@ -2966,11 +2968,12 @@ DFB34986294B446300BC81AD /* SwiftUI Extensions */ = { isa = PBXGroup; children = ( - DFB34987294B447F00BC81AD /* InjectedNavigationView.swift */, DFB349A3294E914D00BC81AD /* AccountSectionHeader.swift */, + DFE522A22953DEF400376B77 /* CustomInsetGroupedRowStyle.swift */, DF28B454294FE74A00C4D8CA /* ExtensionSectionHeader.swift */, - DF28B44C294ED52700C4D8CA /* View+DismissOnExternalContext.swift */, + DFB34987294B447F00BC81AD /* InjectedNavigationView.swift */, DF28B450294EFC6C00C4D8CA /* View+DismissOnAccountAdd.swift */, + DF28B44C294ED52700C4D8CA /* View+DismissOnExternalContext.swift */, ); path = "SwiftUI Extensions"; sourceTree = ""; @@ -4296,6 +4299,7 @@ 518651DA235621840078E021 /* ImageTransition.swift in Sources */, 51C266EA238C334800F53014 /* ContextMenuPreviewViewController.swift in Sources */, 173A642C2547BE9600267F6E /* AccountType+Helpers.swift in Sources */, + DFE522A32953DEF400376B77 /* CustomInsetGroupedRowStyle.swift in Sources */, 51627A6923861DED007B3B4B /* MasterFeedViewController+Drop.swift in Sources */, 514219372352510100E07E2C /* ImageScrollView.swift in Sources */, 516AE9B32371C372007DEEAA /* MasterFeedTableViewSectionHeaderLayout.swift in Sources */, diff --git a/iOS/Settings/Appearance/TimelineCustomizerView.swift b/iOS/Settings/Appearance/TimelineCustomizerView.swift index 4948e7d34..07404c7d9 100644 --- a/iOS/Settings/Appearance/TimelineCustomizerView.swift +++ b/iOS/Settings/Appearance/TimelineCustomizerView.swift @@ -16,19 +16,12 @@ struct TimelineCustomizerView: View { var body: some View { List { Section(header: Text("Icon Size", comment: "Timline Customiser: Icon size section header")) { - ZStack { TickMarkSliderView(minValue: 1, maxValue: 3, currentValue: Binding(get: { Float(appDefaults.timelineIconSize.rawValue) }, set: { AppDefaults.shared.timelineIconSize = IconSize(rawValue: Int($0))! })) } - .padding(.horizontal, 16) - .padding(.vertical, 8) - .listRowInsets(EdgeInsets(top: 0, leading: 15, bottom: 0, trailing: 15)) - .background( - RoundedRectangle(cornerRadius: 8) - .foregroundColor(Color(uiColor: UIColor.secondarySystemGroupedBackground)) - ) + .customInsetGroupedRowStyle() } .listRowInsets(EdgeInsets(top: 0, leading: 30, bottom: 0, trailing: 30)) .listRowBackground(Color.clear) @@ -40,13 +33,7 @@ struct TimelineCustomizerView: View { Float(appDefaults.timelineNumberOfLines) }, set: { appDefaults.timelineNumberOfLines = Int($0) })) } - .padding(.horizontal, 16) - .padding(.vertical, 8) - .listRowInsets(EdgeInsets(top: 0, leading: 15, bottom: 0, trailing: 15)) - .background( - RoundedRectangle(cornerRadius: 8) - .foregroundColor(Color(uiColor: UIColor.secondarySystemGroupedBackground)) - ) + .customInsetGroupedRowStyle() } .listRowInsets(EdgeInsets(top: 0, leading: 30, bottom: 0, trailing: 30)) .listRowBackground(Color.clear) diff --git a/iOS/SwiftUI Extensions/CustomInsetGroupedRowStyle.swift b/iOS/SwiftUI Extensions/CustomInsetGroupedRowStyle.swift new file mode 100644 index 000000000..4ca621bec --- /dev/null +++ b/iOS/SwiftUI Extensions/CustomInsetGroupedRowStyle.swift @@ -0,0 +1,34 @@ +// +// CustomInsetGroupedRowStyle.swift +// NetNewsWire-iOS +// +// Created by Stuart Breckenridge on 22/12/2022. +// Copyright © 2022 Ranchero Software. All rights reserved. +// + +import SwiftUI + +struct CustomInsetGroupedRowStyle: ViewModifier { + + func body(content: Content) -> some View { + content + .padding(.horizontal, 16) + .padding(.vertical, 8) + .listRowInsets(EdgeInsets(top: 0, leading: 15, bottom: 0, trailing: 15)) + .background( + RoundedRectangle(cornerRadius: 8) + .foregroundColor(Color(uiColor: UIColor.secondarySystemGroupedBackground)) + ) + } + +} + +extension View { + + /// This function dismisses a view when the user launches from + /// an external action, for example, opening the app from the widget. + /// - Returns: `View` + func customInsetGroupedRowStyle() -> some View { + modifier(CustomInsetGroupedRowStyle()) + } +} From 66f6d563f3cce86a63ecbbdcb80c5e94aec61eca Mon Sep 17 00:00:00 2001 From: Stuart Breckenridge Date: Thu, 22 Dec 2022 08:48:17 +0800 Subject: [PATCH 60/80] Audited .alerts - Consistent verb usage - Removes dismiss buttons if they are the only action (automatically added) --- .../Accounts/AddAccountListView.swift | 10 +++------- .../Extensions/EnableExtensionPointView.swift | 2 -- .../Extensions/ExtensionsManagementView.swift | 2 +- iOS/Settings/Appearance/ArticleThemeManagerView.swift | 10 ++-------- 4 files changed, 6 insertions(+), 18 deletions(-) diff --git a/iOS/Settings/Account and Extensions/Accounts/AddAccountListView.swift b/iOS/Settings/Account and Extensions/Accounts/AddAccountListView.swift index 5123ee3e3..b56e2b3a4 100644 --- a/iOS/Settings/Account and Extensions/Accounts/AddAccountListView.swift +++ b/iOS/Settings/Account and Extensions/Accounts/AddAccountListView.swift @@ -101,13 +101,9 @@ struct AddAccountListView: View { } } .alert(Text("Error", comment: "Alert title: Error"), - isPresented: $viewModel.showAddAccountError.1, actions: { - Button { - // - } label: { - Text("Dismiss", comment: "Button title") - } - }, message: { + isPresented: $viewModel.showAddAccountError.1, + actions: { }, + message: { Text("\(viewModel.showAddAccountError.0?.localizedDescription ?? "Unknown Error")") }) .dismissOnAccountAdd() diff --git a/iOS/Settings/Account and Extensions/Extensions/EnableExtensionPointView.swift b/iOS/Settings/Account and Extensions/Extensions/EnableExtensionPointView.swift index 868d9d479..a662d21af 100644 --- a/iOS/Settings/Account and Extensions/Extensions/EnableExtensionPointView.swift +++ b/iOS/Settings/Account and Extensions/Extensions/EnableExtensionPointView.swift @@ -22,12 +22,10 @@ struct EnableExtensionPointView: View { Section { enableButton } } .alert(Text("Error", comment: "Alert title: Error"), isPresented: $extensionError.1, actions: { - Button(action: {}, label: { Text("Dismiss", comment: "Button title") }) }, message: { Text(extensionError.0?.localizedDescription ?? "Unknown Error") }) .alert(Text("Error", comment: "Alert title: Error"), isPresented: $viewModel.showExtensionError.1, actions: { - Button(action: {}, label: { Text("Dismiss", comment: "Button title") }) }, message: { Text(viewModel.showExtensionError.0?.localizedDescription ?? "Unknown Error") }) diff --git a/iOS/Settings/Account and Extensions/Extensions/ExtensionsManagementView.swift b/iOS/Settings/Account and Extensions/Extensions/ExtensionsManagementView.swift index f6a49df8f..41ead8854 100644 --- a/iOS/Settings/Account and Extensions/Extensions/ExtensionsManagementView.swift +++ b/iOS/Settings/Account and Extensions/Extensions/ExtensionsManagementView.swift @@ -39,7 +39,7 @@ struct ExtensionsManagementView: View { Button(role: .destructive) { ExtensionPointManager.shared.deactivateExtensionPoint(extensionToDeactivate!.value.extensionPointID) } label: { - Text("Deactivate", comment: "Button: deactivate extension.") + Text("Deactivate Extension", comment: "Button: deactivate extension.") } Button(role: .cancel) { diff --git a/iOS/Settings/Appearance/ArticleThemeManagerView.swift b/iOS/Settings/Appearance/ArticleThemeManagerView.swift index e015ad355..6532daf90 100644 --- a/iOS/Settings/Appearance/ArticleThemeManagerView.swift +++ b/iOS/Settings/Appearance/ArticleThemeManagerView.swift @@ -107,7 +107,7 @@ struct ArticleThemeManagerView: View { } label: { let exists = themeManager.themeExists(filename: showImportConfirmationAlert.0?.path ?? "") if exists == true { - Text("Overwrite", comment: "Button title") + Text("Overwrite Theme", comment: "Button title") } else { Text("Import Theme", comment: "Button title") } @@ -139,13 +139,7 @@ struct ArticleThemeManagerView: View { }) .alert(Text("Error", comment: "Alert title: Error"), isPresented: $showImportErrorAlert.1, - actions: { - Button(role: .cancel) { - - } label: { - Text("Dismiss", comment: "Button title") - } - }, message: { + actions: { }, message: { Text("\(showImportErrorAlert.0?.localizedDescription ?? "")") }) .onReceive(themeManager.objectWillChange) { _ in From 345b580f8525456d957a6fbc63aeb02af01e2a9d Mon Sep 17 00:00:00 2001 From: Stuart Breckenridge Date: Thu, 22 Dec 2022 18:28:15 +0800 Subject: [PATCH 61/80] Audited alerts and confirmation dialogs --- iOS/Inspector/AccountInspectorView.swift | 8 ++------ iOS/Inspector/ExtensionInspectorView.swift | 4 ++-- .../Accounts/AccountsManagementView.swift | 12 +----------- .../Extensions/ExtensionsManagementView.swift | 4 ++-- .../Appearance/ArticleThemeManagerView.swift | 2 +- 5 files changed, 8 insertions(+), 22 deletions(-) diff --git a/iOS/Inspector/AccountInspectorView.swift b/iOS/Inspector/AccountInspectorView.swift index 261e8c5b6..feeb2a008 100644 --- a/iOS/Inspector/AccountInspectorView.swift +++ b/iOS/Inspector/AccountInspectorView.swift @@ -109,7 +109,7 @@ struct AccountInspectorView: View { Spacer() } } - .confirmationDialog(Text("Remove Account", comment: "Remove account alert title"), isPresented: $showRemoveAccountAlert, titleVisibility: .visible) { + .alert(Text("Are you sure you want to remove “\(account.nameForDisplay)”?", comment: "Alert title: confirm account removal"), isPresented: $showRemoveAccountAlert) { Button(role: .destructive) { AccountManager.shared.deleteAccount(account) dismiss() @@ -124,11 +124,7 @@ struct AccountInspectorView: View { } } message: { - if account.type == .feedly { - Text("Are you sure you want to remove this account? NetNewsWire will no longer be able to access articles and feeds unless the account is added again.", comment: "Confirmation of the impacts of deleting the Feedly account.") - } else { - Text("Are you sure you want to remove this account? This cannot be undone.", comment: "Confirmation of the impacts of deleting the account.") - } + Text("This action cannot be undone.", comment: "Alert message: remove account confirmation") } } } diff --git a/iOS/Inspector/ExtensionInspectorView.swift b/iOS/Inspector/ExtensionInspectorView.swift index fa300f71c..b489bf8ad 100644 --- a/iOS/Inspector/ExtensionInspectorView.swift +++ b/iOS/Inspector/ExtensionInspectorView.swift @@ -28,7 +28,7 @@ struct ExtensionInspectorView: View { } label: { Text("Deactivate Extension", comment: "Button title") } - .confirmationDialog(Text("Deactivate Extension", comment: "Deactivate Extension confirmation title") , isPresented: $showDeactivateConfirmation, titleVisibility: .visible) { + .alert(Text("Are you sure you want to deactivate “\(extensionPoint?.title ?? "")?", comment: "Alert title: confirm deactivate extension") , isPresented: $showDeactivateConfirmation) { Button(role: .destructive) { ExtensionPointManager.shared.deactivateExtensionPoint(extensionPoint!.extensionPointID) @@ -43,7 +43,7 @@ struct ExtensionInspectorView: View { Text("Cancel", comment: "Button title") } } message: { - Text("Are you sure you want to deactivate the “\(extensionPoint?.title ?? "")” extension?)", comment: "Confirmation text regarding deactivation on an extension.") + Text("This action cannot be undone.", comment: "Alert message: remove account confirmation") } Spacer() } diff --git a/iOS/Settings/Account and Extensions/Accounts/AccountsManagementView.swift b/iOS/Settings/Account and Extensions/Accounts/AccountsManagementView.swift index 18f376411..d1fa6f4c6 100644 --- a/iOS/Settings/Account and Extensions/Accounts/AccountsManagementView.swift +++ b/iOS/Settings/Account and Extensions/Accounts/AccountsManagementView.swift @@ -107,17 +107,7 @@ struct AccountsManagementView: View { Text("Cancel", comment: "Button title") } } message: { - switch viewModel.accountToDelete { - case .none: - Text("") - case .some(let account): - switch account.type { - case .feedly: - Text("Are you sure you want to remove this account? NetNewsWire will no longer be able to access articles and feeds unless the account is added again.", comment: "Alert message: remove Feedly account confirmation") - default: - Text("Are you sure you want to remove this account? This cannot be undone.", comment: "Alert message: remove account confirmation") - } - } + Text("This action cannot be undone.", comment: "Alert message: remove account confirmation") } } diff --git a/iOS/Settings/Account and Extensions/Extensions/ExtensionsManagementView.swift b/iOS/Settings/Account and Extensions/Extensions/ExtensionsManagementView.swift index 41ead8854..dee971c3d 100644 --- a/iOS/Settings/Account and Extensions/Extensions/ExtensionsManagementView.swift +++ b/iOS/Settings/Account and Extensions/Extensions/ExtensionsManagementView.swift @@ -33,7 +33,7 @@ struct ExtensionsManagementView: View { .sheet(isPresented: $showAddExtensionView) { AddExtensionListView() } - .alert(Text("Deactivate Extension", comment: "Alert title: confirm deactivate extension"), + .alert(Text("Are you sure you want to deactivate “\(extensionToDeactivate?.value.title ?? "")?", comment: "Alert title: confirm deactivate extension"), isPresented: $showDeactivateAlert) { Button(role: .destructive) { @@ -49,7 +49,7 @@ struct ExtensionsManagementView: View { } } message: { - Text("Are you sure you want to deactivate the “\(extensionToDeactivate?.value.title ?? "")” extension?", comment: "Alert message: confirm deactivation of extension.") + Text("This action cannot be undone.", comment: "Alert message: confirmation that deactivation of extension cannot be undone.") } .onReceive(NotificationCenter.default.publisher(for: .ActiveExtensionPointsDidChange)) { _ in availableExtensionPointTypes = ExtensionPointManager.shared.availableExtensionPointTypes.sorted(by: { $0.title < $1.title }) diff --git a/iOS/Settings/Appearance/ArticleThemeManagerView.swift b/iOS/Settings/Appearance/ArticleThemeManagerView.swift index 6532daf90..a8d75844c 100644 --- a/iOS/Settings/Appearance/ArticleThemeManagerView.swift +++ b/iOS/Settings/Appearance/ArticleThemeManagerView.swift @@ -83,7 +83,7 @@ struct ArticleThemeManagerView: View { Text("Cancel", comment: "Button title") } }, message: { - Text("Are you sure you want to delete this theme? This action cannot be undone.", comment: "Alert message: confirm theme deletion") + Text("This action cannot be undone.", comment: "Alert message: confirm theme deletion") }) .alert(Text("Import Theme", comment: "Alert title: confirm theme import"), isPresented: $showImportConfirmationAlert.1, From a505ad1e542e0d29599e423c3b27f5ccd56378c2 Mon Sep 17 00:00:00 2001 From: Stuart Breckenridge Date: Sat, 24 Dec 2022 15:03:41 +0800 Subject: [PATCH 62/80] changed tableName to comment --- iOS/Settings/General/SettingsView.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/iOS/Settings/General/SettingsView.swift b/iOS/Settings/General/SettingsView.swift index 2942df1b1..32b3b13b0 100644 --- a/iOS/Settings/General/SettingsView.swift +++ b/iOS/Settings/General/SettingsView.swift @@ -147,7 +147,7 @@ struct SettingsView: View { .alert(Text("Imported Successfully", comment: "Alert title: imported OPML file successfully."), isPresented: $viewModel.showImportSuccess, actions: {}, - message: { Text("Subscriptions have been imported to your \(viewModel.importAccount?.nameForDisplay ?? "") account.", tableName: "Alert message: imported OPML file successfully.") }) + message: { Text("Subscriptions have been imported to your \(viewModel.importAccount?.nameForDisplay ?? "") account.", comment: "Alert message: imported OPML file successfully.") }) .alert(Text("Exported Successfully", comment: "Alert title: exported OPML file successfully."), isPresented: $viewModel.showExportSuccess, actions: {}, From 28cc7be936f0dacb32c6c3c6ada73a14d85e303d Mon Sep 17 00:00:00 2001 From: Stuart Breckenridge Date: Sat, 24 Dec 2022 15:08:05 +0800 Subject: [PATCH 63/80] Removes widget data ordering fix --- Shared/Widget/WidgetDataEncoder.swift | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Shared/Widget/WidgetDataEncoder.swift b/Shared/Widget/WidgetDataEncoder.swift index ac4ba2768..1b610a8b5 100644 --- a/Shared/Widget/WidgetDataEncoder.swift +++ b/Shared/Widget/WidgetDataEncoder.swift @@ -143,9 +143,9 @@ public final class WidgetDataEncoder { let latestData = WidgetData(currentUnreadCount: SmartFeedsController.shared.unreadFeed.unreadCount, currentTodayCount: SmartFeedsController.shared.todayFeed.unreadCount, currentStarredCount: (try? AccountManager.shared.fetchCountForStarredArticles()) ?? 0, - unreadArticles: unread.sorted(by: { $0.pubDate > $1.pubDate }), - starredArticles: starred.sorted(by: { $0.pubDate > $1.pubDate }), - todayArticles:today.sorted(by: { $0.pubDate > $1.pubDate }), + unreadArticles: unread, + starredArticles: starred, + todayArticles:today, lastUpdateTime: Date()) completion(latestData) } From 63cfbbdd95fbd8e5db0a30b96fc5775e5f4dce8d Mon Sep 17 00:00:00 2001 From: Stuart Breckenridge Date: Sat, 21 Jan 2023 22:07:25 +0800 Subject: [PATCH 64/80] Fixes build errors on macOS --- Shared/Localizations/LocalizedNetNewsWireError.swift | 12 ++++++------ Shared/Timer/AccountRefreshTimer.swift | 3 +-- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/Shared/Localizations/LocalizedNetNewsWireError.swift b/Shared/Localizations/LocalizedNetNewsWireError.swift index 46ff38945..e033e6626 100644 --- a/Shared/Localizations/LocalizedNetNewsWireError.swift +++ b/Shared/Localizations/LocalizedNetNewsWireError.swift @@ -30,17 +30,17 @@ public enum LocalizedNetNewsWireError: LocalizedError { public var errorDescription: String? { switch self { case .duplicateAccount: - return String(localized: "There is already an account of that type with that username created.", comment: "Error message: duplicate account with same username.") + return NSLocalizedString("There is already an account of that type with that username created.", comment: "Error message: duplicate account with same username.") case .iCloudDriveMissing: - return String(localized: "Unable to add iCloud Account. Please make sure you have iCloud and iCloud Drive enabled in System Settings.", comment: "Error message: The user cannot enable the iCloud account becasue iCloud or iCloud Drive isn't enabled in Settings.") + return NSLocalizedString("Unable to add iCloud Account. Please make sure you have iCloud and iCloud Drive enabled in System Settings.", comment: "Error message: The user cannot enable the iCloud account becasue iCloud or iCloud Drive isn't enabled in Settings.") case .userNameAndPasswordRequired: - return String(localized: "Username and password required", comment: "Error message: The user must provide a username and password.") + return NSLocalizedString("Username and password required", comment: "Error message: The user must provide a username and password.") case .invalidUsernameOrPassword: - return String(localized: "Invalid username or password", comment: "Error message: The user provided an invalid username or password.") + return NSLocalizedString("Invalid username or password", comment: "Error message: The user provided an invalid username or password.") case .keychainError: - return String(localized: "Keychain error while storing credentials.", comment: "Error message: Unable to save due a Keychain error.") + return NSLocalizedString("Keychain error while storing credentials.", comment: "Error message: Unable to save due a Keychain error.") case .duplicateDefaultTheme: - return String(localized: "You cannot import a theme that shares the same name as a provided theme.", comment: "Error message: cannot import theme as this is a duplicate of a provided theme.") + return NSLocalizedString("You cannot import a theme that shares the same name as a provided theme.", comment: "Error message: cannot import theme as this is a duplicate of a provided theme.") } } } diff --git a/Shared/Timer/AccountRefreshTimer.swift b/Shared/Timer/AccountRefreshTimer.swift index 04c944a5a..b0e81fb4e 100644 --- a/Shared/Timer/AccountRefreshTimer.swift +++ b/Shared/Timer/AccountRefreshTimer.swift @@ -73,8 +73,7 @@ class AccountRefreshTimer { lastTimedRefresh = Date() update() - //AccountManager.shared.refreshAll(errorHandler: ErrorHandler.log) - AccountManager.shared.refreshAll(completion: nil) + AccountManager.shared.refreshAll(errorHandler: ErrorHandler.log, completion: nil) } } From 6ced0c5a303bca5f2c4df5e98531f8b4a10b504e Mon Sep 17 00:00:00 2001 From: Stuart Breckenridge Date: Thu, 9 Feb 2023 10:18:19 +0800 Subject: [PATCH 65/80] Removes git commentary from pbxproj --- NetNewsWire.xcodeproj/project.pbxproj | 3 --- 1 file changed, 3 deletions(-) diff --git a/NetNewsWire.xcodeproj/project.pbxproj b/NetNewsWire.xcodeproj/project.pbxproj index ef1f791ff..460fe05d7 100644 --- a/NetNewsWire.xcodeproj/project.pbxproj +++ b/NetNewsWire.xcodeproj/project.pbxproj @@ -3528,11 +3528,8 @@ 511D43D2231FA62C00FB1562 /* GlobalKeyboardShortcuts.plist in Resources */, 84C9FCA12262A1B300D921D6 /* Main.storyboard in Resources */, 51BB7C312335ACDE008E8144 /* page.html in Resources */, -<<<<<<< HEAD 512392C324E3451400F11704 /* TwitterAdd.storyboard in Resources */, -======= 516A093723609A3600EAE89B /* SettingsComboTableViewCell.xib in Resources */, ->>>>>>> main 51077C5A27A86D16000C71DB /* Hyperlegible.nnwtheme in Resources */, DDF9E1D928EDF2FC000BC355 /* notificationSoundBlip.mp3 in Resources */, 51DEE81A26FBFF84006DAA56 /* Promenade.nnwtheme in Resources */, From 69e20479b66aee0bc177df3dc9f53af7f08487eb Mon Sep 17 00:00:00 2001 From: Stuart Breckenridge Date: Thu, 9 Feb 2023 13:27:12 +0800 Subject: [PATCH 66/80] Standardises naming convention for theme headings --- iOS/Settings/Appearance/ArticleThemeManagerView.swift | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/iOS/Settings/Appearance/ArticleThemeManagerView.swift b/iOS/Settings/Appearance/ArticleThemeManagerView.swift index a8d75844c..b5652e154 100644 --- a/iOS/Settings/Appearance/ArticleThemeManagerView.swift +++ b/iOS/Settings/Appearance/ArticleThemeManagerView.swift @@ -21,14 +21,14 @@ struct ArticleThemeManagerView: View { var body: some View { Form { - Section(header: Text("Ranchero Software Themes", comment: "Section header for installed themes"), footer: Text("These themes cannot be deleted.", comment: "Section footer for installed themes.")) { + Section(header: Text("Built-in Themes", comment: "Section header for installed themes"), footer: Text("These themes cannot be deleted.", comment: "Section footer for installed themes.")) { articleThemeRow(try! themeManager.articleThemeWithThemeName("Default")) ForEach(0.. Date: Thu, 9 Feb 2023 17:29:48 +0800 Subject: [PATCH 67/80] Moves theme separation code to ArticleThemeManager This cherry picks a change that is in ArticleThemeManager for macOS so that the theme pickers are using the same code to separate themes. --- .../ArticleStyles/ArticleThemesManager.swift | 70 +++++++++++++++++++ .../Appearance/ArticleThemeManagerView.swift | 24 ++----- 2 files changed, 75 insertions(+), 19 deletions(-) diff --git a/Shared/ArticleStyles/ArticleThemesManager.swift b/Shared/ArticleStyles/ArticleThemesManager.swift index f97f0e7f0..6e9690972 100644 --- a/Shared/ArticleStyles/ArticleThemesManager.swift +++ b/Shared/ArticleStyles/ArticleThemesManager.swift @@ -9,6 +9,9 @@ import Foundation import RSCore import Combine +#if canImport(AppKit) +import AppKit +#endif public extension Notification.Name { static let ArticleThemeNamesDidChangeNotification = Notification.Name("ArticleThemeNamesDidChangeNotification") @@ -141,6 +144,73 @@ final class ArticleThemesManager: NSObject, NSFilePresenter, Logging, Observable } } + func themesByDeveloper() -> ([ArticleTheme], [ArticleTheme]) { + let installedProvidedThemes = themeNames.map({ try? articleThemeWithThemeName($0) }).compactMap({ $0 }).filter({ $0.isAppTheme }).sorted(by: { $0.name < $1.name }).filter({ $0.name != AppDefaults.defaultThemeName }) + + let installedOtherThemes = themeNames.map({ try? articleThemeWithThemeName($0) }).compactMap({ $0 }).filter({ !$0.isAppTheme }).sorted(by: { $0.name < $1.name }) + + return (installedProvidedThemes, installedOtherThemes) + } + + #if os(macOS) + func articleThemesMenu(for popUpButton: NSPopUpButton?) -> NSMenu { + let menu = NSMenu() + menu.autoenablesItems = false + menu.removeAllItems() + + let defaultMenuItem = NSMenuItem() + defaultMenuItem.title = ArticleTheme.defaultTheme.name + defaultMenuItem.action = #selector(updateThemeSelection(_:)) + defaultMenuItem.state = currentTheme.name == defaultMenuItem.title ? .on : .off + defaultMenuItem.target = self + menu.addItem(defaultMenuItem) + menu.addItem(NSMenuItem.separator()) + + let rancheroHeading = NSMenuItem(title: "Built-in Themes", action: nil, keyEquivalent: "") + rancheroHeading.attributedTitle = NSAttributedString(string: "Built-in Themes", attributes: [NSAttributedString.Key.foregroundColor : NSColor.secondaryLabelColor, NSAttributedString.Key.font: NSFont.boldSystemFont(ofSize: 12)]) + rancheroHeading.isEnabled = false + menu.addItem(rancheroHeading) + + let installedThemes = ArticleThemesManager.shared.themesByDeveloper() + + for theme in installedThemes.0 { + let item = NSMenuItem() + item.title = theme.name + item.action = #selector(updateThemeSelection(_:)) + item.state = currentTheme.name == theme.name ? .on : .off + item.target = self + menu.addItem(item) + } + + menu.addItem(NSMenuItem.separator()) + + let thirdPartyHeading = NSMenuItem(title: "Other Themes", action: nil, keyEquivalent: "") + thirdPartyHeading.attributedTitle = NSAttributedString(string: "Other Themes", attributes: [NSAttributedString.Key.foregroundColor : NSColor.secondaryLabelColor, NSAttributedString.Key.font: NSFont.boldSystemFont(ofSize: 12)]) + thirdPartyHeading.isEnabled = false + menu.addItem(thirdPartyHeading) + + for theme in installedThemes.1 { + let item = NSMenuItem() + item.title = theme.name + item.action = #selector(updateThemeSelection(_:)) + item.state = currentTheme.name == theme.name ? .on : .off + item.target = self + menu.addItem(item) + } + popUpButton?.selectItem(withTitle: ArticleThemesManager.shared.currentThemeName) + if popUpButton?.indexOfSelectedItem == -1 { + popUpButton?.selectItem(withTitle: ArticleTheme.defaultTheme.name) + } + return menu + } + + @objc + func updateThemeSelection(_ menuItem: NSMenuItem) { + currentThemeName = menuItem.title + } + + #endif + } // MARK : Private diff --git a/iOS/Settings/Appearance/ArticleThemeManagerView.swift b/iOS/Settings/Appearance/ArticleThemeManagerView.swift index b5652e154..c83f37841 100644 --- a/iOS/Settings/Appearance/ArticleThemeManagerView.swift +++ b/iOS/Settings/Appearance/ArticleThemeManagerView.swift @@ -16,29 +16,24 @@ struct ArticleThemeManagerView: View { @State private var showImportConfirmationAlert: (ArticleTheme?, Bool) = (nil, false) @State private var showImportErrorAlert: (Error?, Bool) = (nil, false) @State private var showImportSuccessAlert: Bool = false - @State private var installedFirstPartyThemes: [ArticleTheme] = [] - @State private var installedThirdPartyThemes: [ArticleTheme] = [] var body: some View { Form { Section(header: Text("Built-in Themes", comment: "Section header for installed themes"), footer: Text("These themes cannot be deleted.", comment: "Section footer for installed themes.")) { - articleThemeRow(try! themeManager.articleThemeWithThemeName("Default")) - ForEach(0.. some View { @@ -181,12 +173,6 @@ struct ArticleThemeManagerView: View { } } } - - private func updateThemesArrays() { - installedFirstPartyThemes = themeManager.themeNames.map({ try? themeManager.articleThemeWithThemeName($0) }).compactMap({ $0 }).filter({ $0.isAppTheme }).sorted(by: { $0.name < $1.name }) - - installedThirdPartyThemes = themeManager.themeNames.map({ try? themeManager.articleThemeWithThemeName($0) }).compactMap({ $0 }).filter({ !$0.isAppTheme }).sorted(by: { $0.name < $1.name }) - } } struct ArticleThemeImporterView_Previews: PreviewProvider { From e91a20333afa801a2a8139ef8ad282f879ff5928 Mon Sep 17 00:00:00 2001 From: Stuart Breckenridge Date: Thu, 9 Feb 2023 17:41:39 +0800 Subject: [PATCH 68/80] Named the theme tuple for clarity --- Shared/ArticleStyles/ArticleThemesManager.swift | 7 +++---- iOS/Settings/Appearance/ArticleThemeManagerView.swift | 4 ++-- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/Shared/ArticleStyles/ArticleThemesManager.swift b/Shared/ArticleStyles/ArticleThemesManager.swift index 6e9690972..d11540c9d 100644 --- a/Shared/ArticleStyles/ArticleThemesManager.swift +++ b/Shared/ArticleStyles/ArticleThemesManager.swift @@ -140,11 +140,10 @@ final class ArticleThemesManager: NSObject, NSFilePresenter, Logging, Observable } catch { logger.error("\(error.localizedDescription)") } - } } - func themesByDeveloper() -> ([ArticleTheme], [ArticleTheme]) { + func themesByDeveloper() -> (builtIn: [ArticleTheme], other: [ArticleTheme]) { let installedProvidedThemes = themeNames.map({ try? articleThemeWithThemeName($0) }).compactMap({ $0 }).filter({ $0.isAppTheme }).sorted(by: { $0.name < $1.name }).filter({ $0.name != AppDefaults.defaultThemeName }) let installedOtherThemes = themeNames.map({ try? articleThemeWithThemeName($0) }).compactMap({ $0 }).filter({ !$0.isAppTheme }).sorted(by: { $0.name < $1.name }) @@ -173,7 +172,7 @@ final class ArticleThemesManager: NSObject, NSFilePresenter, Logging, Observable let installedThemes = ArticleThemesManager.shared.themesByDeveloper() - for theme in installedThemes.0 { + for theme in installedThemes.builtIn { let item = NSMenuItem() item.title = theme.name item.action = #selector(updateThemeSelection(_:)) @@ -189,7 +188,7 @@ final class ArticleThemesManager: NSObject, NSFilePresenter, Logging, Observable thirdPartyHeading.isEnabled = false menu.addItem(thirdPartyHeading) - for theme in installedThemes.1 { + for theme in installedThemes.other { let item = NSMenuItem() item.title = theme.name item.action = #selector(updateThemeSelection(_:)) diff --git a/iOS/Settings/Appearance/ArticleThemeManagerView.swift b/iOS/Settings/Appearance/ArticleThemeManagerView.swift index c83f37841..b2c411eae 100644 --- a/iOS/Settings/Appearance/ArticleThemeManagerView.swift +++ b/iOS/Settings/Appearance/ArticleThemeManagerView.swift @@ -21,13 +21,13 @@ struct ArticleThemeManagerView: View { Form { Section(header: Text("Built-in Themes", comment: "Section header for installed themes"), footer: Text("These themes cannot be deleted.", comment: "Section footer for installed themes.")) { articleThemeRow(try! themeManager.articleThemeWithThemeName(AppDefaults.defaultThemeName)) - ForEach(0.. Date: Fri, 10 Feb 2023 10:12:07 +0800 Subject: [PATCH 69/80] Tidies up the Help section iconography in Settings --- iOS/Settings/General/SettingsRows.swift | 8 +++++--- iOS/Settings/Help/SettingsHelpSheets.swift | 4 ++-- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/iOS/Settings/General/SettingsRows.swift b/iOS/Settings/General/SettingsRows.swift index 92d78b572..33b8c87e1 100644 --- a/iOS/Settings/General/SettingsRows.swift +++ b/iOS/Settings/General/SettingsRows.swift @@ -213,7 +213,8 @@ struct SettingsViewRows { Image(systemName: sheet.systemImage) .resizable() .renderingMode(.template) - .foregroundColor(Color(uiColor: .tertiaryLabel)) + .symbolRenderingMode(.hierarchical) + .foregroundColor(Color(uiColor: AppAssets.primaryAccentColor)) .aspectRatio(contentMode: .fit) .frame(width: 30.0, height: 30.0) } @@ -230,10 +231,11 @@ struct SettingsViewRows { Label { Text("About", comment: "Button: opens the NetNewsWire about view.") } icon: { - Image(systemName: "info.circle") + Image(systemName: "info.circle.fill") .resizable() .renderingMode(.template) - .foregroundColor(Color(uiColor: .tertiaryLabel)) + .symbolRenderingMode(.hierarchical) + .foregroundColor(Color(uiColor: AppAssets.primaryAccentColor)) .aspectRatio(contentMode: .fit) .frame(width: 30.0, height: 30.0) } diff --git a/iOS/Settings/Help/SettingsHelpSheets.swift b/iOS/Settings/Help/SettingsHelpSheets.swift index e1b067736..3f6468d57 100644 --- a/iOS/Settings/Help/SettingsHelpSheets.swift +++ b/iOS/Settings/Help/SettingsHelpSheets.swift @@ -34,9 +34,9 @@ public enum HelpSheet: CustomStringConvertible, CaseIterable { public var systemImage: String { switch self { case .help: - return "questionmark.app" + return "questionmark.circle.fill" case .website: - return "globe" + return "safari.fill" } } } From 9f4332f74f21b57d0b34376d1f162d64d9ade41e Mon Sep 17 00:00:00 2001 From: Stuart Breckenridge Date: Fri, 10 Feb 2023 10:28:11 +0800 Subject: [PATCH 70/80] resizes settings icons --- iOS/Settings/General/SettingsRows.swift | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/iOS/Settings/General/SettingsRows.swift b/iOS/Settings/General/SettingsRows.swift index 33b8c87e1..44def8f62 100644 --- a/iOS/Settings/General/SettingsRows.swift +++ b/iOS/Settings/General/SettingsRows.swift @@ -23,7 +23,7 @@ struct SettingsViewRows { Image("system.settings") .resizable() .aspectRatio(contentMode: .fit) - .frame(width: 30.0, height: 30.0) + .frame(width: 25.0, height: 25.0) .clipShape(RoundedRectangle(cornerRadius: 6)) } .onTapGesture { @@ -40,7 +40,7 @@ struct SettingsViewRows { } icon: { Image("notifications.sounds") .resizable() - .frame(width: 30.0, height: 30.0) + .frame(width: 25.0, height: 25.0) .clipShape(RoundedRectangle(cornerRadius: 6)) } } @@ -55,7 +55,7 @@ struct SettingsViewRows { } icon: { Image("app.account") .resizable() - .frame(width: 30.0, height: 30.0) + .frame(width: 25.0, height: 25.0) .clipShape(RoundedRectangle(cornerRadius: 6)) } } @@ -70,7 +70,7 @@ struct SettingsViewRows { } icon: { Image("app.extension") .resizable() - .frame(width: 30.0, height: 30.0) + .frame(width: 25.0, height: 25.0) .clipShape(RoundedRectangle(cornerRadius: 6)) } } @@ -89,7 +89,7 @@ struct SettingsViewRows { } icon: { Image("app.import.opml") .resizable() - .frame(width: 30.0, height: 30.0) + .frame(width: 25.0, height: 25.0) .clipShape(RoundedRectangle(cornerRadius: 6)) } } @@ -108,7 +108,7 @@ struct SettingsViewRows { } icon: { Image("app.export.opml") .resizable() - .frame(width: 30.0, height: 30.0) + .frame(width: 25.0, height: 25.0) .clipShape(RoundedRectangle(cornerRadius: 6)) } } @@ -194,7 +194,7 @@ struct SettingsViewRows { } icon: { Image("app.appearance") .resizable() - .frame(width: 30.0, height: 30.0) + .frame(width: 25.0, height: 25.0) .clipShape(RoundedRectangle(cornerRadius: 6)) } } @@ -216,7 +216,7 @@ struct SettingsViewRows { .symbolRenderingMode(.hierarchical) .foregroundColor(Color(uiColor: AppAssets.primaryAccentColor)) .aspectRatio(contentMode: .fit) - .frame(width: 30.0, height: 30.0) + .frame(width: 25.0, height: 25.0) } .onTapGesture { selectedSheet.wrappedValue = sheet @@ -237,7 +237,7 @@ struct SettingsViewRows { .symbolRenderingMode(.hierarchical) .foregroundColor(Color(uiColor: AppAssets.primaryAccentColor)) .aspectRatio(contentMode: .fit) - .frame(width: 30.0, height: 30.0) + .frame(width: 25.0, height: 25.0) } } } From 15db283ec1e898c7e356e7047c5b869ce5b736c9 Mon Sep 17 00:00:00 2001 From: Stuart Breckenridge Date: Sat, 11 Mar 2023 19:01:17 +0800 Subject: [PATCH 71/80] SwiftUI Views monitor notifs via .task & for await --- .../Extensions/AddExtensionListView.swift | 6 ++-- .../Extensions/EnableExtensionPointView.swift | 6 ++-- .../Extensions/ExtensionsManagementView.swift | 6 ++-- iOS/Settings/General/SettingsView.swift | 12 +++---- .../NewArticleNotificationsView.swift | 34 ++++++++++++------- 5 files changed, 38 insertions(+), 26 deletions(-) diff --git a/iOS/Settings/Account and Extensions/Extensions/AddExtensionListView.swift b/iOS/Settings/Account and Extensions/Extensions/AddExtensionListView.swift index 970d5929d..e58d51ca0 100644 --- a/iOS/Settings/Account and Extensions/Extensions/AddExtensionListView.swift +++ b/iOS/Settings/Account and Extensions/Extensions/AddExtensionListView.swift @@ -50,8 +50,10 @@ struct AddExtensionListView: View { } } } - .onReceive(NotificationCenter.default.publisher(for: .ActiveExtensionPointsDidChange)) { _ in - dismiss() + .task { + for await _ in NotificationCenter.default.notifications(named: .ActiveExtensionPointsDidChange) { + await MainActor.run(body: { dismiss() }) + } } } diff --git a/iOS/Settings/Account and Extensions/Extensions/EnableExtensionPointView.swift b/iOS/Settings/Account and Extensions/Extensions/EnableExtensionPointView.swift index a662d21af..5a40e1f64 100644 --- a/iOS/Settings/Account and Extensions/Extensions/EnableExtensionPointView.swift +++ b/iOS/Settings/Account and Extensions/Extensions/EnableExtensionPointView.swift @@ -32,8 +32,10 @@ struct EnableExtensionPointView: View { .navigationTitle(extensionPoint.title) .navigationBarTitleDisplayMode(.inline) .dismissOnExternalContextLaunch() - .onReceive(NotificationCenter.default.publisher(for: .ActiveExtensionPointsDidChange)) { _ in - dismiss() + .task { + for await _ in NotificationCenter.default.notifications(named: .ActiveExtensionPointsDidChange) { + await MainActor.run { dismiss() } + } } .edgesIgnoringSafeArea(.bottom) } diff --git a/iOS/Settings/Account and Extensions/Extensions/ExtensionsManagementView.swift b/iOS/Settings/Account and Extensions/Extensions/ExtensionsManagementView.swift index dee971c3d..7a380f11c 100644 --- a/iOS/Settings/Account and Extensions/Extensions/ExtensionsManagementView.swift +++ b/iOS/Settings/Account and Extensions/Extensions/ExtensionsManagementView.swift @@ -51,8 +51,10 @@ struct ExtensionsManagementView: View { } message: { Text("This action cannot be undone.", comment: "Alert message: confirmation that deactivation of extension cannot be undone.") } - .onReceive(NotificationCenter.default.publisher(for: .ActiveExtensionPointsDidChange)) { _ in - availableExtensionPointTypes = ExtensionPointManager.shared.availableExtensionPointTypes.sorted(by: { $0.title < $1.title }) + .task { + for await _ in NotificationCenter.default.notifications(named: .ActiveExtensionPointsDidChange) { + await MainActor.run { availableExtensionPointTypes = ExtensionPointManager.shared.availableExtensionPointTypes.sorted(by: { $0.title < $1.title }) } + } } } diff --git a/iOS/Settings/General/SettingsView.swift b/iOS/Settings/General/SettingsView.swift index 32b3b13b0..4609fa27e 100644 --- a/iOS/Settings/General/SettingsView.swift +++ b/iOS/Settings/General/SettingsView.swift @@ -101,15 +101,13 @@ struct SettingsView: View { } .task { UNUserNotificationCenter.current().getNotificationSettings { settings in - DispatchQueue.main.async { - self.viewModel.notificationPermissions = settings.authorizationStatus - } + Task { await MainActor.run { self.viewModel.notificationPermissions = settings.authorizationStatus }} } } - .onReceive(NotificationCenter.default.publisher(for: UIScene.willEnterForegroundNotification)) { _ in - UNUserNotificationCenter.current().getNotificationSettings { settings in - DispatchQueue.main.async { - self.viewModel.notificationPermissions = settings.authorizationStatus + .task { + for await _ in NotificationCenter.default.notifications(named: UIScene.willEnterForegroundNotification) { + UNUserNotificationCenter.current().getNotificationSettings { settings in + Task { await MainActor.run { self.viewModel.notificationPermissions = settings.authorizationStatus }} } } } diff --git a/iOS/Settings/New Article Notifications/NewArticleNotificationsView.swift b/iOS/Settings/New Article Notifications/NewArticleNotificationsView.swift index db94b12a8..e30297851 100644 --- a/iOS/Settings/New Article Notifications/NewArticleNotificationsView.swift +++ b/iOS/Settings/New Article Notifications/NewArticleNotificationsView.swift @@ -28,24 +28,32 @@ struct NewArticleNotificationsView: View, Logging { } .tint(Color(uiColor: AppAssets.primaryAccentColor)) - .onReceive(NotificationCenter.default.publisher(for: .FaviconDidBecomeAvailable)) { notification in - guard let faviconURLString = notification.userInfo?["faviconURL"] as? String, - let faviconHost = URL(string: faviconURLString)?.host else { - return - } - activeAccounts.forEach { account in - for feed in Array(account.flattenedWebFeeds()) { - if let feedURLHost = URL(string: feed.url)?.host { - if faviconHost == feedURLHost { - feed.objectWillChange.send() + .task { + for await notification in NotificationCenter.default.notifications(named: .FaviconDidBecomeAvailable) { + await MainActor.run { + guard let faviconURLString = notification.userInfo?["faviconURL"] as? String, + let faviconHost = URL(string: faviconURLString)?.host else { + return + } + activeAccounts.forEach { account in + for feed in Array(account.flattenedWebFeeds()) { + if let feedURLHost = URL(string: feed.url)?.host { + if faviconHost == feedURLHost { + feed.objectWillChange.send() + } + } } } } } } - .onReceive(NotificationCenter.default.publisher(for: .WebFeedIconDidBecomeAvailable)) { notification in - guard let webFeed = notification.userInfo?[UserInfoKey.webFeed] as? WebFeed else { return } - webFeed.objectWillChange.send() + .task { + for await notification in NotificationCenter.default.notifications(named: .WebFeedIconDidBecomeAvailable) { + await MainActor.run { + guard let webFeed = notification.userInfo?[UserInfoKey.webFeed] as? WebFeed else { return } + webFeed.objectWillChange.send() + } + } } } From 3ac8c7057e09038ad8559e224891693eb73fe509 Mon Sep 17 00:00:00 2001 From: Stuart Breckenridge Date: Tue, 14 Mar 2023 12:28:14 +0800 Subject: [PATCH 72/80] Adds Mark As Read on Scroll to SwiftUI views. --- iOS/AppDefaults.swift | 1 + iOS/Settings/Appearance/DisplayAndBehaviorsView.swift | 1 + iOS/Settings/General/SettingsRows.swift | 10 ++++++++++ 3 files changed, 12 insertions(+) diff --git a/iOS/AppDefaults.swift b/iOS/AppDefaults.swift index f7b153aaf..418d16877 100644 --- a/iOS/AppDefaults.swift +++ b/iOS/AppDefaults.swift @@ -273,6 +273,7 @@ final class AppDefaults: ObservableObject { } set { AppDefaults.setBool(for: Key.markArticlesAsReadOnScroll, newValue) + AppDefaults.shared.objectWillChange.send() } } diff --git a/iOS/Settings/Appearance/DisplayAndBehaviorsView.swift b/iOS/Settings/Appearance/DisplayAndBehaviorsView.swift index b4eb40972..1fed884ea 100644 --- a/iOS/Settings/Appearance/DisplayAndBehaviorsView.swift +++ b/iOS/Settings/Appearance/DisplayAndBehaviorsView.swift @@ -22,6 +22,7 @@ struct DisplayAndBehaviorsView: View { Section(header: Text("Timeline", comment: "Display & Behaviours: Timeline section header")) { SettingsViewRows.sortOldestToNewest($appDefaults.timelineSortDirectionBool) SettingsViewRows.groupByFeed($appDefaults.timelineGroupByFeed) + SettingsViewRows.markAsReadOnScroll($appDefaults.markArticlesAsReadOnScroll) SettingsViewRows.refreshToClearReadArticles($appDefaults.refreshClearsReadArticles) SettingsViewRows.timelineLayout } diff --git a/iOS/Settings/General/SettingsRows.swift b/iOS/Settings/General/SettingsRows.swift index 44def8f62..18c335a6b 100644 --- a/iOS/Settings/General/SettingsRows.swift +++ b/iOS/Settings/General/SettingsRows.swift @@ -61,6 +61,16 @@ struct SettingsViewRows { } } + + /// Toggle for determining if articles are marked as read when scrolling the timeline view. + /// - Parameter preference: `Binding` + /// - Returns: `some View` + static func markAsReadOnScroll(_ preference: Binding) -> some View { + Toggle(isOn: preference) { + Text("Mark As Read on Scroll", comment: "Mark As Read on Scroll") + } + } + /// This row, when tapped, will push the the Manage Extension screen /// in to view. static var manageExtensions: some View { From e95163c0d50dd3df2090492887fed65dc6fe2256 Mon Sep 17 00:00:00 2001 From: Stuart Breckenridge Date: Tue, 14 Mar 2023 12:47:32 +0800 Subject: [PATCH 73/80] Rounds About View icon to app icon style. --- iOS/Settings/Help/AboutView.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/iOS/Settings/Help/AboutView.swift b/iOS/Settings/Help/AboutView.swift index be4bc3e36..099b72792 100644 --- a/iOS/Settings/Help/AboutView.swift +++ b/iOS/Settings/Help/AboutView.swift @@ -39,7 +39,7 @@ struct AboutView: View, LoadableAboutData { Image(uiImage: RSImage.appIconImage!) .resizable() .frame(width: 75, height: 75) - .cornerRadius(11) + .clipShape(RoundedRectangle(cornerRadius: 15, style: .continuous)) Text(Bundle.main.appName) .font(.headline) From 2eb3b2d676450587bb6f0e9997ae991194e6e1e5 Mon Sep 17 00:00:00 2001 From: Stuart Breckenridge Date: Thu, 23 Mar 2023 20:55:58 +0800 Subject: [PATCH 74/80] Fixes #3921 and #3922 --- iOS/Settings/Appearance/DisplayAndBehaviorsView.swift | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/iOS/Settings/Appearance/DisplayAndBehaviorsView.swift b/iOS/Settings/Appearance/DisplayAndBehaviorsView.swift index 1fed884ea..c1502bd5c 100644 --- a/iOS/Settings/Appearance/DisplayAndBehaviorsView.swift +++ b/iOS/Settings/Appearance/DisplayAndBehaviorsView.swift @@ -22,14 +22,14 @@ struct DisplayAndBehaviorsView: View { Section(header: Text("Timeline", comment: "Display & Behaviours: Timeline section header")) { SettingsViewRows.sortOldestToNewest($appDefaults.timelineSortDirectionBool) SettingsViewRows.groupByFeed($appDefaults.timelineGroupByFeed) + SettingsViewRows.confirmMarkAllAsRead($appDefaults.confirmMarkAllAsRead) SettingsViewRows.markAsReadOnScroll($appDefaults.markArticlesAsReadOnScroll) SettingsViewRows.refreshToClearReadArticles($appDefaults.refreshClearsReadArticles) SettingsViewRows.timelineLayout } - Section(header: Text("Articles", comment: "Display & Behaviours: Articles section header")) { + Section(header: Text("Article", comment: "Display & Behaviours: Article section header")) { SettingsViewRows.themeSelection - SettingsViewRows.confirmMarkAllAsRead($appDefaults.confirmMarkAllAsRead) SettingsViewRows.openLinksInNetNewsWire(Binding( get: { !appDefaults.useSystemBrowser }, set: { appDefaults.useSystemBrowser = !$0 } From 23eb0cb0791ca48b1e6cf72cd539976b7b0b2349 Mon Sep 17 00:00:00 2001 From: Stuart Breckenridge Date: Thu, 23 Mar 2023 21:17:20 +0800 Subject: [PATCH 75/80] Monitor scenePhase instead of didEnterForeground --- iOS/Settings/General/SettingsView.swift | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/iOS/Settings/General/SettingsView.swift b/iOS/Settings/General/SettingsView.swift index 4609fa27e..c196a9d2d 100644 --- a/iOS/Settings/General/SettingsView.swift +++ b/iOS/Settings/General/SettingsView.swift @@ -14,6 +14,7 @@ import UserNotifications struct SettingsView: View { @Environment(\.dismiss) var dismiss + @Environment(\.scenePhase) var scenePhase @StateObject private var appDefaults = AppDefaults.shared @StateObject private var viewModel = SettingsViewModel() @@ -104,13 +105,13 @@ struct SettingsView: View { Task { await MainActor.run { self.viewModel.notificationPermissions = settings.authorizationStatus }} } } - .task { - for await _ in NotificationCenter.default.notifications(named: UIScene.willEnterForegroundNotification) { + .onChange(of: scenePhase, perform: { phase in + if phase == .active { UNUserNotificationCenter.current().getNotificationSettings { settings in Task { await MainActor.run { self.viewModel.notificationPermissions = settings.authorizationStatus }} } } - } + }) .dismissOnExternalContextLaunch() .fileImporter(isPresented: $viewModel.showImportView, allowedContentTypes: OPMLDocument.readableContentTypes) { result in switch result { From 7cd575d6b3cddf9bee95b30fd2e343e45d61ae5f Mon Sep 17 00:00:00 2001 From: Stuart Breckenridge Date: Thu, 23 Mar 2023 21:18:59 +0800 Subject: [PATCH 76/80] Renamed SettingsViewRow to SettingsRow --- .../Appearance/DisplayAndBehaviorsView.swift | 16 ++++++++-------- iOS/Settings/General/SettingsRows.swift | 2 +- iOS/Settings/General/SettingsView.swift | 18 +++++++++--------- 3 files changed, 18 insertions(+), 18 deletions(-) diff --git a/iOS/Settings/Appearance/DisplayAndBehaviorsView.swift b/iOS/Settings/Appearance/DisplayAndBehaviorsView.swift index c1502bd5c..8b3ee860a 100644 --- a/iOS/Settings/Appearance/DisplayAndBehaviorsView.swift +++ b/iOS/Settings/Appearance/DisplayAndBehaviorsView.swift @@ -20,17 +20,17 @@ struct DisplayAndBehaviorsView: View { } Section(header: Text("Timeline", comment: "Display & Behaviours: Timeline section header")) { - SettingsViewRows.sortOldestToNewest($appDefaults.timelineSortDirectionBool) - SettingsViewRows.groupByFeed($appDefaults.timelineGroupByFeed) - SettingsViewRows.confirmMarkAllAsRead($appDefaults.confirmMarkAllAsRead) - SettingsViewRows.markAsReadOnScroll($appDefaults.markArticlesAsReadOnScroll) - SettingsViewRows.refreshToClearReadArticles($appDefaults.refreshClearsReadArticles) - SettingsViewRows.timelineLayout + SettingsRow.sortOldestToNewest($appDefaults.timelineSortDirectionBool) + SettingsRow.groupByFeed($appDefaults.timelineGroupByFeed) + SettingsRow.confirmMarkAllAsRead($appDefaults.confirmMarkAllAsRead) + SettingsRow.markAsReadOnScroll($appDefaults.markArticlesAsReadOnScroll) + SettingsRow.refreshToClearReadArticles($appDefaults.refreshClearsReadArticles) + SettingsRow.timelineLayout } Section(header: Text("Article", comment: "Display & Behaviours: Article section header")) { - SettingsViewRows.themeSelection - SettingsViewRows.openLinksInNetNewsWire(Binding( + SettingsRow.themeSelection + SettingsRow.openLinksInNetNewsWire(Binding( get: { !appDefaults.useSystemBrowser }, set: { appDefaults.useSystemBrowser = !$0 } )) diff --git a/iOS/Settings/General/SettingsRows.swift b/iOS/Settings/General/SettingsRows.swift index 18c335a6b..4a6eb4e78 100644 --- a/iOS/Settings/General/SettingsRows.swift +++ b/iOS/Settings/General/SettingsRows.swift @@ -13,7 +13,7 @@ import UniformTypeIdentifiers // MARK: - Rows -struct SettingsViewRows { +struct SettingsRow { /// This row, when tapped, will open iOS System Settings. static var openSystemSettings: some View { diff --git a/iOS/Settings/General/SettingsView.swift b/iOS/Settings/General/SettingsView.swift index c196a9d2d..e0fc89d62 100644 --- a/iOS/Settings/General/SettingsView.swift +++ b/iOS/Settings/General/SettingsView.swift @@ -26,15 +26,15 @@ struct SettingsView: View { // Device Permissions Section(header: Text("Device Permissions", comment: "Settings: Device Permissions section header."), footer: Text("Configure NetNewsWire's access to Siri, background app refresh, mobile data, and more.", comment: "Settings: Device Permissions section footer.")) { - SettingsViewRows.openSystemSettings + SettingsRow.openSystemSettings } // Account/Extensions/OPML Management Section(header: Text("Accounts & Extensions", comment: "Settings: Accounts and Extensions section header."), footer: Text("Add, delete, enable, or disable accounts and extensions.", comment: "Settings: Accounts and Extensions section footer.")) { - SettingsViewRows.addAccount - SettingsViewRows.manageExtensions - SettingsViewRows.importOPML(showImportActionSheet: $viewModel.showImportActionSheet) + SettingsRow.addAccount + SettingsRow.manageExtensions + SettingsRow.importOPML(showImportActionSheet: $viewModel.showImportActionSheet) .confirmationDialog(Text("Choose an account to receive the imported feeds and folders", comment: "Import OPML confirmation title."), isPresented: $viewModel.showImportActionSheet, titleVisibility: .visible) { @@ -46,7 +46,7 @@ struct SettingsView: View { } } - SettingsViewRows.exportOPML(showExportActionSheet: $viewModel.showExportActionSheet) + SettingsRow.exportOPML(showExportActionSheet: $viewModel.showExportActionSheet) .confirmationDialog(Text("Choose an account with the subscriptions to export", comment: "Export OPML confirmation title."), isPresented: $viewModel.showExportActionSheet, titleVisibility: .visible) { @@ -68,18 +68,18 @@ struct SettingsView: View { // Appearance Section(header: Text("Appearance", comment: "Settings: Appearance section header."), footer: Text("Manage the look, feel, and behavior of NetNewsWire.", comment: "Settings: Appearance section footer.")) { - SettingsViewRows.configureAppearance($isConfigureAppearanceShown) + SettingsRow.configureAppearance($isConfigureAppearanceShown) if viewModel.notificationPermissions == .authorized { - SettingsViewRows.configureNewArticleNotifications + SettingsRow.configureNewArticleNotifications } } // Help Section { ForEach(0.. Date: Fri, 24 Mar 2023 04:12:01 +0800 Subject: [PATCH 77/80] Removed Notification closure syntax --- .../Accounts/AccountsManagementView.swift | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/iOS/Settings/Account and Extensions/Accounts/AccountsManagementView.swift b/iOS/Settings/Account and Extensions/Accounts/AccountsManagementView.swift index d1fa6f4c6..6dc43826d 100644 --- a/iOS/Settings/Account and Extensions/Accounts/AccountsManagementView.swift +++ b/iOS/Settings/Account and Extensions/Accounts/AccountsManagementView.swift @@ -22,21 +22,13 @@ public final class AccountManagementViewModel: ObservableObject { init() { refreshAccounts() - NotificationCenter.default.addObserver(forName: .AccountStateDidChange, object: nil, queue: .main) { [weak self] _ in - self?.refreshAccounts() - } + NotificationCenter.default.addObserver(self, selector: #selector(refreshAccounts(_:)), name: .AccountStateDidChange, object: nil) - NotificationCenter.default.addObserver(forName: .UserDidAddAccount, object: nil, queue: .main) { [weak self] _ in - self?.refreshAccounts() - } + NotificationCenter.default.addObserver(self, selector: #selector(refreshAccounts(_:)), name: .UserDidAddAccount, object: nil) - NotificationCenter.default.addObserver(forName: .UserDidDeleteAccount, object: nil, queue: .main) { [weak self] _ in - self?.refreshAccounts() - } + NotificationCenter.default.addObserver(self, selector: #selector(refreshAccounts(_:)), name: .UserDidDeleteAccount, object: nil) - NotificationCenter.default.addObserver(forName: .DisplayNameDidChange, object: nil, queue: .main) { [weak self] _ in - self?.refreshAccounts() - } + NotificationCenter.default.addObserver(self, selector: #selector(refreshAccounts(_:)), name: .DisplayNameDidChange, object: nil) } func temporarilyDeleteAccount(_ account: Account) { @@ -54,7 +46,8 @@ public final class AccountManagementViewModel: ObservableObject { self.refreshAccounts() } - private func refreshAccounts() { + @objc + private func refreshAccounts(_ sender: Any? = nil) { sortedActiveAccounts = AccountManager.shared.sortedActiveAccounts sortedInactiveAccounts = AccountManager.shared.sortedAccounts.filter({ $0.isActive == false }) } From 4478f9ee9b982d1c8f0e70ace9d4c9f21d6449e6 Mon Sep 17 00:00:00 2001 From: Stuart Breckenridge Date: Thu, 6 Apr 2023 17:58:30 +0400 Subject: [PATCH 78/80] Adds @MainActor to OPMLDocument fileWrapper func --- Shared/Importers/OPMLDocument.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Shared/Importers/OPMLDocument.swift b/Shared/Importers/OPMLDocument.swift index a304d9fa5..673a6dbde 100644 --- a/Shared/Importers/OPMLDocument.swift +++ b/Shared/Importers/OPMLDocument.swift @@ -30,7 +30,7 @@ public struct OPMLDocument: FileDocument { self.account = account } - public func fileWrapper(configuration: WriteConfiguration) throws -> FileWrapper { + @MainActor public func fileWrapper(configuration: WriteConfiguration) throws -> FileWrapper { let accountName = account.nameForDisplay.replacingOccurrences(of: " ", with: "").trimmingCharacters(in: .whitespaces) let filename = "Subscriptions-\(accountName).opml" let tempFile = FileManager.default.temporaryDirectory.appendingPathComponent(filename) From a6fb6079c2e33ba946e7cc3a831075aca2705a71 Mon Sep 17 00:00:00 2001 From: Stuart Breckenridge Date: Fri, 7 Apr 2023 19:03:33 +0400 Subject: [PATCH 79/80] Removes usage of for await notification handling This removes the 70+ warnings --- .../Extensions/AddExtensionListView.swift | 8 ++-- .../Extensions/EnableExtensionPointView.swift | 8 ++-- .../Extensions/ExtensionsManagementView.swift | 9 ++--- .../NewArticleNotificationsView.swift | 38 ++++++++----------- 4 files changed, 24 insertions(+), 39 deletions(-) diff --git a/iOS/Settings/Account and Extensions/Extensions/AddExtensionListView.swift b/iOS/Settings/Account and Extensions/Extensions/AddExtensionListView.swift index e58d51ca0..b7e5178ea 100644 --- a/iOS/Settings/Account and Extensions/Extensions/AddExtensionListView.swift +++ b/iOS/Settings/Account and Extensions/Extensions/AddExtensionListView.swift @@ -50,11 +50,9 @@ struct AddExtensionListView: View { } } } - .task { - for await _ in NotificationCenter.default.notifications(named: .ActiveExtensionPointsDidChange) { - await MainActor.run(body: { dismiss() }) - } - } + .onReceive(NotificationCenter.default.publisher(for: .ActiveExtensionPointsDidChange), perform: { _ in + dismiss() + }) } } diff --git a/iOS/Settings/Account and Extensions/Extensions/EnableExtensionPointView.swift b/iOS/Settings/Account and Extensions/Extensions/EnableExtensionPointView.swift index 5a40e1f64..3f9acac51 100644 --- a/iOS/Settings/Account and Extensions/Extensions/EnableExtensionPointView.swift +++ b/iOS/Settings/Account and Extensions/Extensions/EnableExtensionPointView.swift @@ -32,11 +32,9 @@ struct EnableExtensionPointView: View { .navigationTitle(extensionPoint.title) .navigationBarTitleDisplayMode(.inline) .dismissOnExternalContextLaunch() - .task { - for await _ in NotificationCenter.default.notifications(named: .ActiveExtensionPointsDidChange) { - await MainActor.run { dismiss() } - } - } + .onReceive(NotificationCenter.default.publisher(for: .ActiveExtensionPointsDidChange), perform: { _ in + dismiss() + }) .edgesIgnoringSafeArea(.bottom) } diff --git a/iOS/Settings/Account and Extensions/Extensions/ExtensionsManagementView.swift b/iOS/Settings/Account and Extensions/Extensions/ExtensionsManagementView.swift index 7a380f11c..56143efa8 100644 --- a/iOS/Settings/Account and Extensions/Extensions/ExtensionsManagementView.swift +++ b/iOS/Settings/Account and Extensions/Extensions/ExtensionsManagementView.swift @@ -51,12 +51,9 @@ struct ExtensionsManagementView: View { } message: { Text("This action cannot be undone.", comment: "Alert message: confirmation that deactivation of extension cannot be undone.") } - .task { - for await _ in NotificationCenter.default.notifications(named: .ActiveExtensionPointsDidChange) { - await MainActor.run { availableExtensionPointTypes = ExtensionPointManager.shared.availableExtensionPointTypes.sorted(by: { $0.title < $1.title }) } - } - } - + .onReceive(NotificationCenter.default.publisher(for: .ActiveExtensionPointsDidChange), perform: { _ in + availableExtensionPointTypes = ExtensionPointManager.shared.availableExtensionPointTypes.sorted(by: { $0.title < $1.title }) + }) } private var activeExtensionsSection: some View { diff --git a/iOS/Settings/New Article Notifications/NewArticleNotificationsView.swift b/iOS/Settings/New Article Notifications/NewArticleNotificationsView.swift index e30297851..d666862ee 100644 --- a/iOS/Settings/New Article Notifications/NewArticleNotificationsView.swift +++ b/iOS/Settings/New Article Notifications/NewArticleNotificationsView.swift @@ -28,33 +28,25 @@ struct NewArticleNotificationsView: View, Logging { } .tint(Color(uiColor: AppAssets.primaryAccentColor)) - .task { - for await notification in NotificationCenter.default.notifications(named: .FaviconDidBecomeAvailable) { - await MainActor.run { - guard let faviconURLString = notification.userInfo?["faviconURL"] as? String, - let faviconHost = URL(string: faviconURLString)?.host else { - return - } - activeAccounts.forEach { account in - for feed in Array(account.flattenedWebFeeds()) { - if let feedURLHost = URL(string: feed.url)?.host { - if faviconHost == feedURLHost { - feed.objectWillChange.send() - } - } + .onReceive(NotificationCenter.default.publisher(for: .FaviconDidBecomeAvailable), perform: { notification in + guard let faviconURLString = notification.userInfo?["faviconURL"] as? String, + let faviconHost = URL(string: faviconURLString)?.host else { + return + } + activeAccounts.forEach { account in + for feed in Array(account.flattenedWebFeeds()) { + if let feedURLHost = URL(string: feed.url)?.host { + if faviconHost == feedURLHost { + feed.objectWillChange.send() } } } } - } - .task { - for await notification in NotificationCenter.default.notifications(named: .WebFeedIconDidBecomeAvailable) { - await MainActor.run { - guard let webFeed = notification.userInfo?[UserInfoKey.webFeed] as? WebFeed else { return } - webFeed.objectWillChange.send() - } - } - } + }) + .onReceive(NotificationCenter.default.publisher(for: .WebFeedIconDidBecomeAvailable), perform: { notification in + guard let webFeed = notification.userInfo?[UserInfoKey.webFeed] as? WebFeed else { return } + webFeed.objectWillChange.send() + }) } private func sortedWebFeedsForAccount(_ account: Account) -> [WebFeed] { From a2b6fa2a1ee624979c2a7deaf2115c52d278e27e Mon Sep 17 00:00:00 2001 From: Stuart Breckenridge Date: Sat, 27 May 2023 16:13:32 +0800 Subject: [PATCH 80/80] Reinstates themesByDeveloper to ArticleThemesManager --- .../ArticleStyles/ArticleThemesManager.swift | 67 +++++++++++++++++++ 1 file changed, 67 insertions(+) diff --git a/Shared/ArticleStyles/ArticleThemesManager.swift b/Shared/ArticleStyles/ArticleThemesManager.swift index 33a95736a..71d24842d 100644 --- a/Shared/ArticleStyles/ArticleThemesManager.swift +++ b/Shared/ArticleStyles/ArticleThemesManager.swift @@ -144,6 +144,73 @@ final class ArticleThemesManager: NSObject, NSFilePresenter, Logging, Observable return try ArticleTheme(path: path, isAppTheme: isAppTheme) } + + func themesByDeveloper() -> (builtIn: [ArticleTheme], other: [ArticleTheme]) { + let installedProvidedThemes = themeNames.map({ try? articleThemeWithThemeName($0) }).compactMap({ $0 }).filter({ $0.isAppTheme }).sorted(by: { $0.name < $1.name }).filter({ $0.name != AppDefaults.defaultThemeName }) + + let installedOtherThemes = themeNames.map({ try? articleThemeWithThemeName($0) }).compactMap({ $0 }).filter({ !$0.isAppTheme }).sorted(by: { $0.name < $1.name }) + + return (installedProvidedThemes, installedOtherThemes) + } + + #if os(macOS) + func articleThemesMenu(for popUpButton: NSPopUpButton?) -> NSMenu { + let menu = NSMenu() + menu.autoenablesItems = false + menu.removeAllItems() + + let defaultMenuItem = NSMenuItem() + defaultMenuItem.title = ArticleTheme.defaultTheme.name + defaultMenuItem.action = #selector(updateThemeSelection(_:)) + defaultMenuItem.state = currentTheme.name == defaultMenuItem.title ? .on : .off + defaultMenuItem.target = self + menu.addItem(defaultMenuItem) + menu.addItem(NSMenuItem.separator()) + + let rancheroHeading = NSMenuItem(title: "Built-in Themes", action: nil, keyEquivalent: "") + rancheroHeading.attributedTitle = NSAttributedString(string: "Built-in Themes", attributes: [NSAttributedString.Key.foregroundColor : NSColor.secondaryLabelColor, NSAttributedString.Key.font: NSFont.boldSystemFont(ofSize: 12)]) + rancheroHeading.isEnabled = false + menu.addItem(rancheroHeading) + + let installedThemes = ArticleThemesManager.shared.themesByDeveloper() + + for theme in installedThemes.0 { + let item = NSMenuItem() + item.title = theme.name + item.action = #selector(updateThemeSelection(_:)) + item.state = currentTheme.name == theme.name ? .on : .off + item.target = self + menu.addItem(item) + } + + menu.addItem(NSMenuItem.separator()) + + let thirdPartyHeading = NSMenuItem(title: "Other Themes", action: nil, keyEquivalent: "") + thirdPartyHeading.attributedTitle = NSAttributedString(string: "Other Themes", attributes: [NSAttributedString.Key.foregroundColor : NSColor.secondaryLabelColor, NSAttributedString.Key.font: NSFont.boldSystemFont(ofSize: 12)]) + thirdPartyHeading.isEnabled = false + menu.addItem(thirdPartyHeading) + + for theme in installedThemes.1 { + let item = NSMenuItem() + item.title = theme.name + item.action = #selector(updateThemeSelection(_:)) + item.state = currentTheme.name == theme.name ? .on : .off + item.target = self + menu.addItem(item) + } + popUpButton?.selectItem(withTitle: ArticleThemesManager.shared.currentThemeName) + if popUpButton?.indexOfSelectedItem == -1 { + popUpButton?.selectItem(withTitle: ArticleTheme.defaultTheme.name) + } + return menu + } + + @objc + func updateThemeSelection(_ menuItem: NSMenuItem) { + currentThemeName = menuItem.title + } + + #endif func deleteTheme(themeName: String) { if let filename = pathForThemeName(themeName, folder: folderPath) {

    =*DYMWyZ8T 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%0AgI9M;K7FiN~Bl;0Le*Gf*W6vh+;LX!%*AR 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