From 2e1b4cb80b011ff3fda0af4b5738d160a421a28d Mon Sep 17 00:00:00 2001 From: Stefan Ceriu Date: Mon, 13 Nov 2023 13:21:24 +0200 Subject: [PATCH] Fixes #2058 - Prevent QuickLook from breaking media uploading on Mac, replace the preview with a plain filename label --- .../View/MediaUploadPreviewScreen.swift | 23 +++++++++++++++---- changelog.d/2058.bugfix | 1 + 2 files changed, 19 insertions(+), 5 deletions(-) create mode 100644 changelog.d/2058.bugfix diff --git a/ElementX/Sources/Screens/MediaUploadPreviewScreen/View/MediaUploadPreviewScreen.swift b/ElementX/Sources/Screens/MediaUploadPreviewScreen/View/MediaUploadPreviewScreen.swift index 382019286..ada145239 100644 --- a/ElementX/Sources/Screens/MediaUploadPreviewScreen/View/MediaUploadPreviewScreen.swift +++ b/ElementX/Sources/Screens/MediaUploadPreviewScreen/View/MediaUploadPreviewScreen.swift @@ -25,9 +25,7 @@ struct MediaUploadPreviewScreen: View { } var body: some View { - PreviewView(context: context, - fileURL: context.viewState.url, - title: context.viewState.title) + mainContent .id(UUID()) .navigationTitle(title) .navigationBarTitleDisplayMode(.inline) @@ -37,6 +35,19 @@ struct MediaUploadPreviewScreen: View { .interactiveDismissDisabled() } + @ViewBuilder + private var mainContent: some View { + if ProcessInfo.processInfo.isiOSAppOnMac { + Text(title) + .font(.compound.headingMD) + .foregroundColor(.compound.textSecondary) + } else { + PreviewView(context: context, + fileURL: context.viewState.url, + title: context.viewState.title) + } + } + @ToolbarContentBuilder private var toolbar: some ToolbarContent { ToolbarItem(placement: .cancellationAction) { @@ -117,10 +128,12 @@ struct MediaUploadPreviewScreen_Previews: PreviewProvider, TestablePreview { static let viewModel = MediaUploadPreviewScreenViewModel(userIndicatorController: UserIndicatorControllerMock.default, roomProxy: RoomProxyMock(), mediaUploadingPreprocessor: MediaUploadingPreprocessor(), - title: nil, + title: "some random file name", url: URL.picturesDirectory) static var previews: some View { - MediaUploadPreviewScreen(context: viewModel.context) + NavigationStack { + MediaUploadPreviewScreen(context: viewModel.context) + } } } diff --git a/changelog.d/2058.bugfix b/changelog.d/2058.bugfix new file mode 100644 index 000000000..ef7ca9066 --- /dev/null +++ b/changelog.d/2058.bugfix @@ -0,0 +1 @@ +Prevent QuickLook from breaking media uploading on Mac, replace the preview with a plain filename label \ No newline at end of file