From c0151afa039e61b67405124d6ad24f1a62e87a4a Mon Sep 17 00:00:00 2001 From: Jonathan Yee Date: Sun, 29 Jan 2023 16:56:37 -0800 Subject: [PATCH] add Open Original to web reader menu --- .../App/Views/WebReader/WebReaderContainer.swift | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/apple/OmnivoreKit/Sources/App/Views/WebReader/WebReaderContainer.swift b/apple/OmnivoreKit/Sources/App/Views/WebReader/WebReaderContainer.swift index 0b6f6d27c..584f1c284 100644 --- a/apple/OmnivoreKit/Sources/App/Views/WebReader/WebReaderContainer.swift +++ b/apple/OmnivoreKit/Sources/App/Views/WebReader/WebReaderContainer.swift @@ -38,6 +38,7 @@ struct WebReaderContainerView: View { @EnvironmentObject var dataService: DataService @EnvironmentObject var audioController: AudioController @Environment(\.presentationMode) var presentationMode: Binding + @Environment(\.openURL) var openURL @StateObject var viewModel = WebReaderViewModel() func webViewActionHandler(message: WKScriptMessage, replyHandler: WKScriptMessageReplyHandler?) { @@ -215,6 +216,12 @@ struct WebReaderContainerView: View { audioMenuItem() if viewModel.hasOriginalUrl(item) { + Button( + action: { + openOriginalURL(urlString: item.pageURLString) + }, + label: { Label("Open Original", systemImage: "safari") } + ) Button( action: share, label: { Label("Share Original", systemImage: "square.and.arrow.up") } @@ -505,4 +512,12 @@ struct WebReaderContainerView: View { } func scrollToTop() {} + + func openOriginalURL(urlString: String?) { + if let urlString = urlString, + let url = URL(string: urlString) + { + openURL(url) + } + } }