Loading app-ui-catalog/src/main/kotlin/net/thunderbird/ui/catalog/ui/page/organism/items/message/CatalogMessageItems.kt +94 −18 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier Loading @@ -29,11 +30,16 @@ import app.k9mail.core.ui.compose.designsystem.atom.text.TextTitleMedium import app.k9mail.core.ui.compose.designsystem.atom.text.TextTitleSmall import app.k9mail.core.ui.compose.designsystem.atom.textfield.TextFieldOutlined import app.k9mail.core.ui.compose.designsystem.molecule.input.CheckboxInput import app.k9mail.core.ui.compose.designsystem.organism.snackbar.SnackbarHost import app.k9mail.core.ui.compose.designsystem.organism.snackbar.SnackbarHostState import app.k9mail.core.ui.compose.designsystem.organism.snackbar.rememberSnackbarHostState import app.k9mail.core.ui.compose.theme2.MainTheme import kotlin.math.roundToInt import kotlin.random.Random import kotlin.time.Clock import kotlin.time.ExperimentalTime import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.launch import kotlinx.datetime.TimeZone import kotlinx.datetime.toLocalDateTime import net.thunderbird.core.ui.compose.designsystem.organism.message.ActiveMessageItem Loading Loading @@ -141,21 +147,27 @@ private fun MessageItemConfiguration( label = "Sender", onValueChange = onSenderChange, isSingleLine = true, modifier = Modifier.fillMaxWidth().padding(horizontal = MainTheme.spacings.double), modifier = Modifier .fillMaxWidth() .padding(horizontal = MainTheme.spacings.double), ) TextFieldOutlined( value = config.subject, label = "Subject", onValueChange = onSubjectChange, isSingleLine = true, modifier = Modifier.fillMaxWidth().padding(horizontal = MainTheme.spacings.double), modifier = Modifier .fillMaxWidth() .padding(horizontal = MainTheme.spacings.double), ) TextFieldOutlined( value = config.preview, label = "Preview", onValueChange = onPreviewChange, isSingleLine = false, modifier = Modifier.fillMaxWidth().padding(horizontal = MainTheme.spacings.double), modifier = Modifier .fillMaxWidth() .padding(horizontal = MainTheme.spacings.double), ) Column(modifier = Modifier.padding(horizontal = MainTheme.spacings.double)) { TextLabelSmall(text = "Preview lines: ${config.maxPreviewLines}") Loading @@ -181,12 +193,17 @@ private fun CatalogMessageItems(config: MessageItemConfiguration, modifier: Modi } @Composable private fun ColumnScope.CatalogNewMessageItem(config: MessageItemConfiguration) { private fun ColumnScope.CatalogNewMessageItem( config: MessageItemConfiguration, ) { if (!config.hideSection) { Section(text = "New Message", modifier = Modifier.padding(vertical = MainTheme.spacings.double)) } var selected by remember { mutableStateOf(false) } var favourite by remember { mutableStateOf(false) } val snackbarHostState = rememberSnackbarHostState() val coroutineScope = rememberCoroutineScope() NewMessageItem( sender = config.sender, subject = config.subject, Loading @@ -204,8 +221,13 @@ private fun ColumnScope.CatalogNewMessageItem(config: MessageItemConfiguration) } }, onClick = { if (selected) { selected = false coroutineScope.launch { snackbarHostState.showSnackbar("Clicked!") } }, onLongClick = { coroutineScope.launch { snackbarHostState.showSnackbar("Long clicked!") } }, onFavouriteChange = { favourite = it }, Loading @@ -217,15 +239,23 @@ private fun ColumnScope.CatalogNewMessageItem(config: MessageItemConfiguration) }, maxPreviewLines = config.maxPreviewLines, ) SnackbarHost(snackbarHostState) } @Composable private fun ColumnScope.CatalogUnreadMessageItem(config: MessageItemConfiguration) { private fun ColumnScope.CatalogUnreadMessageItem( config: MessageItemConfiguration, ) { if (!config.hideSection) { Section(text = "Unread Message", modifier = Modifier.padding(vertical = MainTheme.spacings.double)) } var selected by remember { mutableStateOf(false) } var favourite by remember { mutableStateOf(false) } val snackbarHostState = rememberSnackbarHostState() val coroutineScope = rememberCoroutineScope() UnreadMessageItem( sender = config.sender, subject = config.subject, Loading @@ -243,8 +273,13 @@ private fun ColumnScope.CatalogUnreadMessageItem(config: MessageItemConfiguratio } }, onClick = { if (selected) { selected = false coroutineScope.launch { snackbarHostState.showSnackbar("Clicked!") } }, onLongClick = { coroutineScope.launch { snackbarHostState.showSnackbar("Long clicked!") } }, onFavouriteChange = { favourite = it }, Loading @@ -256,15 +291,23 @@ private fun ColumnScope.CatalogUnreadMessageItem(config: MessageItemConfiguratio }, maxPreviewLines = config.maxPreviewLines, ) SnackbarHost(snackbarHostState) } @Composable private fun ColumnScope.CatalogReadMessageItem(config: MessageItemConfiguration) { private fun ColumnScope.CatalogReadMessageItem( config: MessageItemConfiguration, ) { if (!config.hideSection) { Section(text = "Read Message", modifier = Modifier.padding(vertical = MainTheme.spacings.double)) } var selected by remember { mutableStateOf(false) } var favourite by remember { mutableStateOf(false) } val snackbarHostState = rememberSnackbarHostState() val coroutineScope = rememberCoroutineScope() ReadMessageItem( sender = config.sender, subject = config.subject, Loading @@ -282,8 +325,13 @@ private fun ColumnScope.CatalogReadMessageItem(config: MessageItemConfiguration) } }, onClick = { if (selected) { selected = false coroutineScope.launch { snackbarHostState.showSnackbar("Clicked!") } }, onLongClick = { coroutineScope.launch { snackbarHostState.showSnackbar("Long clicked!") } }, onFavouriteChange = { favourite = it }, Loading @@ -295,15 +343,23 @@ private fun ColumnScope.CatalogReadMessageItem(config: MessageItemConfiguration) }, maxPreviewLines = config.maxPreviewLines, ) SnackbarHost(snackbarHostState) } @Composable private fun ColumnScope.CatalogActiveMessageItem(config: MessageItemConfiguration) { private fun ColumnScope.CatalogActiveMessageItem( config: MessageItemConfiguration, ) { if (!config.hideSection) { Section(text = "Active Message", modifier = Modifier.padding(vertical = MainTheme.spacings.double)) } var selected by remember { mutableStateOf(false) } var favourite by remember { mutableStateOf(false) } val snackbarHostState = rememberSnackbarHostState() val coroutineScope = rememberCoroutineScope() ActiveMessageItem( sender = config.sender, subject = config.subject, Loading @@ -321,8 +377,13 @@ private fun ColumnScope.CatalogActiveMessageItem(config: MessageItemConfiguratio } }, onClick = { if (selected) { selected = false coroutineScope.launch { snackbarHostState.showSnackbar("Clicked!") } }, onLongClick = { coroutineScope.launch { snackbarHostState.showSnackbar("Long clicked!") } }, onFavouriteChange = { favourite = it }, Loading @@ -334,14 +395,22 @@ private fun ColumnScope.CatalogActiveMessageItem(config: MessageItemConfiguratio }, maxPreviewLines = config.maxPreviewLines, ) SnackbarHost(snackbarHostState) } @Composable private fun ColumnScope.CatalogJunkMessageItem(config: MessageItemConfiguration) { private fun ColumnScope.CatalogJunkMessageItem( config: MessageItemConfiguration, ) { if (!config.hideSection) { Section(text = "Junk Message", modifier = Modifier.padding(vertical = MainTheme.spacings.double)) } var selected by remember { mutableStateOf(false) } val snackbarHostState = rememberSnackbarHostState() val coroutineScope = rememberCoroutineScope() JunkMessageItem( sender = config.sender, subject = config.subject, Loading @@ -358,8 +427,13 @@ private fun ColumnScope.CatalogJunkMessageItem(config: MessageItemConfiguration) } }, onClick = { if (selected) { selected = false coroutineScope.launch { snackbarHostState.showSnackbar("Clicked!") } }, onLongClick = { coroutineScope.launch { snackbarHostState.showSnackbar("Long clicked!") } }, modifier = Modifier.fillMaxWidth(), Loading @@ -370,6 +444,8 @@ private fun ColumnScope.CatalogJunkMessageItem(config: MessageItemConfiguration) }, maxPreviewLines = config.maxPreviewLines, ) SnackbarHost(snackbarHostState) } @Composable Loading core/ui/compose/designsystem/src/debug/kotlin/net/thunderbird/core/ui/compose/designsystem/organism/message/ActiveMessageItemPreview.kt +5 −2 Original line number Diff line number Diff line Loading @@ -132,6 +132,7 @@ private fun PreviewDefault( } }, onClick = { }, onLongClick = { }, onFavouriteChange = { }, modifier = Modifier.padding(MainTheme.spacings.double), hasAttachments = params.hasAttachments, Loading @@ -156,6 +157,7 @@ private fun PreviewCompact( receivedAt = @OptIn(ExperimentalTime::class) Clock.System.now().toLocalDateTime(TimeZone.UTC), avatar = { }, onClick = { }, onLongClick = { }, onFavouriteChange = { }, modifier = Modifier.padding(MainTheme.spacings.double), hasAttachments = params.hasAttachments, Loading @@ -181,6 +183,7 @@ private fun PreviewRelaxed( receivedAt = @OptIn(ExperimentalTime::class) Clock.System.now().toLocalDateTime(TimeZone.UTC), avatar = { }, onClick = { }, onLongClick = { }, onFavouriteChange = {}, modifier = Modifier.padding(MainTheme.spacings.double), hasAttachments = params.hasAttachments, Loading core/ui/compose/designsystem/src/debug/kotlin/net/thunderbird/core/ui/compose/designsystem/organism/message/JunkMessageItemPreview.kt +3 −0 Original line number Diff line number Diff line Loading @@ -127,6 +127,7 @@ private fun PreviewDefault( } }, onClick = { }, onLongClick = { }, modifier = Modifier.padding(MainTheme.spacings.double), hasAttachments = params.hasAttachments, selected = params.selected, Loading @@ -149,6 +150,7 @@ private fun PreviewCompact( receivedAt = @OptIn(ExperimentalTime::class) Clock.System.now().toLocalDateTime(TimeZone.UTC), avatar = { }, onClick = { }, onLongClick = { }, modifier = Modifier.padding(MainTheme.spacings.double), hasAttachments = params.hasAttachments, selected = params.selected, Loading @@ -172,6 +174,7 @@ private fun PreviewRelaxed( receivedAt = @OptIn(ExperimentalTime::class) Clock.System.now().toLocalDateTime(TimeZone.UTC), avatar = { }, onClick = { }, onLongClick = { }, modifier = Modifier.padding(MainTheme.spacings.double), hasAttachments = params.hasAttachments, selected = params.selected, Loading core/ui/compose/designsystem/src/debug/kotlin/net/thunderbird/core/ui/compose/designsystem/organism/message/MessageItemPreview.kt +3 −0 Original line number Diff line number Diff line Loading @@ -113,6 +113,7 @@ private fun PreviewDefault( }, receivedAt = params.receivedAt, onClick = { }, onLongClick = { }, modifier = Modifier.padding(MainTheme.spacings.double), hasAttachments = params.hasAttachments, selected = params.selected, Loading Loading @@ -149,6 +150,7 @@ private fun PreviewCompact( }, receivedAt = params.receivedAt, onClick = { }, onLongClick = { }, modifier = Modifier.padding(MainTheme.spacings.double), hasAttachments = params.hasAttachments, selected = params.selected, Loading Loading @@ -186,6 +188,7 @@ private fun PreviewRelaxed( }, receivedAt = params.receivedAt, onClick = { }, onLongClick = { }, modifier = Modifier.padding(MainTheme.spacings.double), hasAttachments = params.hasAttachments, selected = params.selected, Loading core/ui/compose/designsystem/src/debug/kotlin/net/thunderbird/core/ui/compose/designsystem/organism/message/NewMessageItemPreview.kt +6 −3 Original line number Diff line number Diff line Loading @@ -132,6 +132,7 @@ private fun PreviewDefault( } }, onClick = { }, onLongClick = { }, onFavouriteChange = { }, modifier = Modifier.padding(MainTheme.spacings.double), hasAttachments = params.hasAttachments, Loading @@ -156,6 +157,7 @@ private fun PreviewCompact( receivedAt = @OptIn(ExperimentalTime::class) Clock.System.now().toLocalDateTime(TimeZone.UTC), avatar = { }, onClick = { }, onLongClick = { }, onFavouriteChange = { }, modifier = Modifier.padding(MainTheme.spacings.double), hasAttachments = params.hasAttachments, Loading @@ -181,6 +183,7 @@ private fun PreviewRelaxed( receivedAt = @OptIn(ExperimentalTime::class) Clock.System.now().toLocalDateTime(TimeZone.UTC), avatar = { }, onClick = { }, onLongClick = { }, onFavouriteChange = { }, modifier = Modifier.padding(MainTheme.spacings.double), hasAttachments = params.hasAttachments, Loading Loading
app-ui-catalog/src/main/kotlin/net/thunderbird/ui/catalog/ui/page/organism/items/message/CatalogMessageItems.kt +94 −18 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier Loading @@ -29,11 +30,16 @@ import app.k9mail.core.ui.compose.designsystem.atom.text.TextTitleMedium import app.k9mail.core.ui.compose.designsystem.atom.text.TextTitleSmall import app.k9mail.core.ui.compose.designsystem.atom.textfield.TextFieldOutlined import app.k9mail.core.ui.compose.designsystem.molecule.input.CheckboxInput import app.k9mail.core.ui.compose.designsystem.organism.snackbar.SnackbarHost import app.k9mail.core.ui.compose.designsystem.organism.snackbar.SnackbarHostState import app.k9mail.core.ui.compose.designsystem.organism.snackbar.rememberSnackbarHostState import app.k9mail.core.ui.compose.theme2.MainTheme import kotlin.math.roundToInt import kotlin.random.Random import kotlin.time.Clock import kotlin.time.ExperimentalTime import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.launch import kotlinx.datetime.TimeZone import kotlinx.datetime.toLocalDateTime import net.thunderbird.core.ui.compose.designsystem.organism.message.ActiveMessageItem Loading Loading @@ -141,21 +147,27 @@ private fun MessageItemConfiguration( label = "Sender", onValueChange = onSenderChange, isSingleLine = true, modifier = Modifier.fillMaxWidth().padding(horizontal = MainTheme.spacings.double), modifier = Modifier .fillMaxWidth() .padding(horizontal = MainTheme.spacings.double), ) TextFieldOutlined( value = config.subject, label = "Subject", onValueChange = onSubjectChange, isSingleLine = true, modifier = Modifier.fillMaxWidth().padding(horizontal = MainTheme.spacings.double), modifier = Modifier .fillMaxWidth() .padding(horizontal = MainTheme.spacings.double), ) TextFieldOutlined( value = config.preview, label = "Preview", onValueChange = onPreviewChange, isSingleLine = false, modifier = Modifier.fillMaxWidth().padding(horizontal = MainTheme.spacings.double), modifier = Modifier .fillMaxWidth() .padding(horizontal = MainTheme.spacings.double), ) Column(modifier = Modifier.padding(horizontal = MainTheme.spacings.double)) { TextLabelSmall(text = "Preview lines: ${config.maxPreviewLines}") Loading @@ -181,12 +193,17 @@ private fun CatalogMessageItems(config: MessageItemConfiguration, modifier: Modi } @Composable private fun ColumnScope.CatalogNewMessageItem(config: MessageItemConfiguration) { private fun ColumnScope.CatalogNewMessageItem( config: MessageItemConfiguration, ) { if (!config.hideSection) { Section(text = "New Message", modifier = Modifier.padding(vertical = MainTheme.spacings.double)) } var selected by remember { mutableStateOf(false) } var favourite by remember { mutableStateOf(false) } val snackbarHostState = rememberSnackbarHostState() val coroutineScope = rememberCoroutineScope() NewMessageItem( sender = config.sender, subject = config.subject, Loading @@ -204,8 +221,13 @@ private fun ColumnScope.CatalogNewMessageItem(config: MessageItemConfiguration) } }, onClick = { if (selected) { selected = false coroutineScope.launch { snackbarHostState.showSnackbar("Clicked!") } }, onLongClick = { coroutineScope.launch { snackbarHostState.showSnackbar("Long clicked!") } }, onFavouriteChange = { favourite = it }, Loading @@ -217,15 +239,23 @@ private fun ColumnScope.CatalogNewMessageItem(config: MessageItemConfiguration) }, maxPreviewLines = config.maxPreviewLines, ) SnackbarHost(snackbarHostState) } @Composable private fun ColumnScope.CatalogUnreadMessageItem(config: MessageItemConfiguration) { private fun ColumnScope.CatalogUnreadMessageItem( config: MessageItemConfiguration, ) { if (!config.hideSection) { Section(text = "Unread Message", modifier = Modifier.padding(vertical = MainTheme.spacings.double)) } var selected by remember { mutableStateOf(false) } var favourite by remember { mutableStateOf(false) } val snackbarHostState = rememberSnackbarHostState() val coroutineScope = rememberCoroutineScope() UnreadMessageItem( sender = config.sender, subject = config.subject, Loading @@ -243,8 +273,13 @@ private fun ColumnScope.CatalogUnreadMessageItem(config: MessageItemConfiguratio } }, onClick = { if (selected) { selected = false coroutineScope.launch { snackbarHostState.showSnackbar("Clicked!") } }, onLongClick = { coroutineScope.launch { snackbarHostState.showSnackbar("Long clicked!") } }, onFavouriteChange = { favourite = it }, Loading @@ -256,15 +291,23 @@ private fun ColumnScope.CatalogUnreadMessageItem(config: MessageItemConfiguratio }, maxPreviewLines = config.maxPreviewLines, ) SnackbarHost(snackbarHostState) } @Composable private fun ColumnScope.CatalogReadMessageItem(config: MessageItemConfiguration) { private fun ColumnScope.CatalogReadMessageItem( config: MessageItemConfiguration, ) { if (!config.hideSection) { Section(text = "Read Message", modifier = Modifier.padding(vertical = MainTheme.spacings.double)) } var selected by remember { mutableStateOf(false) } var favourite by remember { mutableStateOf(false) } val snackbarHostState = rememberSnackbarHostState() val coroutineScope = rememberCoroutineScope() ReadMessageItem( sender = config.sender, subject = config.subject, Loading @@ -282,8 +325,13 @@ private fun ColumnScope.CatalogReadMessageItem(config: MessageItemConfiguration) } }, onClick = { if (selected) { selected = false coroutineScope.launch { snackbarHostState.showSnackbar("Clicked!") } }, onLongClick = { coroutineScope.launch { snackbarHostState.showSnackbar("Long clicked!") } }, onFavouriteChange = { favourite = it }, Loading @@ -295,15 +343,23 @@ private fun ColumnScope.CatalogReadMessageItem(config: MessageItemConfiguration) }, maxPreviewLines = config.maxPreviewLines, ) SnackbarHost(snackbarHostState) } @Composable private fun ColumnScope.CatalogActiveMessageItem(config: MessageItemConfiguration) { private fun ColumnScope.CatalogActiveMessageItem( config: MessageItemConfiguration, ) { if (!config.hideSection) { Section(text = "Active Message", modifier = Modifier.padding(vertical = MainTheme.spacings.double)) } var selected by remember { mutableStateOf(false) } var favourite by remember { mutableStateOf(false) } val snackbarHostState = rememberSnackbarHostState() val coroutineScope = rememberCoroutineScope() ActiveMessageItem( sender = config.sender, subject = config.subject, Loading @@ -321,8 +377,13 @@ private fun ColumnScope.CatalogActiveMessageItem(config: MessageItemConfiguratio } }, onClick = { if (selected) { selected = false coroutineScope.launch { snackbarHostState.showSnackbar("Clicked!") } }, onLongClick = { coroutineScope.launch { snackbarHostState.showSnackbar("Long clicked!") } }, onFavouriteChange = { favourite = it }, Loading @@ -334,14 +395,22 @@ private fun ColumnScope.CatalogActiveMessageItem(config: MessageItemConfiguratio }, maxPreviewLines = config.maxPreviewLines, ) SnackbarHost(snackbarHostState) } @Composable private fun ColumnScope.CatalogJunkMessageItem(config: MessageItemConfiguration) { private fun ColumnScope.CatalogJunkMessageItem( config: MessageItemConfiguration, ) { if (!config.hideSection) { Section(text = "Junk Message", modifier = Modifier.padding(vertical = MainTheme.spacings.double)) } var selected by remember { mutableStateOf(false) } val snackbarHostState = rememberSnackbarHostState() val coroutineScope = rememberCoroutineScope() JunkMessageItem( sender = config.sender, subject = config.subject, Loading @@ -358,8 +427,13 @@ private fun ColumnScope.CatalogJunkMessageItem(config: MessageItemConfiguration) } }, onClick = { if (selected) { selected = false coroutineScope.launch { snackbarHostState.showSnackbar("Clicked!") } }, onLongClick = { coroutineScope.launch { snackbarHostState.showSnackbar("Long clicked!") } }, modifier = Modifier.fillMaxWidth(), Loading @@ -370,6 +444,8 @@ private fun ColumnScope.CatalogJunkMessageItem(config: MessageItemConfiguration) }, maxPreviewLines = config.maxPreviewLines, ) SnackbarHost(snackbarHostState) } @Composable Loading
core/ui/compose/designsystem/src/debug/kotlin/net/thunderbird/core/ui/compose/designsystem/organism/message/ActiveMessageItemPreview.kt +5 −2 Original line number Diff line number Diff line Loading @@ -132,6 +132,7 @@ private fun PreviewDefault( } }, onClick = { }, onLongClick = { }, onFavouriteChange = { }, modifier = Modifier.padding(MainTheme.spacings.double), hasAttachments = params.hasAttachments, Loading @@ -156,6 +157,7 @@ private fun PreviewCompact( receivedAt = @OptIn(ExperimentalTime::class) Clock.System.now().toLocalDateTime(TimeZone.UTC), avatar = { }, onClick = { }, onLongClick = { }, onFavouriteChange = { }, modifier = Modifier.padding(MainTheme.spacings.double), hasAttachments = params.hasAttachments, Loading @@ -181,6 +183,7 @@ private fun PreviewRelaxed( receivedAt = @OptIn(ExperimentalTime::class) Clock.System.now().toLocalDateTime(TimeZone.UTC), avatar = { }, onClick = { }, onLongClick = { }, onFavouriteChange = {}, modifier = Modifier.padding(MainTheme.spacings.double), hasAttachments = params.hasAttachments, Loading
core/ui/compose/designsystem/src/debug/kotlin/net/thunderbird/core/ui/compose/designsystem/organism/message/JunkMessageItemPreview.kt +3 −0 Original line number Diff line number Diff line Loading @@ -127,6 +127,7 @@ private fun PreviewDefault( } }, onClick = { }, onLongClick = { }, modifier = Modifier.padding(MainTheme.spacings.double), hasAttachments = params.hasAttachments, selected = params.selected, Loading @@ -149,6 +150,7 @@ private fun PreviewCompact( receivedAt = @OptIn(ExperimentalTime::class) Clock.System.now().toLocalDateTime(TimeZone.UTC), avatar = { }, onClick = { }, onLongClick = { }, modifier = Modifier.padding(MainTheme.spacings.double), hasAttachments = params.hasAttachments, selected = params.selected, Loading @@ -172,6 +174,7 @@ private fun PreviewRelaxed( receivedAt = @OptIn(ExperimentalTime::class) Clock.System.now().toLocalDateTime(TimeZone.UTC), avatar = { }, onClick = { }, onLongClick = { }, modifier = Modifier.padding(MainTheme.spacings.double), hasAttachments = params.hasAttachments, selected = params.selected, Loading
core/ui/compose/designsystem/src/debug/kotlin/net/thunderbird/core/ui/compose/designsystem/organism/message/MessageItemPreview.kt +3 −0 Original line number Diff line number Diff line Loading @@ -113,6 +113,7 @@ private fun PreviewDefault( }, receivedAt = params.receivedAt, onClick = { }, onLongClick = { }, modifier = Modifier.padding(MainTheme.spacings.double), hasAttachments = params.hasAttachments, selected = params.selected, Loading Loading @@ -149,6 +150,7 @@ private fun PreviewCompact( }, receivedAt = params.receivedAt, onClick = { }, onLongClick = { }, modifier = Modifier.padding(MainTheme.spacings.double), hasAttachments = params.hasAttachments, selected = params.selected, Loading Loading @@ -186,6 +188,7 @@ private fun PreviewRelaxed( }, receivedAt = params.receivedAt, onClick = { }, onLongClick = { }, modifier = Modifier.padding(MainTheme.spacings.double), hasAttachments = params.hasAttachments, selected = params.selected, Loading
core/ui/compose/designsystem/src/debug/kotlin/net/thunderbird/core/ui/compose/designsystem/organism/message/NewMessageItemPreview.kt +6 −3 Original line number Diff line number Diff line Loading @@ -132,6 +132,7 @@ private fun PreviewDefault( } }, onClick = { }, onLongClick = { }, onFavouriteChange = { }, modifier = Modifier.padding(MainTheme.spacings.double), hasAttachments = params.hasAttachments, Loading @@ -156,6 +157,7 @@ private fun PreviewCompact( receivedAt = @OptIn(ExperimentalTime::class) Clock.System.now().toLocalDateTime(TimeZone.UTC), avatar = { }, onClick = { }, onLongClick = { }, onFavouriteChange = { }, modifier = Modifier.padding(MainTheme.spacings.double), hasAttachments = params.hasAttachments, Loading @@ -181,6 +183,7 @@ private fun PreviewRelaxed( receivedAt = @OptIn(ExperimentalTime::class) Clock.System.now().toLocalDateTime(TimeZone.UTC), avatar = { }, onClick = { }, onLongClick = { }, onFavouriteChange = { }, modifier = Modifier.padding(MainTheme.spacings.double), hasAttachments = params.hasAttachments, Loading