diff --git a/apps/android/app/src/main/java/chat/simplex/app/views/helpers/ChooseAttachmentView.kt b/apps/android/app/src/main/java/chat/simplex/app/views/helpers/ChooseAttachmentView.kt index 41237633b..9c4e6ad5d 100644 --- a/apps/android/app/src/main/java/chat/simplex/app/views/helpers/ChooseAttachmentView.kt +++ b/apps/android/app/src/main/java/chat/simplex/app/views/helpers/ChooseAttachmentView.kt @@ -1,12 +1,16 @@ package chat.simplex.app.views.helpers import androidx.compose.foundation.layout.* +import androidx.compose.material.MaterialTheme import androidx.compose.material.icons.Icons import androidx.compose.material.icons.outlined.* import androidx.compose.runtime.Composable import androidx.compose.runtime.MutableState +import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.focus.onFocusChanged +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import chat.simplex.app.R @@ -38,19 +42,19 @@ fun ChooseAttachmentView( .padding(horizontal = 8.dp, vertical = 30.dp), horizontalArrangement = Arrangement.SpaceEvenly ) { - ActionButton(null, stringResource(R.string.use_camera_button), icon = Icons.Outlined.PhotoCamera) { + ActionButton(Modifier.fillMaxWidth(0.25f), null, stringResource(R.string.use_camera_button), icon = painterResource(R.drawable.ic_camera_enhance)) { attachmentOption.value = AttachmentOption.CameraPhoto hide() } - ActionButton(null, stringResource(R.string.gallery_image_button), icon = Icons.Outlined.Image) { + ActionButton(Modifier.fillMaxWidth(0.33f), null, stringResource(R.string.gallery_image_button), icon = painterResource(R.drawable.ic_add_photo)) { attachmentOption.value = AttachmentOption.GalleryImage hide() } - ActionButton(null, stringResource(R.string.gallery_video_button), icon = Icons.Outlined.SmartDisplay) { + ActionButton(Modifier.fillMaxWidth(0.50f), null, stringResource(R.string.gallery_video_button), icon = painterResource(R.drawable.ic_smart_display)) { attachmentOption.value = AttachmentOption.GalleryVideo hide() } - ActionButton(null, stringResource(R.string.choose_file), icon = Icons.Outlined.InsertDriveFile) { + ActionButton(Modifier.fillMaxWidth(1f), null, stringResource(R.string.choose_file), icon = painterResource(R.drawable.ic_note_add)) { attachmentOption.value = AttachmentOption.File hide() } diff --git a/apps/android/app/src/main/java/chat/simplex/app/views/newchat/NewChatSheet.kt b/apps/android/app/src/main/java/chat/simplex/app/views/newchat/NewChatSheet.kt index 02ebdf6b8..e0e6469e6 100644 --- a/apps/android/app/src/main/java/chat/simplex/app/views/newchat/NewChatSheet.kt +++ b/apps/android/app/src/main/java/chat/simplex/app/views/newchat/NewChatSheet.kt @@ -18,6 +18,7 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.draw.drawBehind import androidx.compose.ui.graphics.* +import androidx.compose.ui.graphics.painter.Painter import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.platform.* import androidx.compose.ui.res.stringResource @@ -211,6 +212,52 @@ fun ActionButton( } } +@Composable +fun ActionButton( + modifier: Modifier, + text: String?, + comment: String?, + icon: Painter, + tint: Color = MaterialTheme.colors.primary, + disabled: Boolean = false, + click: () -> Unit = {} +) { + Surface(modifier, shape = RoundedCornerShape(18.dp)) { + Column( + Modifier + .fillMaxWidth() + .clickable(onClick = click) + .padding(8.dp), + horizontalAlignment = Alignment.CenterHorizontally + ) { + val tint = if (disabled) HighOrLowlight else tint + Icon( + icon, text, + tint = tint, + modifier = Modifier + .size(40.dp) + .padding(bottom = 8.dp) + ) + if (text != null) { + Text( + text, + textAlign = TextAlign.Center, + fontWeight = FontWeight.Bold, + color = tint, + modifier = Modifier.padding(bottom = 4.dp) + ) + } + if (comment != null) { + Text( + comment, + textAlign = TextAlign.Center, + style = MaterialTheme.typography.body2 + ) + } + } + } +} + @Preview @Composable private fun PreviewNewChatSheet() { diff --git a/apps/android/app/src/main/res/drawable/ic_add_photo.xml b/apps/android/app/src/main/res/drawable/ic_add_photo.xml new file mode 100644 index 000000000..2a81fda0a --- /dev/null +++ b/apps/android/app/src/main/res/drawable/ic_add_photo.xml @@ -0,0 +1,9 @@ + + + diff --git a/apps/android/app/src/main/res/drawable/ic_camera_enhance.xml b/apps/android/app/src/main/res/drawable/ic_camera_enhance.xml new file mode 100644 index 000000000..d3812657c --- /dev/null +++ b/apps/android/app/src/main/res/drawable/ic_camera_enhance.xml @@ -0,0 +1,9 @@ + + + diff --git a/apps/android/app/src/main/res/drawable/ic_draft.xml b/apps/android/app/src/main/res/drawable/ic_draft.xml new file mode 100644 index 000000000..f0a09b5e6 --- /dev/null +++ b/apps/android/app/src/main/res/drawable/ic_draft.xml @@ -0,0 +1,9 @@ + + + diff --git a/apps/android/app/src/main/res/drawable/ic_note_add.xml b/apps/android/app/src/main/res/drawable/ic_note_add.xml new file mode 100644 index 000000000..9cc342453 --- /dev/null +++ b/apps/android/app/src/main/res/drawable/ic_note_add.xml @@ -0,0 +1,9 @@ + + + diff --git a/apps/android/app/src/main/res/drawable/ic_smart_display.xml b/apps/android/app/src/main/res/drawable/ic_smart_display.xml new file mode 100644 index 000000000..6453cd6ea --- /dev/null +++ b/apps/android/app/src/main/res/drawable/ic_smart_display.xml @@ -0,0 +1,9 @@ + + + diff --git a/apps/android/app/src/main/res/values-ru/strings.xml b/apps/android/app/src/main/res/values-ru/strings.xml index 8aaf9fd77..f674b75e7 100644 --- a/apps/android/app/src/main/res/values-ru/strings.xml +++ b/apps/android/app/src/main/res/values-ru/strings.xml @@ -258,7 +258,7 @@ Разрешение не получено! Камера Галерея - Изображение + Фото Видео Файл