AttachmentsPreview: set zoomable state

This commit is contained in:
ganfra 2024-02-23 17:36:19 +01:00
parent e9e99918be
commit aff9943f24

View file

@ -44,7 +44,10 @@ import io.element.android.libraries.designsystem.preview.ElementPreviewDark
import io.element.android.libraries.designsystem.theme.components.Scaffold import io.element.android.libraries.designsystem.theme.components.Scaffold
import io.element.android.libraries.designsystem.theme.components.TextButton import io.element.android.libraries.designsystem.theme.components.TextButton
import io.element.android.libraries.mediaviewer.api.local.LocalMediaView import io.element.android.libraries.mediaviewer.api.local.LocalMediaView
import io.element.android.libraries.mediaviewer.api.local.rememberLocalMediaViewState
import io.element.android.libraries.ui.strings.CommonStrings import io.element.android.libraries.ui.strings.CommonStrings
import me.saket.telephoto.zoomable.ZoomSpec
import me.saket.telephoto.zoomable.rememberZoomableState
@Composable @Composable
fun AttachmentsPreviewView( fun AttachmentsPreviewView(
@ -127,13 +130,21 @@ private fun AttachmentPreviewContent(
contentAlignment = Alignment.Center contentAlignment = Alignment.Center
) { ) {
when (attachment) { when (attachment) {
is Attachment.Media -> LocalMediaView( is Attachment.Media -> {
val localMediaViewState = rememberLocalMediaViewState(
zoomableState = rememberZoomableState(
zoomSpec = ZoomSpec(maxZoomFactor = 4f, preventOverOrUnderZoom = false)
)
)
LocalMediaView(
modifier = Modifier.fillMaxSize(), modifier = Modifier.fillMaxSize(),
localMedia = attachment.localMedia, localMedia = attachment.localMedia,
localMediaViewState = localMediaViewState,
onClick = {} onClick = {}
) )
} }
} }
}
AttachmentsPreviewBottomActions( AttachmentsPreviewBottomActions(
onCancelClicked = onDismiss, onCancelClicked = onDismiss,
onSendClicked = onSendClicked, onSendClicked = onSendClicked,