Attachments: change icon size to 24 and container to 36
This commit is contained in:
parent
8dab306acd
commit
cb9fdc66fc
3 changed files with 20 additions and 31 deletions
|
|
@ -19,34 +19,39 @@ import androidx.compose.foundation.shape.RoundedCornerShape
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.ui.Alignment
|
import androidx.compose.ui.Alignment
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
|
import androidx.compose.ui.graphics.vector.ImageVector
|
||||||
import androidx.compose.ui.text.style.TextOverflow
|
import androidx.compose.ui.text.style.TextOverflow
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import io.element.android.compound.theme.ElementTheme
|
import io.element.android.compound.theme.ElementTheme
|
||||||
import io.element.android.features.messages.impl.timeline.components.layout.ContentAvoidingLayout
|
import io.element.android.features.messages.impl.timeline.components.layout.ContentAvoidingLayout
|
||||||
import io.element.android.features.messages.impl.timeline.components.layout.ContentAvoidingLayoutData
|
import io.element.android.features.messages.impl.timeline.components.layout.ContentAvoidingLayoutData
|
||||||
|
import io.element.android.libraries.designsystem.theme.components.Icon
|
||||||
import io.element.android.libraries.designsystem.theme.components.Text
|
import io.element.android.libraries.designsystem.theme.components.Text
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* package-private, you should only use TimelineItemFileView and TimelineItemAudioView.
|
* package-private, you should only use TimelineItemFileView and TimelineItemAudioView.
|
||||||
|
* https://www.figma.com/design/G1xy0HDZKJf5TCRFmKb5d5/Compound-Android-Components?node-id=2019-8180
|
||||||
*/
|
*/
|
||||||
@Composable
|
@Composable
|
||||||
fun TimelineItemAttachmentView(
|
fun TimelineItemAttachmentView(
|
||||||
|
icon: ImageVector,
|
||||||
|
iconContentDescription: String?,
|
||||||
filename: String,
|
filename: String,
|
||||||
fileExtensionAndSize: String,
|
fileExtensionAndSize: String,
|
||||||
caption: String?,
|
caption: String?,
|
||||||
onContentLayoutChange: (ContentAvoidingLayoutData) -> Unit,
|
onContentLayoutChange: (ContentAvoidingLayoutData) -> Unit,
|
||||||
modifier: Modifier = Modifier,
|
modifier: Modifier = Modifier,
|
||||||
icon: (@Composable () -> Unit) = {},
|
|
||||||
) {
|
) {
|
||||||
Column(
|
Column(
|
||||||
modifier = modifier,
|
modifier = modifier,
|
||||||
) {
|
) {
|
||||||
TimelineItemAttachmentHeaderView(
|
TimelineItemAttachmentHeaderView(
|
||||||
|
icon = icon,
|
||||||
|
iconContentDescription = iconContentDescription,
|
||||||
filename = filename,
|
filename = filename,
|
||||||
fileExtensionAndSize = fileExtensionAndSize,
|
fileExtensionAndSize = fileExtensionAndSize,
|
||||||
hasCaption = caption != null,
|
hasCaption = caption != null,
|
||||||
onContentLayoutChange = onContentLayoutChange,
|
onContentLayoutChange = onContentLayoutChange,
|
||||||
icon = icon,
|
|
||||||
)
|
)
|
||||||
if (caption != null) {
|
if (caption != null) {
|
||||||
TimelineItemAttachmentCaptionView(
|
TimelineItemAttachmentCaptionView(
|
||||||
|
|
@ -60,14 +65,15 @@ fun TimelineItemAttachmentView(
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
private fun TimelineItemAttachmentHeaderView(
|
private fun TimelineItemAttachmentHeaderView(
|
||||||
|
icon: ImageVector,
|
||||||
|
iconContentDescription: String?,
|
||||||
filename: String,
|
filename: String,
|
||||||
fileExtensionAndSize: String,
|
fileExtensionAndSize: String,
|
||||||
hasCaption: Boolean,
|
hasCaption: Boolean,
|
||||||
onContentLayoutChange: (ContentAvoidingLayoutData) -> Unit,
|
onContentLayoutChange: (ContentAvoidingLayoutData) -> Unit,
|
||||||
modifier: Modifier = Modifier,
|
modifier: Modifier = Modifier,
|
||||||
icon: (@Composable () -> Unit),
|
|
||||||
) {
|
) {
|
||||||
val iconSize = 32.dp
|
val iconSize = 36.dp
|
||||||
val spacing = 8.dp
|
val spacing = 8.dp
|
||||||
Row(
|
Row(
|
||||||
modifier = modifier,
|
modifier = modifier,
|
||||||
|
|
@ -80,7 +86,12 @@ private fun TimelineItemAttachmentHeaderView(
|
||||||
.background(ElementTheme.colors.bgCanvasDefault, RoundedCornerShape(4.dp)),
|
.background(ElementTheme.colors.bgCanvasDefault, RoundedCornerShape(4.dp)),
|
||||||
contentAlignment = Alignment.Center,
|
contentAlignment = Alignment.Center,
|
||||||
) {
|
) {
|
||||||
icon()
|
Icon(
|
||||||
|
imageVector = icon,
|
||||||
|
contentDescription = iconContentDescription,
|
||||||
|
tint = ElementTheme.colors.iconPrimary,
|
||||||
|
modifier = Modifier.size(24.dp),
|
||||||
|
)
|
||||||
}
|
}
|
||||||
Column {
|
Column {
|
||||||
Text(
|
Text(
|
||||||
|
|
|
||||||
|
|
@ -8,18 +8,14 @@
|
||||||
|
|
||||||
package io.element.android.features.messages.impl.timeline.components.event
|
package io.element.android.features.messages.impl.timeline.components.event
|
||||||
|
|
||||||
import androidx.compose.foundation.layout.size
|
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.tooling.preview.PreviewParameter
|
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
|
import io.element.android.compound.tokens.generated.CompoundIcons
|
||||||
import io.element.android.features.messages.impl.timeline.components.layout.ContentAvoidingLayoutData
|
import io.element.android.features.messages.impl.timeline.components.layout.ContentAvoidingLayoutData
|
||||||
import io.element.android.features.messages.impl.timeline.model.event.TimelineItemAudioContent
|
import io.element.android.features.messages.impl.timeline.model.event.TimelineItemAudioContent
|
||||||
import io.element.android.features.messages.impl.timeline.model.event.TimelineItemAudioContentProvider
|
import io.element.android.features.messages.impl.timeline.model.event.TimelineItemAudioContentProvider
|
||||||
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
|
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
|
||||||
import io.element.android.libraries.designsystem.theme.components.Icon
|
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun TimelineItemAudioView(
|
fun TimelineItemAudioView(
|
||||||
|
|
@ -28,20 +24,13 @@ fun TimelineItemAudioView(
|
||||||
modifier: Modifier = Modifier,
|
modifier: Modifier = Modifier,
|
||||||
) {
|
) {
|
||||||
TimelineItemAttachmentView(
|
TimelineItemAttachmentView(
|
||||||
|
icon = CompoundIcons.Audio(),
|
||||||
|
iconContentDescription = null,
|
||||||
filename = content.filename,
|
filename = content.filename,
|
||||||
fileExtensionAndSize = content.fileExtensionAndSize,
|
fileExtensionAndSize = content.fileExtensionAndSize,
|
||||||
caption = content.caption,
|
caption = content.caption,
|
||||||
onContentLayoutChange = onContentLayoutChange,
|
onContentLayoutChange = onContentLayoutChange,
|
||||||
modifier = modifier,
|
modifier = modifier,
|
||||||
icon = {
|
|
||||||
Icon(
|
|
||||||
imageVector = CompoundIcons.Audio(),
|
|
||||||
contentDescription = null,
|
|
||||||
tint = ElementTheme.colors.iconPrimary,
|
|
||||||
modifier = Modifier
|
|
||||||
.size(16.dp),
|
|
||||||
)
|
|
||||||
}
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -8,19 +8,15 @@
|
||||||
|
|
||||||
package io.element.android.features.messages.impl.timeline.components.event
|
package io.element.android.features.messages.impl.timeline.components.event
|
||||||
|
|
||||||
import androidx.compose.foundation.layout.size
|
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.tooling.preview.PreviewParameter
|
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
|
import io.element.android.compound.tokens.generated.CompoundIcons
|
||||||
import io.element.android.features.messages.impl.timeline.components.layout.ContentAvoidingLayoutData
|
import io.element.android.features.messages.impl.timeline.components.layout.ContentAvoidingLayoutData
|
||||||
import io.element.android.features.messages.impl.timeline.model.event.TimelineItemFileContent
|
import io.element.android.features.messages.impl.timeline.model.event.TimelineItemFileContent
|
||||||
import io.element.android.features.messages.impl.timeline.model.event.TimelineItemFileContentProvider
|
import io.element.android.features.messages.impl.timeline.model.event.TimelineItemFileContentProvider
|
||||||
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
|
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
|
||||||
import io.element.android.libraries.designsystem.theme.components.Icon
|
|
||||||
import io.element.android.libraries.ui.strings.CommonStrings
|
import io.element.android.libraries.ui.strings.CommonStrings
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -33,20 +29,13 @@ fun TimelineItemFileView(
|
||||||
modifier: Modifier = Modifier,
|
modifier: Modifier = Modifier,
|
||||||
) {
|
) {
|
||||||
TimelineItemAttachmentView(
|
TimelineItemAttachmentView(
|
||||||
|
icon = CompoundIcons.Attachment(),
|
||||||
|
iconContentDescription = stringResource(CommonStrings.common_file),
|
||||||
filename = content.filename,
|
filename = content.filename,
|
||||||
fileExtensionAndSize = content.fileExtensionAndSize,
|
fileExtensionAndSize = content.fileExtensionAndSize,
|
||||||
caption = content.caption,
|
caption = content.caption,
|
||||||
onContentLayoutChange = onContentLayoutChange,
|
onContentLayoutChange = onContentLayoutChange,
|
||||||
modifier = modifier,
|
modifier = modifier,
|
||||||
icon = {
|
|
||||||
Icon(
|
|
||||||
imageVector = CompoundIcons.Attachment(),
|
|
||||||
contentDescription = stringResource(CommonStrings.common_file),
|
|
||||||
tint = ElementTheme.colors.iconPrimary,
|
|
||||||
modifier = Modifier
|
|
||||||
.size(16.dp),
|
|
||||||
)
|
|
||||||
}
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue