Move the media caption composer (and Add Caption action) behind a feature flag for now. (#3560)

This commit is contained in:
Doug
2024-11-27 06:30:10 +00:00
committed by GitHub
parent ed4063a222
commit a292c41ca5
15 changed files with 39 additions and 11 deletions
@@ -14,6 +14,7 @@ struct MediaUploadPreviewScreenCoordinatorParameters {
let mediaUploadingPreprocessor: MediaUploadingPreprocessor
let title: String?
let url: URL
let createMediaCaptionsEnabled: Bool
}
enum MediaUploadPreviewScreenCoordinatorAction {
@@ -34,7 +35,8 @@ final class MediaUploadPreviewScreenCoordinator: CoordinatorProtocol {
roomProxy: parameters.roomProxy,
mediaUploadingPreprocessor: parameters.mediaUploadingPreprocessor,
title: parameters.title,
url: parameters.url)
url: parameters.url,
createMediaCaptionsEnabled: parameters.createMediaCaptionsEnabled)
}
func start() {
@@ -14,6 +14,7 @@ enum MediaUploadPreviewScreenViewModelAction {
struct MediaUploadPreviewScreenViewState: BindableState {
let url: URL
let title: String?
let showMediaCaptionComposer: Bool
var shouldDisableInteraction = false
var bindings = MediaUploadPreviewScreenBindings()
@@ -32,13 +32,14 @@ class MediaUploadPreviewScreenViewModel: MediaUploadPreviewScreenViewModelType,
roomProxy: JoinedRoomProxyProtocol,
mediaUploadingPreprocessor: MediaUploadingPreprocessor,
title: String?,
url: URL) {
url: URL,
createMediaCaptionsEnabled: Bool) {
self.userIndicatorController = userIndicatorController
self.roomProxy = roomProxy
self.mediaUploadingPreprocessor = mediaUploadingPreprocessor
self.url = url
super.init(initialViewState: MediaUploadPreviewScreenViewState(url: url, title: title))
super.init(initialViewState: MediaUploadPreviewScreenViewState(url: url, title: title, showMediaCaptionComposer: createMediaCaptionsEnabled))
}
override func process(viewAction: MediaUploadPreviewScreenViewAction) {
@@ -22,10 +22,12 @@ struct MediaUploadPreviewScreen: View {
.id(context.viewState.url)
.ignoresSafeArea(edges: [.horizontal])
.safeAreaInset(edge: .bottom, spacing: 0) {
composer
.padding(.horizontal, 12)
.padding(.vertical, 16)
.background() // Don't use compound so we match the QLPreviewController.
if context.viewState.showMediaCaptionComposer {
composer
.padding(.horizontal, 12)
.padding(.vertical, 16)
.background() // Don't use compound so we match the QLPreviewController.
}
}
.navigationTitle(title)
.navigationBarTitleDisplayMode(.inline)
@@ -156,7 +158,8 @@ struct MediaUploadPreviewScreen_Previews: PreviewProvider, TestablePreview {
roomProxy: JoinedRoomProxyMock(),
mediaUploadingPreprocessor: MediaUploadingPreprocessor(appSettings: ServiceLocator.shared.settings),
title: "App Icon.png",
url: snapshotURL)
url: snapshotURL,
createMediaCaptionsEnabled: true)
static var previews: some View {
NavigationStack {
MediaUploadPreviewScreen(context: viewModel.context)