forked from melod1n/fast-messenger
update and refresh icons to Material Symbols;
update MaterialDialog style
This commit is contained in:
+4
-4
@@ -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
|
||||
)
|
||||
|
||||
+1
-1
@@ -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
|
||||
)
|
||||
}
|
||||
|
||||
+5
-5
@@ -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
|
||||
)
|
||||
|
||||
+1
-1
@@ -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
|
||||
)
|
||||
}
|
||||
|
||||
+2
-2
@@ -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
|
||||
)
|
||||
}
|
||||
|
||||
+1
-1
@@ -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
|
||||
)
|
||||
}
|
||||
|
||||
+1
-1
@@ -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
|
||||
)
|
||||
}
|
||||
|
||||
+1
-1
@@ -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
|
||||
)
|
||||
}
|
||||
|
||||
+1
-1
@@ -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"
|
||||
)
|
||||
}
|
||||
|
||||
+2
-2
@@ -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)
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -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
|
||||
)
|
||||
}
|
||||
|
||||
+2
-2
@@ -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
|
||||
)
|
||||
}
|
||||
|
||||
+1
-1
@@ -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
|
||||
)
|
||||
}
|
||||
|
||||
+2
-2
@@ -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"
|
||||
)
|
||||
}
|
||||
|
||||
+11
-11
@@ -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(
|
||||
|
||||
+5
-5
@@ -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
|
||||
|
||||
+6
-6
@@ -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,
|
||||
|
||||
+1
-1
@@ -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
|
||||
|
||||
+1
-1
@@ -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
|
||||
|
||||
+22
-19
@@ -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))
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+9
-9
@@ -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"
|
||||
)
|
||||
}
|
||||
|
||||
+1
-1
@@ -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),
|
||||
)
|
||||
|
||||
+2
-2
@@ -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,
|
||||
)
|
||||
}
|
||||
|
||||
+1
-1
@@ -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)
|
||||
)
|
||||
|
||||
+2
-2
@@ -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
|
||||
)
|
||||
|
||||
+1
-1
@@ -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)
|
||||
)
|
||||
|
||||
+1
-1
@@ -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
|
||||
)
|
||||
|
||||
+2
-2
@@ -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
|
||||
)
|
||||
|
||||
+2
-2
@@ -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))
|
||||
|
||||
+1
-1
@@ -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"
|
||||
)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user