Add more preview for MediaDetailsBottomSheetPreview

This commit is contained in:
Benoit Marty 2026-04-22 12:21:20 +02:00
parent 769341e4f2
commit c1678f22e6
3 changed files with 48 additions and 17 deletions

View file

@ -25,6 +25,7 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clipToBounds
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.tooling.preview.PreviewParameter
import androidx.compose.ui.unit.dp
import io.element.android.compound.theme.ElementTheme
import io.element.android.compound.tokens.generated.CompoundIcons
@ -248,9 +249,11 @@ private fun SectionText(
@PreviewsDayNight
@Composable
internal fun MediaDetailsBottomSheetPreview() = ElementPreview {
internal fun MediaDetailsBottomSheetPreview(
@PreviewParameter(MediaDetailsBottomSheetStateProvider::class) state: MediaBottomSheetState.MediaDetailsBottomSheetState,
) = ElementPreview {
MediaDetailsBottomSheet(
state = aMediaDetailsBottomSheetState(),
state = state,
onViewInTimeline = {},
onShare = {},
onForward = {},

View file

@ -0,0 +1,43 @@
/*
* Copyright (c) 2026 Element Creations Ltd.
*
* SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial.
* Please see LICENSE files in the repository root for full details.
*/
package io.element.android.libraries.mediaviewer.impl.details
import androidx.compose.ui.tooling.preview.PreviewParameterProvider
import io.element.android.libraries.matrix.api.core.EventId
import io.element.android.libraries.mediaviewer.api.MediaInfo
import io.element.android.libraries.mediaviewer.api.anApkMediaInfo
import io.element.android.libraries.mediaviewer.api.anImageMediaInfo
open class MediaDetailsBottomSheetStateProvider : PreviewParameterProvider<MediaBottomSheetState.MediaDetailsBottomSheetState> {
override val values: Sequence<MediaBottomSheetState.MediaDetailsBottomSheetState>
get() = sequenceOf(
aMediaDetailsBottomSheetState(),
aMediaDetailsBottomSheetState(
canDelete = false,
),
aMediaDetailsBottomSheetState(
mediaInfo = anApkMediaInfo(),
),
)
}
fun aMediaDetailsBottomSheetState(
dateSentFull: String = "December 6, 2024 at 12:59",
canDelete: Boolean = true,
mediaInfo: MediaInfo = anImageMediaInfo(
senderName = "Alice",
dateSentFull = dateSentFull,
),
): MediaBottomSheetState.MediaDetailsBottomSheetState {
return MediaBottomSheetState.MediaDetailsBottomSheetState(
eventId = EventId("\$eventId"),
canDelete = canDelete,
mediaInfo = mediaInfo,
thumbnailSource = null,
)
}

View file

@ -11,21 +11,6 @@ package io.element.android.libraries.mediaviewer.impl.details
import io.element.android.libraries.matrix.api.core.EventId
import io.element.android.libraries.mediaviewer.api.anImageMediaInfo
fun aMediaDetailsBottomSheetState(
dateSentFull: String = "December 6, 2024 at 12:59",
canDelete: Boolean = true,
): MediaBottomSheetState.MediaDetailsBottomSheetState {
return MediaBottomSheetState.MediaDetailsBottomSheetState(
eventId = EventId("\$eventId"),
canDelete = canDelete,
mediaInfo = anImageMediaInfo(
senderName = "Alice",
dateSentFull = dateSentFull,
),
thumbnailSource = null,
)
}
fun aMediaDeleteConfirmationState(): MediaBottomSheetState.MediaDeleteConfirmationState {
return MediaBottomSheetState.MediaDeleteConfirmationState(
eventId = EventId("\$eventId"),