From 97b0b0f5dd54cab5e9dd78ac930306e66e4edcfe Mon Sep 17 00:00:00 2001 From: Fuwn Date: Sat, 22 Feb 2025 06:40:27 -0800 Subject: feat: Development commit --- Sora/Data/Settings/Settings.swift | 3 +++ Sora/Other/AsyncImageWithPreview.swift | 21 ++++++++++++--------- Sora/Views/Settings/SettingsDetailsView.swift | 2 ++ 3 files changed, 17 insertions(+), 9 deletions(-) (limited to 'Sora') diff --git a/Sora/Data/Settings/Settings.swift b/Sora/Data/Settings/Settings.swift index c34b6ba..5aac056 100644 --- a/Sora/Data/Settings/Settings.swift +++ b/Sora/Data/Settings/Settings.swift @@ -30,6 +30,9 @@ class Settings: ObservableObject { @AppStorage("preferredBooru") var preferredBooru: BooruProvider = .yandere + @AppStorage("enableShareShortcut") + var enableShareShortcut: Bool = false + var bookmarks: [Bookmark] { get { if let bookmarks = try? JSONDecoder().decode([Bookmark].self, from: bookmarksData) { diff --git a/Sora/Other/AsyncImageWithPreview.swift b/Sora/Other/AsyncImageWithPreview.swift index 9cae976..6c47fb9 100644 --- a/Sora/Other/AsyncImageWithPreview.swift +++ b/Sora/Other/AsyncImageWithPreview.swift @@ -1,6 +1,7 @@ import SwiftUI struct AsyncImageWithPreview: View { + @EnvironmentObject var settings: Settings var url: URL? @Binding var loadingState: PostLoadingState var finalLoadingState: PostLoadingState @@ -34,16 +35,18 @@ struct AsyncImageWithPreview: View { #endif #if os(iOS) - Button { - let activityViewController = UIActivityViewController( - activityItems: [url ?? URL(string: "")!], applicationActivities: nil - ) + if settings.enableShareShortcut { + Button { + let activityViewController = UIActivityViewController( + activityItems: [url ?? URL(string: "")!], applicationActivities: nil + ) - UIApplication.shared.windows.first?.rootViewController?.present( - activityViewController, animated: true - ) - } label: { - Label("Share Image", systemImage: "square.and.arrow.up") + UIApplication.shared.windows.first?.rootViewController?.present( + activityViewController, animated: true + ) + } label: { + Label("Share Image", systemImage: "square.and.arrow.up") + } } #endif diff --git a/Sora/Views/Settings/SettingsDetailsView.swift b/Sora/Views/Settings/SettingsDetailsView.swift index 713577c..c51ab76 100644 --- a/Sora/Views/Settings/SettingsDetailsView.swift +++ b/Sora/Views/Settings/SettingsDetailsView.swift @@ -9,5 +9,7 @@ struct SettingsDetailsView: View { Text(type.rawValue.capitalized).tag(type) } } + + Toggle("Enable \"Share Image\" Shortcut", isOn: $settings.enableShareShortcut) } } -- cgit v1.2.3