diff --git a/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/roomlist/RoomListContextMenu.kt b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/roomlist/RoomListContextMenu.kt index 03db82f252..c2404b896f 100644 --- a/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/roomlist/RoomListContextMenu.kt +++ b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/roomlist/RoomListContextMenu.kt @@ -216,7 +216,7 @@ private fun RoomListModalBottomSheetContent( @Composable internal fun RoomListContextMenuPreview( @PreviewParameter(RoomListStateContextMenuShownProvider::class) contextMenu: RoomListState.ContextMenu.Shown -) = ElementPreview { +) = ElementPreview(fillMaxSize = true) { RoomListContextMenu( contextMenu = contextMenu, canReportRoom = true, diff --git a/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/spacefilters/SpaceFiltersView.kt b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/spacefilters/SpaceFiltersView.kt index 3528dc58a7..c8d710fced 100644 --- a/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/spacefilters/SpaceFiltersView.kt +++ b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/spacefilters/SpaceFiltersView.kt @@ -188,6 +188,6 @@ private fun SpaceFilterItem( @PreviewsDayNight @Composable -internal fun SpaceFiltersViewPreview(@PreviewParameter(SpaceFiltersStateProvider::class) state: SpaceFiltersState) = ElementPreview { +internal fun SpaceFiltersViewPreview(@PreviewParameter(SpaceFiltersStateProvider::class) state: SpaceFiltersState) = ElementPreview(fillMaxSize = true) { SpaceFiltersView(state = state) } diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/messagecomposer/AttachmentsBottomSheet.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/messagecomposer/AttachmentsBottomSheet.kt index d6fb2e7357..60333d7641 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/messagecomposer/AttachmentsBottomSheet.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/messagecomposer/AttachmentsBottomSheet.kt @@ -153,10 +153,11 @@ private fun AttachmentSourcePickerMenu( @PreviewsDayNight @Composable -internal fun AttachmentSourcePickerMenuPreview() = ElementPreview { - AttachmentSourcePickerMenu( +internal fun AttachmentSourcePickerMenuPreview() = ElementPreview(fillMaxSize = true) { + AttachmentsBottomSheet( state = aMessageComposerState( canShareLocation = true, + showAttachmentSourcePicker = true, ), onSendLocationClick = {}, onCreatePollClick = {}, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/receipt/bottomsheet/ReadReceiptBottomSheet.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/receipt/bottomsheet/ReadReceiptBottomSheet.kt index 8c0bdfc5ca..007e809972 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/receipt/bottomsheet/ReadReceiptBottomSheet.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/receipt/bottomsheet/ReadReceiptBottomSheet.kt @@ -9,7 +9,6 @@ package io.element.android.features.messages.impl.timeline.components.receipt.bottomsheet import androidx.compose.foundation.clickable -import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.lazy.LazyColumn @@ -118,9 +117,9 @@ private fun ReadReceiptBottomSheetContent( @PreviewsDayNight @Composable -internal fun ReadReceiptBottomSheetPreview(@PreviewParameter(ReadReceiptBottomSheetStateProvider::class) state: ReadReceiptBottomSheetState) = ElementPreview { - Column { - ReadReceiptBottomSheetContent( +internal fun ReadReceiptBottomSheetPreview(@PreviewParameter(ReadReceiptBottomSheetStateProvider::class) state: ReadReceiptBottomSheetState) { + ElementPreview(fillMaxSize = true) { + ReadReceiptBottomSheet( state = state, onUserDataClick = {}, ) diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/SimpleModalBottomSheet.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/SimpleModalBottomSheet.kt index ce4e90ae70..284d583de8 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/SimpleModalBottomSheet.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/SimpleModalBottomSheet.kt @@ -65,7 +65,7 @@ fun SimpleModalBottomSheet( @PreviewsDayNight @Composable -internal fun SimpleModalBottomSheetPreview() = ElementPreview { +internal fun SimpleModalBottomSheetPreview() = ElementPreview(fillMaxSize = true) { SimpleModalBottomSheet(title = "A title", onDismiss = {}) { Text( text = LoremIpsum(20).values.first(), diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/preview/ElementPreview.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/preview/ElementPreview.kt index e4030a77ea..88bf0fafe1 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/preview/ElementPreview.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/preview/ElementPreview.kt @@ -10,8 +10,11 @@ package io.element.android.libraries.designsystem.preview import androidx.annotation.DrawableRes import androidx.compose.foundation.isSystemInDarkTheme +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.runtime.Composable import androidx.compose.runtime.CompositionLocalProvider +import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalContext import androidx.core.content.res.ResourcesCompat import coil3.annotation.ExperimentalCoilApi @@ -29,6 +32,7 @@ import io.element.android.libraries.designsystem.utils.CommonDrawables fun ElementPreview( theme: Theme = if (isSystemInDarkTheme()) Theme.Dark else Theme.Light, showBackground: Boolean = true, + fillMaxSize: Boolean = false, @DrawableRes drawableFallbackForImages: Int = CommonDrawables.sample_background, content: @Composable () -> Unit @@ -42,9 +46,18 @@ fun ElementPreview( ElementTheme(theme = theme) { if (showBackground) { // If we have a proper contentColor applied we need a Surface instead of a Box - Surface(content = content) + Surface( + modifier = if (fillMaxSize) Modifier.fillMaxSize() else Modifier, + content = content, + ) } else { - content() + if (fillMaxSize) { + Box(modifier = Modifier.fillMaxSize()) { + content() + } + } else { + content() + } } } } diff --git a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/AvatarActionBottomSheet.kt b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/AvatarActionBottomSheet.kt index 6898f434e0..5a9e56829c 100644 --- a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/AvatarActionBottomSheet.kt +++ b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/AvatarActionBottomSheet.kt @@ -115,7 +115,7 @@ private fun AvatarActionBottomSheetContent( @PreviewsDayNight @Composable -internal fun AvatarActionBottomSheetPreview() = ElementPreview { +internal fun AvatarActionBottomSheetPreview() = ElementPreview(fillMaxSize = true) { AvatarActionBottomSheet( actions = persistentListOf(AvatarAction.TakePhoto, AvatarAction.ChoosePhoto, AvatarAction.Remove), isVisible = true, diff --git a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/CreateDmConfirmationBottomSheet.kt b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/CreateDmConfirmationBottomSheet.kt index d6a65061e1..598d7f2ca7 100644 --- a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/CreateDmConfirmationBottomSheet.kt +++ b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/CreateDmConfirmationBottomSheet.kt @@ -160,7 +160,7 @@ internal fun CreateDmConfirmationBottomSheetPreview( @PreviewParameter( CreateDmConfirmationBottomSheetStateProvider::class ) state: CreateDmConfirmationBottomSheetState -) = ElementPreview { +) = ElementPreview(fillMaxSize = true) { CreateDmConfirmationBottomSheet( matrixUser = state.matrixUser, isUserIdentityUnknown = state.isUserIdentityUnknown, diff --git a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/details/MediaDeleteConfirmationBottomSheet.kt b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/details/MediaDeleteConfirmationBottomSheet.kt index c7638da660..38bbb4dcf0 100644 --- a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/details/MediaDeleteConfirmationBottomSheet.kt +++ b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/details/MediaDeleteConfirmationBottomSheet.kt @@ -169,7 +169,7 @@ private fun MediaRow( @Composable internal fun MediaDeleteConfirmationBottomSheetPreview( @PreviewParameter(provider = MediaBottomSheetStateDeleteConfirmationProvider::class) state: MediaBottomSheetState.DeleteConfirmation, -) = ElementPreview { +) = ElementPreview(fillMaxSize = true) { MediaDeleteConfirmationBottomSheet( state = state, onDelete = {}, diff --git a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/details/MediaDetailsBottomSheet.kt b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/details/MediaDetailsBottomSheet.kt index c056cfae7d..c9e11b65bc 100644 --- a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/details/MediaDetailsBottomSheet.kt +++ b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/details/MediaDetailsBottomSheet.kt @@ -267,7 +267,7 @@ private fun SectionText( @Composable internal fun MediaDetailsBottomSheetPreview( @PreviewParameter(MediaBottomSheetStateDetailsProvider::class) state: MediaBottomSheetState.Details, -) = ElementPreview { +) = ElementPreview(fillMaxSize = true) { MediaDetailsBottomSheet( state = state, onViewInTimeline = {}, diff --git a/libraries/textcomposer/impl/src/main/kotlin/io/element/android/libraries/textcomposer/CaptionWarningBottomSheet.kt b/libraries/textcomposer/impl/src/main/kotlin/io/element/android/libraries/textcomposer/CaptionWarningBottomSheet.kt index bec837664f..f9348dcdcf 100644 --- a/libraries/textcomposer/impl/src/main/kotlin/io/element/android/libraries/textcomposer/CaptionWarningBottomSheet.kt +++ b/libraries/textcomposer/impl/src/main/kotlin/io/element/android/libraries/textcomposer/CaptionWarningBottomSheet.kt @@ -71,7 +71,7 @@ fun CaptionWarningBottomSheet( @PreviewsDayNight @Composable -internal fun CaptionWarningBottomSheetPreview() = ElementPreview { +internal fun CaptionWarningBottomSheetPreview() = ElementPreview(fillMaxSize = true) { CaptionWarningBottomSheet( onDismiss = {}, )