From f1cbf808267117d0d1c8c6e7ed3ca3e8f7e3b03c Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 18 Apr 2026 15:59:33 +0000 Subject: [PATCH] fix(ui): opaque tab rows and bottom-bar under nav inset MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When the disappearing bars translate on top of content, any translucent chrome lets items bleed through — which the user noticed on Home: posts became visible through the transparent SecondaryTabRow, and the strip under Android's gesture bar (covered by windowInsetsPadding on the bottom nav) was transparent too. - Swap `containerColor = Color.Transparent` to `MaterialTheme.colorScheme.background` on all tab rows that sit in a DisappearingScaffold topBar slot (Home, Discover, Polls, Community, ChatroomListTabs, OldBookmarkList). - Paint AppBottomBar's outer Column with the background before the windowInsetsPadding, so the system-gesture-bar strip at the bottom is opaque and items scrolling behind it are hidden. FollowPackFeedScreen intentionally uses a translucent (alpha 0.6f) top bar as a design choice, so it's left as-is. https://claude.ai/code/session_01M3Bj24jLc9aVhMuvn55jXa --- .../amethyst/ui/navigation/bottombars/AppBottomBar.kt | 2 ++ .../loggedIn/bookmarkgroups/old/OldBookmarkListScreen.kt | 3 +-- .../ui/screen/loggedIn/chats/rooms/feed/ChatroomListTabs.kt | 3 +-- .../amethyst/ui/screen/loggedIn/communities/CommunityScreen.kt | 3 +-- .../amethyst/ui/screen/loggedIn/discover/DiscoverScreen.kt | 2 +- .../amethyst/ui/screen/loggedIn/home/HomeScreen.kt | 3 +-- .../amethyst/ui/screen/loggedIn/polls/PollsScreen.kt | 3 +-- 7 files changed, 8 insertions(+), 11 deletions(-) diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/navigation/bottombars/AppBottomBar.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/navigation/bottombars/AppBottomBar.kt index 0b2ac67dd..f98f1c367 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/navigation/bottombars/AppBottomBar.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/navigation/bottombars/AppBottomBar.kt @@ -21,6 +21,7 @@ package com.vitorpamplona.amethyst.ui.navigation.bottombars import androidx.compose.foundation.Canvas +import androidx.compose.foundation.background import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.RowScope @@ -71,6 +72,7 @@ private fun RenderBottomMenu( modifier = Modifier .fillMaxWidth() + .background(MaterialTheme.colorScheme.background) .windowInsetsPadding(windowInsets) .consumeWindowInsets(windowInsets) .height(50.dp), diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/bookmarkgroups/old/OldBookmarkListScreen.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/bookmarkgroups/old/OldBookmarkListScreen.kt index 3e0b8176a..39f5a2dcc 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/bookmarkgroups/old/OldBookmarkListScreen.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/bookmarkgroups/old/OldBookmarkListScreen.kt @@ -43,7 +43,6 @@ import androidx.compose.runtime.getValue import androidx.compose.runtime.remember import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.ui.Modifier -import androidx.compose.ui.graphics.Color import androidx.compose.ui.platform.LocalContext import androidx.lifecycle.compose.collectAsStateWithLifecycle import androidx.lifecycle.viewmodel.compose.viewModel @@ -110,7 +109,7 @@ private fun RenderOldBookmarkScreen( Column { TopBarWithBackButton(stringRes(id = R.string.old_bookmarks_title), nav::popBack) SecondaryTabRow( - containerColor = Color.Transparent, + containerColor = MaterialTheme.colorScheme.background, contentColor = MaterialTheme.colorScheme.onBackground, selectedTabIndex = pagerState.currentPage, modifier = TabRowHeight, diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/chats/rooms/feed/ChatroomListTabs.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/chats/rooms/feed/ChatroomListTabs.kt index d168e99ed..8168e1c64 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/chats/rooms/feed/ChatroomListTabs.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/chats/rooms/feed/ChatroomListTabs.kt @@ -46,7 +46,6 @@ import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier -import androidx.compose.ui.graphics.Color import com.vitorpamplona.amethyst.R import com.vitorpamplona.amethyst.commons.ui.feeds.FeedContentState import com.vitorpamplona.amethyst.ui.components.M3ActionDialog @@ -81,7 +80,7 @@ fun MessagesTabHeader( Box(Modifier.fillMaxWidth()) { SecondaryTabRow( - containerColor = Color.Transparent, + containerColor = MaterialTheme.colorScheme.background, contentColor = MaterialTheme.colorScheme.onBackground, selectedTabIndex = pagerState.currentPage, modifier = TabRowHeight, diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/communities/CommunityScreen.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/communities/CommunityScreen.kt index 3edfcadb8..48f750733 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/communities/CommunityScreen.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/communities/CommunityScreen.kt @@ -40,7 +40,6 @@ import androidx.compose.runtime.remember import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier -import androidx.compose.ui.graphics.Color import androidx.compose.ui.unit.dp import androidx.lifecycle.viewmodel.compose.viewModel import com.vitorpamplona.amethyst.R @@ -168,7 +167,7 @@ fun CommunityScreen( } SecondaryTabRow( - containerColor = Color.Transparent, + containerColor = MaterialTheme.colorScheme.background, contentColor = MaterialTheme.colorScheme.onBackground, modifier = TabRowHeight, selectedTabIndex = pagerState.currentPage, diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/discover/DiscoverScreen.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/discover/DiscoverScreen.kt index dd047f583..41fa39a14 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/discover/DiscoverScreen.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/discover/DiscoverScreen.kt @@ -224,7 +224,7 @@ private fun DiscoverPages( Column { DiscoveryTopBar(accountViewModel, nav) SecondaryScrollableTabRow( - containerColor = Color.Transparent, + containerColor = MaterialTheme.colorScheme.background, contentColor = MaterialTheme.colorScheme.onBackground, selectedTabIndex = pagerState.currentPage, modifier = TabRowHeight, diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/home/HomeScreen.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/home/HomeScreen.kt index 2e838b109..e2a78696a 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/home/HomeScreen.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/home/HomeScreen.kt @@ -53,7 +53,6 @@ import androidx.compose.runtime.remember import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier -import androidx.compose.ui.graphics.Color import androidx.compose.ui.platform.LocalLayoutDirection import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp @@ -185,7 +184,7 @@ private fun HomePages( Column { HomeTopBar(accountViewModel, nav) SecondaryTabRow( - containerColor = Color.Transparent, + containerColor = MaterialTheme.colorScheme.background, contentColor = MaterialTheme.colorScheme.onBackground, modifier = TabRowHeight, selectedTabIndex = pagerState.currentPage, diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/polls/PollsScreen.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/polls/PollsScreen.kt index 0b512d29c..240751b24 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/polls/PollsScreen.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/polls/PollsScreen.kt @@ -34,7 +34,6 @@ import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.rememberCoroutineScope -import androidx.compose.ui.graphics.Color import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.vitorpamplona.amethyst.R import com.vitorpamplona.amethyst.commons.ui.feeds.FeedContentState @@ -131,7 +130,7 @@ private fun PollsPages( Column { PollsTopBar(accountViewModel, nav) SecondaryTabRow( - containerColor = Color.Transparent, + containerColor = MaterialTheme.colorScheme.background, contentColor = MaterialTheme.colorScheme.onBackground, modifier = TabRowHeight, selectedTabIndex = pagerState.currentPage,