From d0dac19119857f3fb6db475188e38f31c8ed0aa9 Mon Sep 17 00:00:00 2001 From: Hector de Isidro <5445152+hector6872@users.noreply.github.com> Date: Thu, 17 Jul 2025 00:07:04 +0200 Subject: [PATCH 1/5] Replace BoxWithConstraints with Box since constraints are unused --- app/src/main/java/com/bitchat/android/ui/ChatScreen.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 4c9e30dc..cad1de71 100644 --- a/app/src/main/java/com/bitchat/android/ui/ChatScreen.kt +++ b/app/src/main/java/com/bitchat/android/ui/ChatScreen.kt @@ -86,7 +86,7 @@ fun ChatScreen(viewModel: ChatViewModel) { } // Use WindowInsets to handle keyboard properly - BoxWithConstraints(modifier = Modifier.fillMaxSize()) { + Box(modifier = Modifier.fillMaxSize()) { val headerHeight = 36.dp // Main content area that responds to keyboard/window insets From 15a989c5cdfba6f4aeb3b0195987a817dc17e297 Mon Sep 17 00:00:00 2001 From: Hector de Isidro <5445152+hector6872@users.noreply.github.com> Date: Thu, 17 Jul 2025 00:08:20 +0200 Subject: [PATCH 2/5] Remove unnecessary Box wrapper --- .../main/java/com/bitchat/android/ui/ChatScreen.kt | 14 ++++++-------- .../com/bitchat/android/ui/MessageComponents.kt | 4 ++-- 2 files changed, 8 insertions(+), 10 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 cad1de71..99d2d909 100644 --- a/app/src/main/java/com/bitchat/android/ui/ChatScreen.kt +++ b/app/src/main/java/com/bitchat/android/ui/ChatScreen.kt @@ -100,14 +100,12 @@ fun ChatScreen(viewModel: ChatViewModel) { Spacer(modifier = Modifier.height(headerHeight)) // Messages area - takes up available space, will compress when keyboard appears - Box(modifier = Modifier.weight(1f)) { - MessagesList( - messages = displayMessages, - currentUserNickname = nickname, - meshService = viewModel.meshService, - modifier = Modifier.fillMaxSize() - ) - } + MessagesList( + messages = displayMessages, + currentUserNickname = nickname, + meshService = viewModel.meshService, + modifier = Modifier.weight(1f) + ) // Input area - stays at bottom ChatInputSection( diff --git a/app/src/main/java/com/bitchat/android/ui/MessageComponents.kt b/app/src/main/java/com/bitchat/android/ui/MessageComponents.kt index ba97657f..7dd07898 100644 --- a/app/src/main/java/com/bitchat/android/ui/MessageComponents.kt +++ b/app/src/main/java/com/bitchat/android/ui/MessageComponents.kt @@ -42,10 +42,10 @@ fun MessagesList( } } - SelectionContainer { + SelectionContainer(modifier = modifier) { LazyColumn( state = listState, - modifier = modifier.padding(horizontal = 12.dp, vertical = 8.dp), + modifier = Modifier.padding(horizontal = 12.dp, vertical = 8.dp), verticalArrangement = Arrangement.spacedBy(2.dp) ) { items(messages) { message -> From 37e3852f4088c8d6bda7d5cacdb4dd818bde16c3 Mon Sep 17 00:00:00 2001 From: Hector de Isidro <5445152+hector6872@users.noreply.github.com> Date: Thu, 17 Jul 2025 00:11:26 +0200 Subject: [PATCH 3/5] Use contentPadding instead of padding so items remain fully visible --- app/src/main/java/com/bitchat/android/ui/MessageComponents.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/com/bitchat/android/ui/MessageComponents.kt b/app/src/main/java/com/bitchat/android/ui/MessageComponents.kt index 7dd07898..0cb9e977 100644 --- a/app/src/main/java/com/bitchat/android/ui/MessageComponents.kt +++ b/app/src/main/java/com/bitchat/android/ui/MessageComponents.kt @@ -45,7 +45,7 @@ fun MessagesList( SelectionContainer(modifier = modifier) { LazyColumn( state = listState, - modifier = Modifier.padding(horizontal = 12.dp, vertical = 8.dp), + contentPadding = PaddingValues(horizontal = 12.dp, vertical = 8.dp), verticalArrangement = Arrangement.spacedBy(2.dp) ) { items(messages) { message -> From f2a8f86f17ffb182c1848e61a37372f3120da44b Mon Sep 17 00:00:00 2001 From: Hector de Isidro <5445152+hector6872@users.noreply.github.com> Date: Thu, 17 Jul 2025 00:17:56 +0200 Subject: [PATCH 4/5] Use HorizontalDivider instead of deprecated Divider --- .../main/java/com/bitchat/android/ui/ChatScreen.kt | 12 ++++++------ .../java/com/bitchat/android/ui/SidebarComponents.kt | 6 +++--- 2 files changed, 9 insertions(+), 9 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 99d2d909..33793f4c 100644 --- a/app/src/main/java/com/bitchat/android/ui/ChatScreen.kt +++ b/app/src/main/java/com/bitchat/android/ui/ChatScreen.kt @@ -210,7 +210,7 @@ private fun ChatInputSection( shadowElevation = 8.dp ) { Column { - Divider(color = colorScheme.outline.copy(alpha = 0.3f)) + HorizontalDivider(color = colorScheme.outline.copy(alpha = 0.3f)) // Command suggestions box if (showCommandSuggestions && commandSuggestions.isNotEmpty()) { @@ -219,8 +219,8 @@ private fun ChatInputSection( onSuggestionClick = onSuggestionClick, modifier = Modifier.fillMaxWidth() ) - - Divider(color = colorScheme.outline.copy(alpha = 0.2f)) + + HorizontalDivider(color = colorScheme.outline.copy(alpha = 0.2f)) } MessageInput( @@ -283,12 +283,12 @@ private fun ChatFloatingHeader( } // Divider under header - Divider( - color = colorScheme.outline.copy(alpha = 0.3f), + HorizontalDivider( modifier = Modifier .fillMaxWidth() .offset(y = headerHeight) - .zIndex(1f) + .zIndex(1f), + color = colorScheme.outline.copy(alpha = 0.3f) ) } 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 27e6927f..d0a3afc7 100644 --- a/app/src/main/java/com/bitchat/android/ui/SidebarComponents.kt +++ b/app/src/main/java/com/bitchat/android/ui/SidebarComponents.kt @@ -73,8 +73,8 @@ fun SidebarOverlay( .windowInsetsPadding(WindowInsets.statusBars) // Add status bar padding ) { SidebarHeader() - - Divider() + + HorizontalDivider() // Scrollable content LazyColumn( @@ -101,7 +101,7 @@ fun SidebarOverlay( } item { - Divider(modifier = Modifier.padding(vertical = 4.dp)) + HorizontalDivider(modifier = Modifier.padding(vertical = 4.dp)) } } From 305b334244672c270b4fc805cc5e106db18da1f6 Mon Sep 17 00:00:00 2001 From: Hector de Isidro <5445152+hector6872@users.noreply.github.com> Date: Thu, 17 Jul 2025 00:20:09 +0200 Subject: [PATCH 5/5] Remove redundant @OptIn annotation --- app/src/main/java/com/bitchat/android/ui/ChatScreen.kt | 2 -- 1 file changed, 2 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 33793f4c..e05e15b1 100644 --- a/app/src/main/java/com/bitchat/android/ui/ChatScreen.kt +++ b/app/src/main/java/com/bitchat/android/ui/ChatScreen.kt @@ -46,7 +46,6 @@ import java.util.* * - DialogComponents: Password prompts and modals * - ChatUIUtils: Utility functions for formatting and colors */ -@OptIn(ExperimentalMaterial3Api::class) @Composable fun ChatScreen(viewModel: ChatViewModel) { val colorScheme = MaterialTheme.colorScheme @@ -190,7 +189,6 @@ fun ChatScreen(viewModel: ChatViewModel) { ) } -@OptIn(ExperimentalMaterial3Api::class) @Composable private fun ChatInputSection( messageText: String,