From bff8b1112c1fbc1012fb4cf4e3eb59072d303651 Mon Sep 17 00:00:00 2001 From: Tobiloba Oyelekan Date: Tue, 5 Aug 2025 22:38:16 +0100 Subject: [PATCH] Disable overlay bakground animation (#170) * remove slider background from animation, show only when slider is shown * cleanup unused import in chatscreen --- .../java/com/bitchat/android/ui/ChatScreen.kt | 45 +++++++++---------- .../bitchat/android/ui/SidebarComponents.kt | 6 +-- 2 files changed, 21 insertions(+), 30 deletions(-) diff --git a/app/src/main/java/com/bitchat/android/ui/ChatScreen.kt b/app/src/main/java/com/bitchat/android/ui/ChatScreen.kt index 1aeefc7d..79e1331e 100644 --- a/app/src/main/java/com/bitchat/android/ui/ChatScreen.kt +++ b/app/src/main/java/com/bitchat/android/ui/ChatScreen.kt @@ -4,39 +4,16 @@ import androidx.compose.animation.* import androidx.compose.animation.core.* import androidx.compose.foundation.* import androidx.compose.foundation.layout.* -import androidx.compose.foundation.lazy.LazyColumn -import androidx.compose.foundation.lazy.items -import androidx.compose.foundation.lazy.rememberLazyListState -import androidx.compose.foundation.shape.CircleShape -import androidx.compose.foundation.shape.RoundedCornerShape -import androidx.compose.foundation.text.BasicTextField -import androidx.compose.foundation.text.KeyboardActions -import androidx.compose.foundation.text.KeyboardOptions -import androidx.compose.material.icons.Icons -import androidx.compose.material.icons.filled.* import androidx.compose.material3.* import androidx.compose.runtime.* import androidx.compose.runtime.livedata.observeAsState -import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color -import androidx.compose.ui.graphics.SolidColor -import androidx.compose.ui.platform.LocalFocusManager import androidx.compose.ui.text.TextRange -import androidx.compose.ui.text.font.FontFamily -import androidx.compose.ui.text.font.FontWeight -import androidx.compose.ui.text.input.ImeAction import androidx.compose.ui.text.input.TextFieldValue -import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.Dp -import androidx.compose.ui.unit.sp import androidx.compose.ui.zIndex -import com.bitchat.android.model.BitchatMessage -import com.bitchat.android.model.DeliveryStatus -import com.bitchat.android.mesh.BluetoothMeshService -import java.text.SimpleDateFormat -import java.util.* /** * Main ChatScreen - REFACTORED to use component-based architecture @@ -161,8 +138,26 @@ fun ChatScreen(viewModel: ChatViewModel) { onShowAppInfo = { viewModel.showAppInfo() }, onPanicClear = { viewModel.panicClearAllData() } ) - - // Sidebar overlay + + val alpha by animateFloatAsState( + targetValue = if (showSidebar) 0.5f else 0f, + animationSpec = tween( + durationMillis = 300, + easing = EaseOutCubic + ), label = "overlayAlpha" + ) + + // Only render the background if it's visible + if (alpha > 0f) { + Box( + modifier = Modifier + .fillMaxSize() + .background(Color.Black.copy(alpha = alpha)) + .clickable { viewModel.hideSidebar() } + .zIndex(1f) + ) + } + AnimatedVisibility( visible = showSidebar, enter = slideInHorizontally( diff --git a/app/src/main/java/com/bitchat/android/ui/SidebarComponents.kt b/app/src/main/java/com/bitchat/android/ui/SidebarComponents.kt index 61550bb7..1734851c 100644 --- a/app/src/main/java/com/bitchat/android/ui/SidebarComponents.kt +++ b/app/src/main/java/com/bitchat/android/ui/SidebarComponents.kt @@ -45,11 +45,7 @@ fun SidebarOverlay( val peerNicknames = viewModel.meshService.getPeerNicknames() val peerRSSI = viewModel.meshService.getPeerRSSI() - Box( - modifier = modifier - .background(Color.Black.copy(alpha = 0.5f)) - .clickable { onDismiss() } - ) { + Box(modifier = modifier) { Row( modifier = Modifier .fillMaxHeight()