From 6fd096bf9fe82c6b53fd449ad6a6866a5f6438d5 Mon Sep 17 00:00:00 2001 From: Satindar Dhillon Date: Fri, 3 Jun 2022 15:28:53 -0700 Subject: [PATCH] remove duplicate web pref adjustment signals --- .../App/Views/WebReader/WebReader.swift | 36 +++++------------ .../Views/WebReader/WebReaderContainer.swift | 27 +++++-------- .../WebReader/WebReaderCoordinator.swift | 9 ++--- .../Views/FontSizeAdjustmentPopoverView.swift | 39 +++++++------------ 4 files changed, 36 insertions(+), 75 deletions(-) diff --git a/apple/OmnivoreKit/Sources/App/Views/WebReader/WebReader.swift b/apple/OmnivoreKit/Sources/App/Views/WebReader/WebReader.swift index befe9704b..c29b8d30f 100644 --- a/apple/OmnivoreKit/Sources/App/Views/WebReader/WebReader.swift +++ b/apple/OmnivoreKit/Sources/App/Views/WebReader/WebReader.swift @@ -13,12 +13,9 @@ import WebKit let webViewActionHandler: (WKScriptMessage, WKScriptMessageReplyHandler?) -> Void let navBarVisibilityRatioUpdater: (Double) -> Void - @Binding var increaseFontActionID: UUID? - @Binding var decreaseFontActionID: UUID? - @Binding var increaseMarginActionID: UUID? - @Binding var decreaseMarginActionID: UUID? - @Binding var increaseLineHeightActionID: UUID? - @Binding var decreaseLineHeightActionID: UUID? + @Binding var updateFontActionID: UUID? + @Binding var updateMarginActionID: UUID? + @Binding var updateLineHeightActionID: UUID? @Binding var annotationSaveTransactionID: UUID? @Binding var showNavBarActionID: UUID? @Binding var shareActionID: UUID? @@ -81,33 +78,18 @@ import WebKit (webView as? WebView)?.dispatchEvent(.saveAnnotation(annotation: annotation)) } - if increaseFontActionID != context.coordinator.previousIncreaseFontActionID { - context.coordinator.previousIncreaseFontActionID = increaseFontActionID + if updateFontActionID != context.coordinator.previousUpdateFontActionID { + context.coordinator.previousUpdateFontActionID = updateFontActionID (webView as? WebView)?.updateFontSize() } - if decreaseFontActionID != context.coordinator.previousDecreaseFontActionID { - context.coordinator.previousDecreaseFontActionID = decreaseFontActionID - (webView as? WebView)?.updateFontSize() - } - - if increaseMarginActionID != context.coordinator.previousIncreaseMarginActionID { - context.coordinator.previousIncreaseMarginActionID = increaseMarginActionID + if updateMarginActionID != context.coordinator.previousUpdateMarginActionID { + context.coordinator.previousUpdateMarginActionID = updateMarginActionID (webView as? WebView)?.updateMargin() } - if decreaseMarginActionID != context.coordinator.previousDecreaseMarginActionID { - context.coordinator.previousDecreaseMarginActionID = decreaseMarginActionID - (webView as? WebView)?.updateMargin() - } - - if increaseLineHeightActionID != context.coordinator.previousIncreaseLineHeightActionID { - context.coordinator.previousIncreaseLineHeightActionID = increaseLineHeightActionID - (webView as? WebView)?.updateLineHeight() - } - - if decreaseLineHeightActionID != context.coordinator.previousDecreaseLineHeightActionID { - context.coordinator.previousDecreaseLineHeightActionID = decreaseLineHeightActionID + if updateLineHeightActionID != context.coordinator.previousUpdateLineHeightActionID { + context.coordinator.previousUpdateLineHeightActionID = updateLineHeightActionID (webView as? WebView)?.updateLineHeight() } diff --git a/apple/OmnivoreKit/Sources/App/Views/WebReader/WebReaderContainer.swift b/apple/OmnivoreKit/Sources/App/Views/WebReader/WebReaderContainer.swift index 0f105fac9..86954ac1d 100644 --- a/apple/OmnivoreKit/Sources/App/Views/WebReader/WebReaderContainer.swift +++ b/apple/OmnivoreKit/Sources/App/Views/WebReader/WebReaderContainer.swift @@ -15,12 +15,9 @@ import WebKit @State private var navBarVisibilityRatio = 1.0 @State private var showDeleteConfirmation = false @State private var progressViewOpacity = 0.0 - @State var increaseFontActionID: UUID? - @State var decreaseFontActionID: UUID? - @State var increaseMarginActionID: UUID? - @State var decreaseMarginActionID: UUID? - @State var increaseLineHeightActionID: UUID? - @State var decreaseLineHeightActionID: UUID? + @State var updateFontActionID: UUID? + @State var updateMarginActionID: UUID? + @State var updateLineHeightActionID: UUID? @State var annotationSaveTransactionID: UUID? @State var showNavBarActionID: UUID? @State var shareActionID: UUID? @@ -149,12 +146,9 @@ import WebKit navBarVisibilityRatioUpdater: { navBarVisibilityRatio = $0 }, - increaseFontActionID: $increaseFontActionID, - decreaseFontActionID: $decreaseFontActionID, - increaseMarginActionID: $increaseMarginActionID, - decreaseMarginActionID: $decreaseMarginActionID, - increaseLineHeightActionID: $increaseLineHeightActionID, - decreaseLineHeightActionID: $decreaseLineHeightActionID, + updateFontActionID: $updateFontActionID, + updateMarginActionID: $updateMarginActionID, + updateLineHeightActionID: $updateLineHeightActionID, annotationSaveTransactionID: $annotationSaveTransactionID, showNavBarActionID: $showNavBarActionID, shareActionID: $shareActionID, @@ -202,12 +196,9 @@ import WebKit } .formSheet(isPresented: $showPreferencesPopover) { WebPreferencesPopoverView( - increaseFontAction: { increaseFontActionID = UUID() }, - decreaseFontAction: { decreaseFontActionID = UUID() }, - increaseMarginAction: { increaseMarginActionID = UUID() }, - decreaseMarginAction: { decreaseMarginActionID = UUID() }, - increaseLineHeightAction: { increaseLineHeightActionID = UUID() }, - decreaseLineHeightAction: { decreaseLineHeightActionID = UUID() }, + updateFontAction: { updateFontActionID = UUID() }, + updateMarginAction: { updateMarginActionID = UUID() }, + updateLineHeightAction: { updateLineHeightActionID = UUID() }, dismissAction: { showPreferencesPopover = false } ) } diff --git a/apple/OmnivoreKit/Sources/App/Views/WebReader/WebReaderCoordinator.swift b/apple/OmnivoreKit/Sources/App/Views/WebReader/WebReaderCoordinator.swift index 61f687846..e2c760b29 100644 --- a/apple/OmnivoreKit/Sources/App/Views/WebReader/WebReaderCoordinator.swift +++ b/apple/OmnivoreKit/Sources/App/Views/WebReader/WebReaderCoordinator.swift @@ -15,12 +15,9 @@ final class WebReaderCoordinator: NSObject { var linkHandler: (URL) -> Void = { _ in } var needsReload = false var lastSavedAnnotationID: UUID? - var previousIncreaseFontActionID: UUID? - var previousDecreaseFontActionID: UUID? - var previousIncreaseMarginActionID: UUID? - var previousDecreaseMarginActionID: UUID? - var previousIncreaseLineHeightActionID: UUID? - var previousDecreaseLineHeightActionID: UUID? + var previousUpdateFontActionID: UUID? + var previousUpdateMarginActionID: UUID? + var previousUpdateLineHeightActionID: UUID? var previousShowNavBarActionID: UUID? var previousShareActionID: UUID? var updateNavBarVisibilityRatio: (Double) -> Void = { _ in } diff --git a/apple/OmnivoreKit/Sources/Views/FontSizeAdjustmentPopoverView.swift b/apple/OmnivoreKit/Sources/Views/FontSizeAdjustmentPopoverView.swift index d07203c04..d64b6ceea 100644 --- a/apple/OmnivoreKit/Sources/Views/FontSizeAdjustmentPopoverView.swift +++ b/apple/OmnivoreKit/Sources/Views/FontSizeAdjustmentPopoverView.swift @@ -10,12 +10,9 @@ public enum WebFont: String { } public struct WebPreferencesPopoverView: View { - let increaseFontAction: () -> Void - let decreaseFontAction: () -> Void - let increaseMarginAction: () -> Void - let decreaseMarginAction: () -> Void - let increaseLineHeightAction: () -> Void - let decreaseLineHeightAction: () -> Void + let updateFontAction: () -> Void + let updateMarginAction: () -> Void + let updateLineHeightAction: () -> Void let dismissAction: () -> Void static let preferredWebFontSizeKey = UserDefaultKey.preferredWebFontSize.rawValue @@ -29,20 +26,14 @@ public struct WebPreferencesPopoverView: View { @AppStorage(UserDefaultKey.preferredWebMargin.rawValue) var storedMargin = 360 public init( - increaseFontAction: @escaping () -> Void, - decreaseFontAction: @escaping () -> Void, - increaseMarginAction: @escaping () -> Void, - decreaseMarginAction: @escaping () -> Void, - increaseLineHeightAction: @escaping () -> Void, - decreaseLineHeightAction: @escaping () -> Void, + updateFontAction: @escaping () -> Void, + updateMarginAction: @escaping () -> Void, + updateLineHeightAction: @escaping () -> Void, dismissAction: @escaping () -> Void ) { - self.increaseFontAction = increaseFontAction - self.decreaseFontAction = decreaseFontAction - self.increaseMarginAction = increaseMarginAction - self.decreaseMarginAction = decreaseMarginAction - self.increaseLineHeightAction = increaseLineHeightAction - self.decreaseLineHeightAction = decreaseLineHeightAction + self.updateFontAction = updateFontAction + self.updateMarginAction = updateMarginAction + self.updateLineHeightAction = updateLineHeightAction self.dismissAction = dismissAction } @@ -64,11 +55,11 @@ public struct WebPreferencesPopoverView: View { labelText: "Font Size:", onIncrement: { storedFontSize = min(storedFontSize + 2, 28) - increaseFontAction() + updateFontAction() }, onDecrement: { storedFontSize = max(storedFontSize - 2, 10) - decreaseFontAction() + updateFontAction() } ) @@ -77,11 +68,11 @@ public struct WebPreferencesPopoverView: View { labelText: "Margin:", onIncrement: { storedMargin = min(storedMargin + 45, 560) - increaseMarginAction() + updateMarginAction() }, onDecrement: { storedMargin = max(storedMargin - 45, 200) - decreaseMarginAction() + updateMarginAction() } ) } @@ -90,11 +81,11 @@ public struct WebPreferencesPopoverView: View { labelText: "Line Spacing:", onIncrement: { storedLineSpacing = min(storedLineSpacing + 25, 300) - increaseLineHeightAction() + updateLineHeightAction() }, onDecrement: { storedLineSpacing = max(storedLineSpacing - 25, 100) - decreaseLineHeightAction() + updateLineHeightAction() } )