Merge pull request #1994 from vitorpamplona/claude/migrate-tabrow-material3-FlqJl

Replace TabRow and ScrollableTabRow with Secondary variants
This commit is contained in:
Vitor Pamplona
2026-03-28 14:43:54 -04:00
committed by GitHub
12 changed files with 24 additions and 24 deletions
@@ -27,7 +27,7 @@ import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.pager.HorizontalPager import androidx.compose.foundation.pager.HorizontalPager
import androidx.compose.foundation.pager.rememberPagerState import androidx.compose.foundation.pager.rememberPagerState
import androidx.compose.material3.MaterialTheme import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.ScrollableTabRow import androidx.compose.material3.SecondaryScrollableTabRow
import androidx.compose.material3.Tab import androidx.compose.material3.Tab
import androidx.compose.material3.Text import androidx.compose.material3.Text
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
@@ -110,7 +110,7 @@ private fun RenderBookmarkScreen(
topBar = { topBar = {
Column { Column {
TopBarWithBackButton(stringRes(id = R.string.bookmarks_title), nav::popBack) TopBarWithBackButton(stringRes(id = R.string.bookmarks_title), nav::popBack)
ScrollableTabRow( SecondaryScrollableTabRow(
containerColor = Color.Transparent, containerColor = Color.Transparent,
contentColor = MaterialTheme.colorScheme.onBackground, contentColor = MaterialTheme.colorScheme.onBackground,
selectedTabIndex = pagerState.currentPage, selectedTabIndex = pagerState.currentPage,
@@ -39,8 +39,8 @@ import androidx.compose.material3.IconButton
import androidx.compose.material3.ListItem import androidx.compose.material3.ListItem
import androidx.compose.material3.MaterialTheme import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Scaffold import androidx.compose.material3.Scaffold
import androidx.compose.material3.SecondaryTabRow
import androidx.compose.material3.Tab import androidx.compose.material3.Tab
import androidx.compose.material3.TabRow
import androidx.compose.material3.Text import androidx.compose.material3.Text
import androidx.compose.material3.TopAppBarDefaults import androidx.compose.material3.TopAppBarDefaults
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
@@ -279,7 +279,7 @@ fun BookmarkGroupHeaderTabs(
} }
} }
TabRow( SecondaryTabRow(
containerColor = Color.Transparent, containerColor = Color.Transparent,
contentColor = MaterialTheme.colorScheme.onBackground, contentColor = MaterialTheme.colorScheme.onBackground,
selectedTabIndex = pagerState.currentPage, selectedTabIndex = pagerState.currentPage,
@@ -34,8 +34,8 @@ import androidx.compose.material.icons.outlined.MoveToInbox
import androidx.compose.material3.Icon import androidx.compose.material3.Icon
import androidx.compose.material3.IconButton import androidx.compose.material3.IconButton
import androidx.compose.material3.MaterialTheme import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.SecondaryTabRow
import androidx.compose.material3.Tab import androidx.compose.material3.Tab
import androidx.compose.material3.TabRow
import androidx.compose.material3.Text import androidx.compose.material3.Text
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.runtime.Immutable import androidx.compose.runtime.Immutable
@@ -80,7 +80,7 @@ fun MessagesTabHeader(
val coroutineScope = rememberCoroutineScope() val coroutineScope = rememberCoroutineScope()
Box(Modifier.fillMaxWidth()) { Box(Modifier.fillMaxWidth()) {
TabRow( SecondaryTabRow(
containerColor = Color.Transparent, containerColor = Color.Transparent,
contentColor = MaterialTheme.colorScheme.onBackground, contentColor = MaterialTheme.colorScheme.onBackground,
selectedTabIndex = pagerState.currentPage, selectedTabIndex = pagerState.currentPage,
@@ -30,9 +30,9 @@ import androidx.compose.foundation.pager.HorizontalPager
import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.IconButton import androidx.compose.material3.IconButton
import androidx.compose.material3.MaterialTheme import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.SecondaryTabRow
import androidx.compose.material3.Surface import androidx.compose.material3.Surface
import androidx.compose.material3.Tab import androidx.compose.material3.Tab
import androidx.compose.material3.TabRow
import androidx.compose.material3.Text import androidx.compose.material3.Text
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.mutableStateOf
@@ -167,7 +167,7 @@ fun CommunityScreen(
} }
} }
TabRow( SecondaryTabRow(
containerColor = Color.Transparent, containerColor = Color.Transparent,
contentColor = MaterialTheme.colorScheme.onBackground, contentColor = MaterialTheme.colorScheme.onBackground,
modifier = TabRowHeight, modifier = TabRowHeight,
@@ -41,7 +41,7 @@ import androidx.compose.material3.FloatingActionButton
import androidx.compose.material3.HorizontalDivider import androidx.compose.material3.HorizontalDivider
import androidx.compose.material3.Icon import androidx.compose.material3.Icon
import androidx.compose.material3.MaterialTheme import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.ScrollableTabRow import androidx.compose.material3.SecondaryScrollableTabRow
import androidx.compose.material3.Tab import androidx.compose.material3.Tab
import androidx.compose.material3.Text import androidx.compose.material3.Text
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
@@ -219,7 +219,7 @@ private fun DiscoverPages(
topBar = { topBar = {
Column { Column {
DiscoveryTopBar(accountViewModel, nav) DiscoveryTopBar(accountViewModel, nav)
ScrollableTabRow( SecondaryScrollableTabRow(
containerColor = Color.Transparent, containerColor = Color.Transparent,
contentColor = MaterialTheme.colorScheme.onBackground, contentColor = MaterialTheme.colorScheme.onBackground,
selectedTabIndex = pagerState.currentPage, selectedTabIndex = pagerState.currentPage,
@@ -40,10 +40,10 @@ import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.OutlinedTextField import androidx.compose.material3.OutlinedTextField
import androidx.compose.material3.OutlinedTextFieldDefaults import androidx.compose.material3.OutlinedTextFieldDefaults
import androidx.compose.material3.Scaffold import androidx.compose.material3.Scaffold
import androidx.compose.material3.SecondaryTabRow
import androidx.compose.material3.Surface import androidx.compose.material3.Surface
import androidx.compose.material3.Switch import androidx.compose.material3.Switch
import androidx.compose.material3.Tab import androidx.compose.material3.Tab
import androidx.compose.material3.TabRow
import androidx.compose.material3.Text import androidx.compose.material3.Text
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.LaunchedEffect
@@ -268,7 +268,7 @@ private fun MarkdownPostScreenBody(
HorizontalDivider(modifier = Modifier.padding(vertical = Size5dp)) HorizontalDivider(modifier = Modifier.padding(vertical = Size5dp))
// Edit / Preview tabs // Edit / Preview tabs
TabRow( SecondaryTabRow(
selectedTabIndex = if (postViewModel.showPreview) 1 else 0, selectedTabIndex = if (postViewModel.showPreview) 1 else 0,
) { ) {
Tab( Tab(
@@ -39,8 +39,8 @@ import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.Icon import androidx.compose.material3.Icon
import androidx.compose.material3.IconButton import androidx.compose.material3.IconButton
import androidx.compose.material3.MaterialTheme import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.SecondaryTabRow
import androidx.compose.material3.Tab import androidx.compose.material3.Tab
import androidx.compose.material3.TabRow
import androidx.compose.material3.Text import androidx.compose.material3.Text
import androidx.compose.material3.TopAppBarDefaults import androidx.compose.material3.TopAppBarDefaults
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
@@ -274,7 +274,7 @@ private fun FollowPackFeedTopBar(
) )
} }
TabRow( SecondaryTabRow(
containerColor = Color.Transparent, containerColor = Color.Transparent,
contentColor = MaterialTheme.colorScheme.onBackground, contentColor = MaterialTheme.colorScheme.onBackground,
modifier = TabRowHeight, modifier = TabRowHeight,
@@ -37,8 +37,8 @@ import androidx.compose.foundation.pager.PagerState
import androidx.compose.material3.HorizontalDivider import androidx.compose.material3.HorizontalDivider
import androidx.compose.material3.MaterialTheme import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.OutlinedButton import androidx.compose.material3.OutlinedButton
import androidx.compose.material3.SecondaryTabRow
import androidx.compose.material3.Tab import androidx.compose.material3.Tab
import androidx.compose.material3.TabRow
import androidx.compose.material3.Text import androidx.compose.material3.Text
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.runtime.Immutable import androidx.compose.runtime.Immutable
@@ -178,7 +178,7 @@ private fun HomePages(
topBar = { topBar = {
Column { Column {
HomeTopBar(accountViewModel, nav) HomeTopBar(accountViewModel, nav)
TabRow( SecondaryTabRow(
containerColor = Color.Transparent, containerColor = Color.Transparent,
contentColor = MaterialTheme.colorScheme.onBackground, contentColor = MaterialTheme.colorScheme.onBackground,
modifier = TabRowHeight, modifier = TabRowHeight,
@@ -52,8 +52,8 @@ import androidx.compose.material3.IconButton
import androidx.compose.material3.MaterialTheme import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.OutlinedTextField import androidx.compose.material3.OutlinedTextField
import androidx.compose.material3.Scaffold import androidx.compose.material3.Scaffold
import androidx.compose.material3.SecondaryTabRow
import androidx.compose.material3.Tab import androidx.compose.material3.Tab
import androidx.compose.material3.TabRow
import androidx.compose.material3.Text import androidx.compose.material3.Text
import androidx.compose.material3.TopAppBar import androidx.compose.material3.TopAppBar
import androidx.compose.material3.TopAppBarDefaults import androidx.compose.material3.TopAppBarDefaults
@@ -163,7 +163,7 @@ private fun TopAppTabs(
viewModel: PeopleListViewModel, viewModel: PeopleListViewModel,
pagerState: PagerState, pagerState: PagerState,
) { ) {
TabRow( SecondaryTabRow(
containerColor = Color.Transparent, containerColor = Color.Transparent,
contentColor = MaterialTheme.colorScheme.onBackground, contentColor = MaterialTheme.colorScheme.onBackground,
selectedTabIndex = pagerState.currentPage, selectedTabIndex = pagerState.currentPage,
@@ -36,7 +36,7 @@ import androidx.compose.foundation.rememberScrollState
import androidx.compose.foundation.verticalScroll import androidx.compose.foundation.verticalScroll
import androidx.compose.material3.HorizontalDivider import androidx.compose.material3.HorizontalDivider
import androidx.compose.material3.MaterialTheme import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.ScrollableTabRow import androidx.compose.material3.SecondaryScrollableTabRow
import androidx.compose.material3.Surface import androidx.compose.material3.Surface
import androidx.compose.material3.Tab import androidx.compose.material3.Tab
import androidx.compose.material3.Text import androidx.compose.material3.Text
@@ -410,7 +410,7 @@ private fun RenderScreen(
Column { Column {
ProfileHeader(baseUser, appRecommendations, externalIdentities, nav, accountViewModel) ProfileHeader(baseUser, appRecommendations, externalIdentities, nav, accountViewModel)
ScrollableTabRow( SecondaryScrollableTabRow(
containerColor = Color.Transparent, containerColor = Color.Transparent,
contentColor = MaterialTheme.colorScheme.onBackground, contentColor = MaterialTheme.colorScheme.onBackground,
selectedTabIndex = pagerState.currentPage, selectedTabIndex = pagerState.currentPage,
@@ -51,7 +51,7 @@ import androidx.compose.material3.LocalTextStyle
import androidx.compose.material3.MaterialTheme import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.OutlinedTextField import androidx.compose.material3.OutlinedTextField
import androidx.compose.material3.Scaffold import androidx.compose.material3.Scaffold
import androidx.compose.material3.ScrollableTabRow import androidx.compose.material3.SecondaryScrollableTabRow
import androidx.compose.material3.Snackbar import androidx.compose.material3.Snackbar
import androidx.compose.material3.Tab import androidx.compose.material3.Tab
import androidx.compose.material3.Text import androidx.compose.material3.Text
@@ -272,7 +272,7 @@ private fun RelayManagementContent(
} }
if (tabs.isNotEmpty()) { if (tabs.isNotEmpty()) {
ScrollableTabRow( SecondaryScrollableTabRow(
selectedTabIndex = selectedTab.coerceAtMost(tabs.size - 1), selectedTabIndex = selectedTab.coerceAtMost(tabs.size - 1),
edgePadding = 8.dp, edgePadding = 8.dp,
) { ) {
@@ -38,7 +38,7 @@ import androidx.compose.material3.HorizontalDivider
import androidx.compose.material3.MaterialTheme import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.OutlinedTextField import androidx.compose.material3.OutlinedTextField
import androidx.compose.material3.Scaffold import androidx.compose.material3.Scaffold
import androidx.compose.material3.ScrollableTabRow import androidx.compose.material3.SecondaryScrollableTabRow
import androidx.compose.material3.Switch import androidx.compose.material3.Switch
import androidx.compose.material3.Tab import androidx.compose.material3.Tab
import androidx.compose.material3.Text import androidx.compose.material3.Text
@@ -171,7 +171,7 @@ fun SecurityFiltersScreen(
HorizontalDivider(thickness = DividerThickness) HorizontalDivider(thickness = DividerThickness)
ScrollableTabRow( SecondaryScrollableTabRow(
containerColor = MaterialTheme.colorScheme.background, containerColor = MaterialTheme.colorScheme.background,
contentColor = MaterialTheme.colorScheme.onBackground, contentColor = MaterialTheme.colorScheme.onBackground,
edgePadding = 8.dp, edgePadding = 8.dp,