Revert "update input button styling (#682)" (#689)

This reverts commit ce86f4ec2f.
This commit is contained in:
callebtc
2026-03-30 10:20:25 +02:00
committed by GitHub
parent be1a2ec914
commit e3c7bd5346
3 changed files with 10 additions and 39 deletions
@@ -284,6 +284,7 @@ fun MessageInput(
Spacer(Modifier.width(1.dp)) Spacer(Modifier.width(1.dp))
VoiceRecordButton( VoiceRecordButton(
backgroundColor = bg,
onStart = { onStart = {
isRecording = true isRecording = true
elapsedMs = 0L elapsedMs = 0L
@@ -1,7 +1,6 @@
package com.bitchat.android.ui package com.bitchat.android.ui
import android.Manifest import android.Manifest
import androidx.compose.animation.animateColorAsState
import androidx.compose.foundation.background import androidx.compose.foundation.background
import androidx.compose.foundation.gestures.detectTapGestures import androidx.compose.foundation.gestures.detectTapGestures
import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Box
@@ -10,11 +9,10 @@ import androidx.compose.foundation.shape.CircleShape
import androidx.compose.material.icons.Icons import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.Mic import androidx.compose.material.icons.filled.Mic
import androidx.compose.material3.Icon import androidx.compose.material3.Icon
import androidx.compose.material3.MaterialTheme
import androidx.compose.runtime.* import androidx.compose.runtime.*
import androidx.compose.runtime.getValue
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.Color
import androidx.compose.ui.input.pointer.pointerInput import androidx.compose.ui.input.pointer.pointerInput
import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.stringResource import androidx.compose.ui.res.stringResource
@@ -34,6 +32,7 @@ import kotlinx.coroutines.launch
@Composable @Composable
fun VoiceRecordButton( fun VoiceRecordButton(
modifier: Modifier = Modifier, modifier: Modifier = Modifier,
backgroundColor: Color,
onStart: () -> Unit, onStart: () -> Unit,
onAmplitude: (amplitude: Int, elapsedMs: Long) -> Unit, onAmplitude: (amplitude: Int, elapsedMs: Long) -> Unit,
onFinish: (filePath: String) -> Unit onFinish: (filePath: String) -> Unit
@@ -55,21 +54,10 @@ fun VoiceRecordButton(
val latestOnAmplitude = rememberUpdatedState(onAmplitude) val latestOnAmplitude = rememberUpdatedState(onAmplitude)
val latestOnFinish = rememberUpdatedState(onFinish) val latestOnFinish = rememberUpdatedState(onFinish)
val backgroundColor by animateColorAsState(
targetValue = if (isRecording) {
MaterialTheme.colorScheme.error.copy(alpha = 0.4f)
} else {
MaterialTheme.colorScheme.error
}
)
Box( Box(
modifier = modifier modifier = modifier
.size(32.dp) .size(32.dp)
.background( .background(backgroundColor, CircleShape)
color = backgroundColor,
shape = CircleShape,
)
.pointerInput(Unit) { .pointerInput(Unit) {
detectTapGestures( detectTapGestures(
onPress = { onPress = {
@@ -143,7 +131,7 @@ fun VoiceRecordButton(
Icon( Icon(
imageVector = Icons.Filled.Mic, imageVector = Icons.Filled.Mic,
contentDescription = stringResource(com.bitchat.android.R.string.cd_record_voice), contentDescription = stringResource(com.bitchat.android.R.string.cd_record_voice),
tint = MaterialTheme.colorScheme.onError, tint = Color.Black,
modifier = Modifier.size(20.dp) modifier = Modifier.size(20.dp)
) )
} }
@@ -2,24 +2,22 @@ package com.bitchat.android.ui.media
import android.Manifest import android.Manifest
import android.content.pm.PackageManager import android.content.pm.PackageManager
import android.net.Uri
import androidx.activity.compose.rememberLauncherForActivityResult import androidx.activity.compose.rememberLauncherForActivityResult
import androidx.activity.result.contract.ActivityResultContracts import androidx.activity.result.contract.ActivityResultContracts
import androidx.compose.animation.animateColorAsState
import androidx.compose.foundation.ExperimentalFoundationApi import androidx.compose.foundation.ExperimentalFoundationApi
import androidx.compose.foundation.background
import androidx.compose.foundation.combinedClickable import androidx.compose.foundation.combinedClickable
import androidx.compose.foundation.interaction.MutableInteractionSource
import androidx.compose.foundation.interaction.collectIsPressedAsState
import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.size
import androidx.compose.foundation.shape.CircleShape
import androidx.compose.material.icons.Icons import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.Camera
import androidx.compose.material.icons.filled.Photo
import androidx.compose.material.icons.filled.PhotoCamera import androidx.compose.material.icons.filled.PhotoCamera
import androidx.compose.material3.Icon import androidx.compose.material3.Icon
import androidx.compose.material3.MaterialTheme
import androidx.compose.runtime.* import androidx.compose.runtime.*
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.Color
import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.stringResource import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
@@ -36,16 +34,6 @@ fun ImagePickerButton(
) { ) {
val context = LocalContext.current val context = LocalContext.current
var capturedImagePath by remember { mutableStateOf<String?>(null) } var capturedImagePath by remember { mutableStateOf<String?>(null) }
val interactionSource = remember { MutableInteractionSource() }
val isPressed by interactionSource.collectIsPressedAsState()
val backgroundColor by animateColorAsState(
targetValue = if(isPressed) {
MaterialTheme.colorScheme.primary.copy(alpha = 0.4f)
} else {
MaterialTheme.colorScheme.primary
}
)
val imagePicker = rememberLauncherForActivityResult( val imagePicker = rememberLauncherForActivityResult(
contract = ActivityResultContracts.GetContent() contract = ActivityResultContracts.GetContent()
@@ -101,13 +89,7 @@ fun ImagePickerButton(
Box( Box(
modifier = modifier modifier = modifier
.size(32.dp) .size(32.dp)
.background(
color = backgroundColor,
shape = CircleShape
)
.combinedClickable( .combinedClickable(
interactionSource = interactionSource,
indication = null,
onClick = { imagePicker.launch("image/*") }, onClick = { imagePicker.launch("image/*") },
onLongClick = { onLongClick = {
if (ContextCompat.checkSelfPermission(context, Manifest.permission.CAMERA) == PackageManager.PERMISSION_GRANTED) { if (ContextCompat.checkSelfPermission(context, Manifest.permission.CAMERA) == PackageManager.PERMISSION_GRANTED) {
@@ -122,7 +104,7 @@ fun ImagePickerButton(
Icon( Icon(
imageVector = Icons.Filled.PhotoCamera, imageVector = Icons.Filled.PhotoCamera,
contentDescription = stringResource(com.bitchat.android.R.string.pick_image), contentDescription = stringResource(com.bitchat.android.R.string.pick_image),
tint = MaterialTheme.colorScheme.onPrimary, tint = Color.Gray,
modifier = Modifier.size(20.dp) modifier = Modifier.size(20.dp)
) )
} }