From 5fa8660c8bb55e54c4c6069ba11f23ccf0f99199 Mon Sep 17 00:00:00 2001 From: Jackson Harper Date: Fri, 26 May 2023 10:16:17 +0800 Subject: [PATCH 1/2] Allow setting margin on iPhone, fix bug with reset button After resetting properties we need to call into web to update. --- .../Views/FontSizeAdjustmentPopoverView.swift | 26 ++++++++++--------- 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/apple/OmnivoreKit/Sources/Views/FontSizeAdjustmentPopoverView.swift b/apple/OmnivoreKit/Sources/Views/FontSizeAdjustmentPopoverView.swift index 33a699edf..65c9244aa 100644 --- a/apple/OmnivoreKit/Sources/Views/FontSizeAdjustmentPopoverView.swift +++ b/apple/OmnivoreKit/Sources/Views/FontSizeAdjustmentPopoverView.swift @@ -222,20 +222,23 @@ public enum WebFont: String, CaseIterable { var marginSlider: some View { HStack { + let minValue = UIDevice.isIPad ? 40 : 70 + let stepSize = UIDevice.isIPad ? 10 : 2 + Button(action: { - storedMaxWidthPercentage = max(storedMaxWidthPercentage - 10, 40) + storedMaxWidthPercentage = max(storedMaxWidthPercentage - stepSize, minValue) updateReaderPreferences() }, label: { Image("margin-smaller", bundle: .module) }) .frame(width: 25, height: 25, alignment: .center) - CustomSlider(value: $storedMaxWidthPercentage, minValue: 40, maxValue: 100) { _ in + CustomSlider(value: $storedMaxWidthPercentage, minValue: minValue, maxValue: 100) { _ in updateReaderPreferences() } .padding(.horizontal, 10) .tint(Color(hex: "#D9D9D9")) Button(action: { - storedMaxWidthPercentage = min(storedMaxWidthPercentage + 10, 100) + storedMaxWidthPercentage = min(storedMaxWidthPercentage + stepSize, 100) updateReaderPreferences() }, label: { Image("margin-larger", bundle: .module) }) @@ -351,15 +354,13 @@ public enum WebFont: String, CaseIterable { .padding(.vertical, 10) Group { - if UIDevice.isIPad { - Text("Margin") - .font(Font.system(size: 14)) - .frame(maxWidth: .infinity, alignment: .leading) + Text("Margin") + .font(Font.system(size: 14)) + .frame(maxWidth: .infinity, alignment: .leading) - marginSlider - .padding(.top, 5) - .padding(.bottom, 10) - } + marginSlider + .padding(.top, 5) + .padding(.bottom, 10) Text("Line Height") .font(Font.system(size: 14)) @@ -408,8 +409,9 @@ public enum WebFont: String, CaseIterable { enableHighlightOnRelease = false preferredFont = WebFont.inter.rawValue prefersHighContrastText = true - enableHighlightOnRelease = false + + updateReaderPreferences() }, label: { Text("Reset") .font(Font.system(size: 12, weight: .bold)) From ee82cf9180da29690b5baa8094db7c02af8b40ca Mon Sep 17 00:00:00 2001 From: Jackson Harper Date: Fri, 26 May 2023 12:30:59 +0800 Subject: [PATCH 2/2] Add copy deeplink to iOS --- .../Views/WebReader/WebReaderContainer.swift | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/apple/OmnivoreKit/Sources/App/Views/WebReader/WebReaderContainer.swift b/apple/OmnivoreKit/Sources/App/Views/WebReader/WebReaderContainer.swift index 7db6b69a2..cfff418af 100644 --- a/apple/OmnivoreKit/Sources/App/Views/WebReader/WebReaderContainer.swift +++ b/apple/OmnivoreKit/Sources/App/Views/WebReader/WebReaderContainer.swift @@ -244,6 +244,10 @@ struct WebReaderContainerView: View { label: { Label("Share Original", systemImage: "square.and.arrow.up") } ) } + Button( + action: copyDeeplink, + label: { Label("Copy Deeplink", systemImage: "link") } + ) Button( action: delete, label: { Label("Delete", systemImage: "trash") } @@ -587,6 +591,19 @@ struct WebReaderContainerView: View { shareActionID = UUID() } + func copyDeeplink() { + if let deepLink = item.deepLink { + #if os(iOS) + UIPasteboard.general.string = deepLink.absoluteString + #else + Pasteboard.general.string = deepLink.absoluteString + #endif + showInSnackbar("Deeplink Copied") + } else { + showInSnackbar("Error copying deeplink") + } + } + func delete() { showDeleteConfirmation = true }