update and refresh icons to Material Symbols;

update MaterialDialog style
This commit is contained in:
2026-01-24 21:36:41 +03:00
parent 8c13d9e7e1
commit 1638d70ef2
167 changed files with 894 additions and 949 deletions
@@ -146,7 +146,7 @@ fun CaptchaScreen(
},
icon = {
Icon(
painter = painterResource(R.drawable.round_close_24px),
painter = painterResource(R.drawable.ic_close_round_24),
contentDescription = "Close icon",
tint = MaterialTheme.colorScheme.onPrimaryContainer,
)
@@ -186,7 +186,7 @@ fun CaptchaScreen(
if (LocalView.current.isInEditMode) {
Image(
painter = painterResource(id = R.drawable.test_captcha),
painter = painterResource(id = R.drawable.img_test_captcha),
contentDescription = "Captcha image",
modifier = imageModifier
)
@@ -218,7 +218,7 @@ fun CaptchaScreen(
.clip(RoundedCornerShape(10.dp)),
leadingIcon = {
Icon(
painter = painterResource(id = R.drawable.round_qr_code_24),
painter = painterResource(id = R.drawable.ic_qr_code_round_24),
contentDescription = "QR code icon",
tint = if (showError) {
MaterialTheme.colorScheme.error
@@ -249,7 +249,7 @@ fun CaptchaScreen(
modifier = Modifier.align(Alignment.CenterHorizontally)
) {
Icon(
painter = painterResource(R.drawable.round_check_24px),
painter = painterResource(R.drawable.ic_check_round_24),
contentDescription = "Done icon",
tint = MaterialTheme.colorScheme.onSecondaryContainer
)
@@ -240,7 +240,7 @@ fun LoginScreen(
placeholder = { Text(text = stringResource(id = R.string.login_hint)) },
leadingIcon = {
Icon(
painter = painterResource(id = R.drawable.ic_round_person_24),
painter = painterResource(id = R.drawable.ic_person_round_24),
contentDescription = "Login icon",
tint = if (screenState.loginError) {
MaterialTheme.colorScheme.error
@@ -284,7 +284,7 @@ fun LoginScreen(
placeholder = { Text(text = stringResource(id = R.string.password_login_hint)) },
leadingIcon = {
Icon(
painter = painterResource(id = R.drawable.round_vpn_key_24),
painter = painterResource(id = R.drawable.ic_vpn_key_round_24),
contentDescription = "Password icon",
tint = if (screenState.passwordError) {
MaterialTheme.colorScheme.error
@@ -295,8 +295,8 @@ fun LoginScreen(
},
trailingIcon = {
val imagePainter = painterResource(
id = if (screenState.passwordVisible) R.drawable.round_visibility_off_24
else R.drawable.round_visibility_24px
id = if (screenState.passwordVisible) R.drawable.ic_visibility_off_round_24
else R.drawable.ic_visibility_round_24
)
IconButton(onClick = onPasswordVisibilityButtonClicked) {
@@ -364,7 +364,7 @@ fun LoginScreen(
label = "Sign in icon visibility"
) {
Icon(
painter = painterResource(id = R.drawable.ic_arrow_end),
painter = painterResource(id = R.drawable.ic_arrow_forward_round_24),
contentDescription = "Sign in icon",
tint = MaterialTheme.colorScheme.onSecondaryContainer
)
@@ -67,7 +67,7 @@ fun UserBannedScreen(
navigationIcon = {
IconButton(onClick = onBack) {
Icon(
painter = painterResource(R.drawable.round_arrow_back_24px),
painter = painterResource(R.drawable.ic_arrow_back_round_24),
contentDescription = null
)
}
@@ -170,7 +170,7 @@ fun ValidationScreen(
},
icon = {
Icon(
painter = painterResource(R.drawable.round_close_24px),
painter = painterResource(R.drawable.ic_close_round_24),
contentDescription = "Close icon",
tint = MaterialTheme.colorScheme.onPrimaryContainer,
)
@@ -220,7 +220,7 @@ fun ValidationScreen(
.semantics { contentType = ContentType.SmsOtpCode },
leadingIcon = {
Icon(
painter = painterResource(id = R.drawable.round_qr_code_24),
painter = painterResource(id = R.drawable.ic_qr_code_round_24),
contentDescription = "QR Code icon",
tint = if (screenState.codeError) {
MaterialTheme.colorScheme.error
@@ -256,7 +256,7 @@ fun ValidationScreen(
val canResendSms = screenState.isSmsButtonVisible
AnimatedVisibility(
visible = canResendSms,
visible = true,
) {
ExtendedFloatingActionButton(
onClick = onRequestSmsButtonClicked,
@@ -268,7 +268,7 @@ fun ValidationScreen(
},
icon = {
Icon(
painter = painterResource(id = R.drawable.round_sms_24),
painter = painterResource(id = R.drawable.ic_sms_round_24),
tint = MaterialTheme.colorScheme.onPrimary,
contentDescription = "SMS icon"
)
@@ -284,7 +284,7 @@ fun ValidationScreen(
containerColor = MaterialTheme.colorScheme.secondaryContainer,
) {
Icon(
painter = painterResource(R.drawable.round_check_24px),
painter = painterResource(R.drawable.ic_check_round_24),
contentDescription = "Done icon",
tint = MaterialTheme.colorScheme.onSecondaryContainer
)
@@ -167,7 +167,7 @@ fun ChatMaterialsScreen(
navigationIcon = {
IconButton(onClick = onBack) {
Icon(
painter = painterResource(R.drawable.round_arrow_back_24px),
painter = painterResource(R.drawable.ic_arrow_back_round_24),
contentDescription = null
)
}
@@ -155,7 +155,7 @@ fun AudioMaterialsScreen(
.background(MaterialTheme.colorScheme.primary)
.size(42.dp)
.padding(4.dp),
painter = painterResource(R.drawable.round_fill_play_arrow_24px),
painter = painterResource(R.drawable.ic_play_arrow_fill_round_24),
contentDescription = null,
tint = contentColorFor(MaterialTheme.colorScheme.primary)
)
@@ -203,7 +203,7 @@ fun AudioMaterialsScreen(
colors = IconButtonDefaults.filledIconButtonColors()
) {
Icon(
painter = painterResource(R.drawable.round_keyboard_arrow_up_24px),
painter = painterResource(R.drawable.ic_keyboard_arrow_up_round_24),
contentDescription = null
)
}
@@ -237,7 +237,7 @@ fun FileMaterialsScreen(
colors = IconButtonDefaults.filledIconButtonColors()
) {
Icon(
painter = painterResource(R.drawable.round_keyboard_arrow_up_24px),
painter = painterResource(R.drawable.ic_keyboard_arrow_up_round_24),
contentDescription = null
)
}
@@ -256,7 +256,7 @@ fun LinkMaterialsScreen(
colors = IconButtonDefaults.filledIconButtonColors()
) {
Icon(
painter = painterResource(R.drawable.round_keyboard_arrow_up_24px),
painter = painterResource(R.drawable.ic_keyboard_arrow_up_round_24),
contentDescription = null
)
}
@@ -177,7 +177,7 @@ fun PhotoMaterialsScreen(
colors = IconButtonDefaults.filledIconButtonColors()
) {
Icon(
painter = painterResource(R.drawable.round_keyboard_arrow_up_24px),
painter = painterResource(R.drawable.ic_keyboard_arrow_up_round_24),
contentDescription = null
)
}
@@ -229,7 +229,7 @@ fun VideoMaterialsScreen(
colors = IconButtonDefaults.filledIconButtonColors()
) {
Icon(
painter = painterResource(R.drawable.round_keyboard_arrow_up_24px),
painter = painterResource(R.drawable.ic_keyboard_arrow_up_round_24),
contentDescription = null
)
}
@@ -1,14 +1,16 @@
package dev.meloda.fast.convos.presentation
import android.os.Bundle
import androidx.compose.material3.MaterialTheme
import androidx.compose.runtime.Composable
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.res.vectorResource
import androidx.core.os.bundleOf
import dev.meloda.fast.convos.model.ConvoDialog
import dev.meloda.fast.convos.model.ConvosScreenState
import dev.meloda.fast.ui.components.MaterialDialog
import dev.meloda.fast.ui.R
import dev.meloda.fast.ui.components.MaterialDialog
@Composable
fun HandleDialogs(
@@ -27,7 +29,8 @@ fun HandleDialogs(
title = stringResource(id = R.string.confirm_archive_convo),
confirmAction = { onConfirmed(dialog, bundleOf()) },
confirmText = stringResource(id = R.string.action_archive),
cancelText = stringResource(id = R.string.cancel)
cancelText = stringResource(id = R.string.cancel),
icon = ImageVector.vectorResource(R.drawable.ic_archive_fill_round_24)
)
}
@@ -37,17 +40,23 @@ fun HandleDialogs(
title = stringResource(id = R.string.confirm_unarchive_convo),
confirmAction = { onConfirmed(dialog, bundleOf()) },
confirmText = stringResource(id = R.string.action_unarchive),
cancelText = stringResource(id = R.string.cancel)
cancelText = stringResource(id = R.string.cancel),
icon = ImageVector.vectorResource(R.drawable.ic_unarchive_fill_round_24)
)
}
is ConvoDialog.ConvoDelete -> {
val errorColor = MaterialTheme.colorScheme.error
MaterialDialog(
onDismissRequest = { onDismissed(dialog) },
icon = ImageVector.vectorResource(R.drawable.ic_delete_fill_round_24),
iconTint = errorColor,
title = stringResource(id = R.string.confirm_delete_convo),
confirmAction = { onConfirmed(dialog, bundleOf()) },
confirmText = stringResource(id = R.string.action_delete),
cancelText = stringResource(id = R.string.cancel)
confirmContainerColor = errorColor,
cancelText = stringResource(id = R.string.cancel),
)
}
@@ -57,7 +66,8 @@ fun HandleDialogs(
title = stringResource(id = R.string.confirm_pin_convo),
confirmAction = { onConfirmed(dialog, bundleOf()) },
confirmText = stringResource(id = R.string.action_pin),
cancelText = stringResource(id = R.string.cancel)
cancelText = stringResource(id = R.string.cancel),
icon = ImageVector.vectorResource(R.drawable.ic_keep_fill_round_24)
)
}
@@ -67,7 +77,8 @@ fun HandleDialogs(
title = stringResource(id = R.string.confirm_unpin_convo),
confirmAction = { onConfirmed(dialog, bundleOf()) },
confirmText = stringResource(id = R.string.action_unpin),
cancelText = stringResource(id = R.string.cancel)
cancelText = stringResource(id = R.string.cancel),
icon = ImageVector.vectorResource(R.drawable.ic_keep_off_fill_round_24)
)
}
}
@@ -7,6 +7,7 @@ import androidx.compose.animation.fadeOut
import androidx.compose.foundation.ExperimentalFoundationApi
import androidx.compose.foundation.background
import androidx.compose.foundation.combinedClickable
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row
@@ -19,12 +20,13 @@ import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size
import androidx.compose.foundation.layout.width
import androidx.compose.foundation.lazy.LazyRow
import androidx.compose.foundation.lazy.items
import androidx.compose.foundation.lazy.itemsIndexed
import androidx.compose.foundation.shape.CircleShape
import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.material3.ElevatedAssistChip
import androidx.compose.material3.HorizontalDivider
import androidx.compose.material3.Icon
import androidx.compose.material3.LocalContentColor
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Text
import androidx.compose.material3.surfaceColorAtElevation
@@ -45,6 +47,7 @@ import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import coil.compose.AsyncImage
import dev.meloda.fast.ui.R
import dev.meloda.fast.ui.basic.ContentAlpha
import dev.meloda.fast.ui.basic.LocalContentAlpha
import dev.meloda.fast.ui.components.DotsFlashing
@@ -53,7 +56,6 @@ import dev.meloda.fast.ui.model.vk.UiConvo
import dev.meloda.fast.ui.util.getImage
import dev.meloda.fast.ui.util.getResourcePainter
import dev.meloda.fast.ui.util.getString
import dev.meloda.fast.ui.R
val BirthdayColor = Color(0xffb00b69)
@@ -127,7 +129,7 @@ fun ConvoItem(
modifier = Modifier
.align(Alignment.Center)
.size(32.dp),
painter = painterResource(id = R.drawable.ic_round_bookmark_border_24),
painter = painterResource(id = R.drawable.ic_bookmark_round_24),
contentDescription = "Favorites icon",
tint = MaterialTheme.colorScheme.onPrimary
)
@@ -150,7 +152,7 @@ fun ConvoItem(
modifier = Modifier
.fillMaxSize()
.clip(CircleShape),
placeholder = painterResource(id = R.drawable.ic_account_circle_cut)
placeholder = painterResource(id = R.drawable.ic_account_circle_fill_round_24)
)
}
}
@@ -166,7 +168,7 @@ fun ConvoItem(
modifier = Modifier
.height(14.dp)
.align(Alignment.Center),
painter = painterResource(id = R.drawable.ic_round_push_pin_24),
painter = painterResource(id = R.drawable.ic_keep_fill_round_24),
contentDescription = "Pin icon",
tint = Color.White
)
@@ -222,7 +224,7 @@ fun ConvoItem(
modifier = Modifier
.align(Alignment.Center)
.size(10.dp),
painter = painterResource(id = R.drawable.round_cake_24),
painter = painterResource(id = R.drawable.ic_cake_fill_round_24),
contentDescription = "Birthday icon",
tint = Color.White
)
@@ -363,11 +365,18 @@ fun ConvoItem(
Spacer(modifier = Modifier.height(4.dp))
LazyRow(
modifier = Modifier
.fillMaxWidth()
.padding(horizontal = 10.dp)
modifier = Modifier.fillMaxWidth(),
horizontalArrangement = Arrangement.spacedBy(8.dp),
overscrollEffect = null,
) {
items(convo.options.toList()) { option ->
itemsIndexed(
items = convo.options.toList(),
key = { _, option -> option.hashCode() }
) { index, option ->
if (index == 0) {
Spacer(modifier = Modifier.width(8.dp))
}
ElevatedAssistChip(
onClick = { onOptionClicked(convo, option) },
leadingIcon = {
@@ -375,7 +384,10 @@ fun ConvoItem(
Icon(
painter = painter,
contentDescription = "Chip icon",
modifier = Modifier.size(16.dp)
modifier = Modifier.size(16.dp),
tint = if (option is ConvoOption.Delete) {
MaterialTheme.colorScheme.error
} else LocalContentColor.current
)
}
},
@@ -383,7 +395,10 @@ fun ConvoItem(
Text(text = option.title.getString().orEmpty())
}
)
Spacer(Modifier.width(8.dp))
if (index == convo.options.lastIndex) {
Spacer(modifier = Modifier.width(8.dp))
}
}
}
}
@@ -112,7 +112,7 @@ fun ConvosList(
colors = IconButtonDefaults.filledIconButtonColors()
) {
Icon(
painter = painterResource(R.drawable.round_keyboard_arrow_up_24px),
painter = painterResource(R.drawable.ic_keyboard_arrow_up_round_24),
contentDescription = null
)
}
@@ -54,7 +54,6 @@ fun ConvosRoute(
onConvoItemLongClicked = viewModel::onConvoItemLongClick,
onOptionClicked = viewModel::onOptionClicked,
onPaginationConditionsMet = viewModel::onPaginationConditionsMet,
onRefreshDropdownItemClicked = viewModel::onRefresh,
onRefresh = viewModel::onRefresh,
onCreateChatButtonClicked = viewModel::onCreateChatButtonClicked,
onArchiveActionClicked = { onNavigateToArchive?.invoke() },
@@ -92,7 +92,6 @@ fun ConvosScreen(
onConvoItemLongClicked: (convo: UiConvo) -> Unit = {},
onOptionClicked: (UiConvo, ConvoOption) -> Unit = { _, _ -> },
onPaginationConditionsMet: () -> Unit = {},
onRefreshDropdownItemClicked: () -> Unit = {},
onRefresh: () -> Unit = {},
onCreateChatButtonClicked: () -> Unit = {},
onArchiveActionClicked: () -> Unit = {},
@@ -194,7 +193,7 @@ fun ConvosScreen(
if (screenState.isArchive) {
IconButton(onClick = onBack) {
Icon(
painter = painterResource(R.drawable.round_arrow_back_24px),
painter = painterResource(R.drawable.ic_arrow_back_round_24),
contentDescription = null
)
}
@@ -216,7 +215,7 @@ fun ConvosScreen(
dropDownItems += {
DropdownMenuItem(
onClick = {
onRefreshDropdownItemClicked()
onRefresh()
dropDownMenuExpanded = false
},
text = {
@@ -224,7 +223,7 @@ fun ConvosScreen(
},
leadingIcon = {
Icon(
painter = painterResource(R.drawable.round_refresh_24px),
painter = painterResource(R.drawable.ic_refresh_round_24),
contentDescription = null
)
}
@@ -235,7 +234,7 @@ fun ConvosScreen(
if (dropDownItems.isNotEmpty()) {
IconButton(onClick = { dropDownMenuExpanded = true }) {
Icon(
painter = painterResource(R.drawable.round_more_vert_24px),
painter = painterResource(R.drawable.ic_more_vert_round_24),
contentDescription = null
)
}
@@ -292,7 +291,7 @@ fun ConvosScreen(
}
) {
Icon(
painter = painterResource(id = R.drawable.round_create_24),
painter = painterResource(id = R.drawable.ic_edit_round_24),
contentDescription = "Add chat button"
)
}
@@ -53,7 +53,7 @@ fun CreateChatItem(
modifier = Modifier
.fillMaxSize()
.clip(CircleShape),
painter = painterResource(id = R.drawable.ic_account_circle_cut),
painter = painterResource(id = R.drawable.ic_account_circle_fill_round_24),
contentDescription = "Avatar",
colorFilter = ColorFilter.tint(MaterialTheme.colorScheme.onBackground)
)
@@ -64,7 +64,7 @@ fun CreateChatItem(
modifier = Modifier
.fillMaxSize()
.clip(CircleShape),
placeholder = painterResource(id = R.drawable.ic_account_circle_cut)
placeholder = painterResource(id = R.drawable.ic_account_circle_fill_round_24)
)
}
@@ -80,7 +80,7 @@ fun CreateChatList(
colors = IconButtonDefaults.filledIconButtonColors()
) {
Icon(
painter = painterResource(R.drawable.round_keyboard_arrow_up_24px),
painter = painterResource(R.drawable.ic_keyboard_arrow_up_round_24),
contentDescription = null
)
}
@@ -207,7 +207,7 @@ fun CreateChatScreen(
navigationIcon = {
FastIconButton(onClick = onBack) {
Icon(
painter = painterResource(R.drawable.round_arrow_back_24px),
painter = painterResource(R.drawable.ic_arrow_back_round_24),
contentDescription = null
)
}
@@ -275,7 +275,7 @@ fun CreateChatScreen(
text = { Text(text = stringResource(R.string.action_create)) },
icon = {
Icon(
painter = painterResource(R.drawable.round_check_24px),
painter = painterResource(R.drawable.ic_check_round_24),
contentDescription = null
)
}
@@ -49,7 +49,7 @@ fun FriendItem(
modifier = Modifier
.fillMaxSize()
.clip(CircleShape),
painter = painterResource(id = R.drawable.ic_account_circle_cut),
painter = painterResource(id = R.drawable.ic_account_circle_fill_round_24),
contentDescription = "Avatar",
colorFilter = ColorFilter.tint(MaterialTheme.colorScheme.onBackground)
)
@@ -64,7 +64,7 @@ fun FriendItem(
?.extractUrl()
?.let(onPhotoClicked)
},
placeholder = painterResource(id = R.drawable.ic_account_circle_cut)
placeholder = painterResource(id = R.drawable.ic_account_circle_fill_round_24)
)
if (friend.onlineStatus.isOnline()) {
@@ -104,7 +104,7 @@ fun FriendItem(
}
) {
Icon(
painter = painterResource(R.drawable.round_mail_24px),
painter = painterResource(R.drawable.ic_mail_fill_round_24),
contentDescription = null,
tint = MaterialTheme.colorScheme.primary
)
@@ -92,7 +92,7 @@ fun FriendsList(
colors = IconButtonDefaults.filledIconButtonColors()
) {
Icon(
painter = painterResource(R.drawable.round_keyboard_arrow_up_24px),
painter = painterResource(R.drawable.ic_keyboard_arrow_up_round_24),
contentDescription = null
)
}
@@ -195,7 +195,7 @@ fun FriendsRoute(
}
) {
Icon(
painter = painterResource(R.drawable.round_filter_list_24),
painter = painterResource(R.drawable.ic_filter_list_round_24),
contentDescription = null
)
}
@@ -115,7 +115,7 @@ fun LanguagePickerScreen(
navigationIcon = {
IconButton(onClick = onBack) {
Icon(
painter = painterResource(R.drawable.round_arrow_back_24px),
painter = painterResource(R.drawable.ic_arrow_back_round_24),
contentDescription = "Navigate back"
)
}
@@ -132,7 +132,7 @@ fun LanguagePickerScreen(
}
) {
Icon(
painter = painterResource(R.drawable.round_more_vert_24px),
painter = painterResource(R.drawable.ic_more_vert_round_24),
contentDescription = "Options"
)
}
@@ -14,22 +14,22 @@ sealed class MessageOption(
data object Retry : MessageOption(
titleResId = R.string.message_context_action_retry,
iconResId = R.drawable.round_restart_alt_24
iconResId = R.drawable.ic_restart_alt_round_24
)
data object Reply : MessageOption(
titleResId = R.string.message_context_action_reply,
iconResId = R.drawable.round_reply_24
iconResId = R.drawable.ic_reply_round_24
)
data object ForwardHere : MessageOption(
titleResId = R.string.message_context_action_forward_here,
iconResId = R.drawable.round_reply_all_24
iconResId = R.drawable.ic_reply_all_round_24
)
data object Forward : MessageOption(
titleResId = R.string.message_context_action_forward,
iconResId = R.drawable.round_forward_24
iconResId = R.drawable.ic_forward_round_24
)
data object Pin : MessageOption(
@@ -44,37 +44,37 @@ sealed class MessageOption(
data object Read : MessageOption(
titleResId = R.string.message_context_action_read,
iconResId = R.drawable.round_mark_email_read_24
iconResId = R.drawable.ic_done_all_round_24
)
data object Copy : MessageOption(
titleResId = R.string.message_context_action_copy,
iconResId = R.drawable.round_content_copy_24
iconResId = R.drawable.ic_content_copy_round_24
)
data object MarkAsImportant : MessageOption(
titleResId = R.string.message_context_action_mark_as_important,
iconResId = R.drawable.round_star_24
iconResId = R.drawable.ic_star_round_24
)
data object UnmarkAsImportant : MessageOption(
titleResId = R.string.message_context_action_unmark_as_important,
iconResId = R.drawable.round_star_outline_24
iconResId = R.drawable.ic_star_round_24
)
data object MarkAsSpam : MessageOption(
titleResId = R.string.message_context_action_mark_as_spam,
iconResId = R.drawable.round_report_gmailerrorred_24
iconResId = R.drawable.ic_report_round_24
)
data object UnmarkAsSpam : MessageOption(
titleResId = R.string.message_context_action_unmark_as_spam,
iconResId = R.drawable.round_report_off_24
iconResId = R.drawable.ic_report_off_round_24
)
data object Edit : MessageOption(
titleResId = R.string.message_context_action_edit,
iconResId = R.drawable.round_create_24
iconResId = R.drawable.ic_edit_round_24
)
data object Delete : MessageOption(
@@ -45,7 +45,7 @@ fun BoxScope.DateStatus(
if (isImportant) {
Spacer(modifier = Modifier.width(4.dp))
Icon(
painter = painterResource(R.drawable.round_star_24),
painter = painterResource(R.drawable.ic_star_round_24),
contentDescription = null,
modifier = Modifier.size(14.dp)
)
@@ -64,7 +64,7 @@ fun BoxScope.DateStatus(
if (isEdited) {
Spacer(modifier = Modifier.width(4.dp))
Icon(
painter = painterResource(R.drawable.round_edit_24px),
painter = painterResource(R.drawable.ic_edit_round_24),
contentDescription = null,
modifier = Modifier.size(14.dp)
)
@@ -83,13 +83,13 @@ fun BoxScope.DateStatus(
modifier = Modifier.size(14.dp),
painter = painterResource(
when (sendingStatus) {
SendingStatus.SENDING -> R.drawable.round_access_time_24
SendingStatus.SENDING -> R.drawable.ic_schedule_round_24
SendingStatus.SENT -> {
if (isRead) R.drawable.ic_done_all_round_24
else R.drawable.ic_round_done_24
else R.drawable.ic_check_round_24
}
SendingStatus.FAILED -> R.drawable.round_error_outline_24
SendingStatus.FAILED -> R.drawable.ic_error_round_24
}
),
tint = if (sendingStatus == SendingStatus.FAILED) MaterialTheme.colorScheme.error
@@ -200,7 +200,7 @@ fun InputBar(
},
) {
Icon(
painter = painterResource(id = R.drawable.ic_outline_emoji_emotions_24),
painter = painterResource(id = R.drawable.ic_sentiment_satisfied_round_24),
contentDescription = "Emoji button",
tint = MaterialTheme.colorScheme.primary
)
@@ -291,7 +291,7 @@ fun InputBar(
}
) {
Icon(
painter = painterResource(id = R.drawable.round_attach_file_24),
painter = painterResource(id = R.drawable.ic_attach_file_round_24),
contentDescription = "Add attachment button",
tint = MaterialTheme.colorScheme.primary,
)
@@ -325,10 +325,10 @@ fun InputBar(
painter = painterResource(
id = when (actionMode) {
ActionMode.DELETE -> R.drawable.ic_delete_round_24
ActionMode.EDIT -> R.drawable.ic_round_done_24
ActionMode.RECORD_AUDIO -> R.drawable.ic_round_mic_none_24
ActionMode.RECORD_VIDEO -> R.drawable.rounded_photo_camera_24
ActionMode.SEND -> R.drawable.round_send_24
ActionMode.EDIT -> R.drawable.ic_check_round_24
ActionMode.RECORD_AUDIO -> R.drawable.ic_mic_round_24
ActionMode.RECORD_VIDEO -> R.drawable.ic_photo_camera_round_24
ActionMode.SEND -> R.drawable.ic_send_round_24
}
),
contentDescription = null,
@@ -72,7 +72,7 @@ fun IncomingMessageBubble(
) {
Box(modifier = Modifier.fillMaxWidth()) {
Icon(
painter = painterResource(R.drawable.round_reply_24),
painter = painterResource(R.drawable.ic_reply_round_24),
contentDescription = null,
tint = MaterialTheme.colorScheme.secondary,
modifier = Modifier
@@ -52,7 +52,7 @@ fun OutgoingMessageBubble(
contentAlignment = Alignment.CenterEnd
) {
Icon(
painter = painterResource(R.drawable.round_reply_24),
painter = painterResource(R.drawable.ic_reply_round_24),
contentDescription = null,
tint = MaterialTheme.colorScheme.secondary,
modifier = Modifier
@@ -5,6 +5,7 @@ import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.width
import androidx.compose.material3.Checkbox
@@ -170,6 +171,7 @@ fun MessageOptionsDialog(
}
MaterialDialog(onDismissRequest = onDismissed) {
Spacer(modifier = Modifier.height(4.dp))
if (showReadPeers) {
var viewCount by remember {
mutableStateOf<Int?>(null)
@@ -181,31 +183,32 @@ fun MessageOptionsDialog(
MessageOptionItem(
title = viewCount?.let { "$it views" } ?: "...",
iconResId = R.drawable.round_visibility_24px,
iconResId = R.drawable.ic_visibility_round_24,
tintColor = primaryColor,
onClick = {}
)
}
messageOptions
.forEachIndexed { index, (titleResId, iconResId, tintColor) ->
MessageOptionItem(
title = stringResource(titleResId),
iconResId = iconResId,
tintColor = tintColor,
onClick = {
onDismissed()
val pickedOption = options[index]
onItemPicked(
bundleOf(
"option" to pickedOption,
"messageId" to message.id,
"cmId" to message.cmId
)
messageOptions.forEachIndexed { index, (titleResId, iconResId, tintColor) ->
MessageOptionItem(
title = stringResource(titleResId),
iconResId = iconResId,
tintColor = tintColor,
onClick = {
onDismissed()
val pickedOption = options[index]
onItemPicked(
bundleOf(
"option" to pickedOption,
"messageId" to message.id,
"cmId" to message.cmId
)
}
)
}
)
}
)
}
Spacer(modifier = Modifier.height(4.dp))
}
}
@@ -108,7 +108,7 @@ fun MessagesHistoryTopBar(
modifier = Modifier
.align(Alignment.Center)
.size(24.dp),
painter = painterResource(id = R.drawable.ic_round_bookmark_border_24),
painter = painterResource(id = R.drawable.ic_bookmark_round_24),
contentDescription = "Favorites icon",
tint = MaterialTheme.colorScheme.onPrimary
)
@@ -131,7 +131,7 @@ fun MessagesHistoryTopBar(
modifier = Modifier
.size(36.dp)
.clip(CircleShape),
placeholder = painterResource(id = R.drawable.ic_account_circle_cut),
placeholder = painterResource(id = R.drawable.ic_account_circle_fill_round_24),
)
}
}
@@ -158,9 +158,9 @@ fun MessagesHistoryTopBar(
Icon(
painter = painterResource(
if (state) {
R.drawable.round_arrow_back_24px
R.drawable.ic_arrow_back_round_24
} else {
R.drawable.round_close_24px
R.drawable.ic_close_round_24
}
),
contentDescription = if (state) "Close button"
@@ -181,7 +181,7 @@ fun MessagesHistoryTopBar(
}
) {
Icon(
painter = painterResource(R.drawable.round_reply_24),
painter = painterResource(R.drawable.ic_reply_round_24),
contentDescription = null
)
}
@@ -194,7 +194,7 @@ fun MessagesHistoryTopBar(
}
) {
Icon(
painter = painterResource(R.drawable.round_reply_all_24),
painter = painterResource(R.drawable.ic_reply_all_round_24),
contentDescription = null
)
}
@@ -206,7 +206,7 @@ fun MessagesHistoryTopBar(
}
) {
Icon(
painter = painterResource(R.drawable.round_forward_24),
painter = painterResource(R.drawable.ic_forward_round_24),
contentDescription = null
)
}
@@ -231,7 +231,7 @@ fun MessagesHistoryTopBar(
},
leadingIcon = {
Icon(
painter = painterResource(R.drawable.round_refresh_24px),
painter = painterResource(R.drawable.ic_refresh_round_24),
contentDescription = null
)
}
@@ -244,7 +244,7 @@ fun MessagesHistoryTopBar(
onClick = { dropDownMenuExpanded = true }
) {
Icon(
painter = painterResource(R.drawable.round_more_vert_24px),
painter = painterResource(R.drawable.ic_more_vert_round_24),
contentDescription = "Options"
)
}
@@ -89,7 +89,7 @@ fun PinnedMessageContainer(
onClick = onUnpinMessageButtonClicked
) {
Icon(
painter = painterResource(R.drawable.round_close_24px),
painter = painterResource(R.drawable.ic_close_round_24),
contentDescription = null,
modifier = Modifier.alpha(0.5f),
)
@@ -57,7 +57,7 @@ fun ReplyContainer(
verticalAlignment = Alignment.CenterVertically
) {
Icon(
painter = painterResource(R.drawable.round_reply_24px),
painter = painterResource(R.drawable.ic_reply_round_24),
contentDescription = null,
tint = MaterialTheme.colorScheme.primary
)
@@ -90,7 +90,7 @@ fun ReplyContainer(
onClick = onCloseClicked
) {
Icon(
painter = painterResource(R.drawable.round_close_24px),
painter = painterResource(R.drawable.ic_close_round_24),
contentDescription = null,
)
}
@@ -48,7 +48,7 @@ fun Audio(
.background(MaterialTheme.colorScheme.primary)
.size(36.dp)
.padding(4.dp),
painter = painterResource(R.drawable.round_fill_play_arrow_24px),
painter = painterResource(R.drawable.ic_play_arrow_fill_round_24),
contentDescription = null,
tint = contentColorFor(MaterialTheme.colorScheme.primary)
)
@@ -90,8 +90,8 @@ fun AudioMessage(
) {
Icon(
painter = painterResource(
if (isPlaying) R.drawable.round_pause_24
else R.drawable.round_fill_play_arrow_24px,
if (isPlaying) R.drawable.ic_pause_round_24
else R.drawable.ic_play_arrow_fill_round_24,
),
contentDescription = null
)
@@ -47,7 +47,7 @@ fun Gift(
horizontalArrangement = Arrangement.Center
) {
Icon(
imageVector = ImageVector.vectorResource(R.drawable.ic_attachment_gift),
imageVector = ImageVector.vectorResource(R.drawable.ic_attachment_gift_old),
contentDescription = null,
modifier = Modifier.size(16.dp)
)
@@ -110,7 +110,7 @@ fun DynamicPreviewGrid(
) {
Icon(
modifier = Modifier,
painter = painterResource(R.drawable.round_fill_play_arrow_24px),
painter = painterResource(R.drawable.ic_play_arrow_fill_round_24),
contentDescription = null,
tint = Color.White
)
@@ -243,7 +243,7 @@ private fun TopBar(
navigationIcon = {
IconButton(onClick = onBack) {
Icon(
painter = painterResource(R.drawable.round_arrow_back_24px),
painter = painterResource(R.drawable.ic_arrow_back_round_24),
contentDescription = "Back button",
tint = Color.White
)
@@ -254,7 +254,7 @@ private fun TopBar(
onClick = { dropdownMenuShown = true }
) {
Icon(
painter = painterResource(R.drawable.round_more_vert_24px),
painter = painterResource(R.drawable.ic_more_vert_round_24),
contentDescription = "Options",
tint = Color.White
)
@@ -74,7 +74,7 @@ fun ProfileScreen(
actions = {
IconButton(onClick = onSettingsButtonClicked) {
Icon(
painter = painterResource(R.drawable.round_settings_24px),
painter = painterResource(R.drawable.ic_settings_round_24),
contentDescription = null
)
}
@@ -112,7 +112,7 @@ fun ProfileScreen(
model = screenState.avatarUrl,
contentDescription = null,
contentScale = ContentScale.Crop,
placeholder = painterResource(id = R.drawable.ic_account_circle_cut)
placeholder = painterResource(id = R.drawable.ic_account_circle_fill_round_24)
)
Spacer(modifier = Modifier.height(18.dp))
@@ -92,7 +92,7 @@ fun SettingsScreen(
navigationIcon = {
IconButton(onClick = onBack) {
Icon(
painter = painterResource(id = R.drawable.round_arrow_back_24px),
painter = painterResource(id = R.drawable.ic_arrow_back_round_24),
contentDescription = "Back button"
)
}