Продолжение рефакторинга

This commit is contained in:
2026-04-18 18:11:32 +05:00
parent cedbd204c2
commit aa0fa3fdb1
3 changed files with 280 additions and 313 deletions

View File

@@ -2657,7 +2657,7 @@ fun MessageInputBar(
contentAlignment = Alignment.Center
) {
Icon(
imageVector = if (recordMode == RecordMode.VOICE) TablerIcons.Microphone else TablerIcons.Video,
imageVector = if (recordMode == RecordMode.VOICE) ThinMicrophoneIcon else TablerIcons.Video,
contentDescription = null,
tint = Color.White,
modifier = Modifier.size(19.dp)
@@ -2995,7 +2995,7 @@ fun MessageInputBar(
contentAlignment = Alignment.Center
) {
Icon(
imageVector = if (recordMode == RecordMode.VOICE) TablerIcons.Microphone else TablerIcons.Video,
imageVector = if (recordMode == RecordMode.VOICE) ThinMicrophoneIcon else TablerIcons.Video,
contentDescription = "Record message",
tint = Color(0xFF8E8E93).copy(alpha = 0.6f),
modifier = Modifier.size(24.dp)

View File

@@ -116,3 +116,61 @@ val TelegramSendIcon: ImageVector
horizontalLineToRelative(16f)
}
}.build()
/** Thin microphone icon matching the visual weight of Telegram-style input icons */
val ThinMicrophoneIcon: ImageVector
get() = ImageVector.Builder(
name = "ThinMicrophone",
defaultWidth = 24.dp,
defaultHeight = 24.dp,
viewportWidth = 24f,
viewportHeight = 24f
).apply {
// Microphone capsule
path(
fill = null,
stroke = SolidColor(Color.White),
strokeLineWidth = 1.5f,
strokeLineCap = StrokeCap.Round,
strokeLineJoin = StrokeJoin.Round
) {
moveTo(9f, 5f)
arcToRelative(3f, 3f, 0f, isMoreThanHalf = false, isPositiveArc = true, dx1 = 6f, dy1 = 0f)
verticalLineToRelative(5f)
arcToRelative(3f, 3f, 0f, isMoreThanHalf = false, isPositiveArc = true, dx1 = -6f, dy1 = 0f)
close()
}
// U-shaped curve below capsule
path(
fill = null,
stroke = SolidColor(Color.White),
strokeLineWidth = 1.5f,
strokeLineCap = StrokeCap.Round,
strokeLineJoin = StrokeJoin.Round
) {
moveTo(5f, 10f)
arcToRelative(7f, 7f, 0f, isMoreThanHalf = false, isPositiveArc = false, dx1 = 14f, dy1 = 0f)
}
// Vertical stem
path(
fill = null,
stroke = SolidColor(Color.White),
strokeLineWidth = 1.5f,
strokeLineCap = StrokeCap.Round,
strokeLineJoin = StrokeJoin.Round
) {
moveTo(12f, 17f)
verticalLineToRelative(4f)
}
// Horizontal base
path(
fill = null,
stroke = SolidColor(Color.White),
strokeLineWidth = 1.5f,
strokeLineCap = StrokeCap.Round,
strokeLineJoin = StrokeJoin.Round
) {
moveTo(8f, 21f)
horizontalLineToRelative(8f)
}
}.build()