mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-10-30 22:07:57 +01:00 
			
		
		
		
	Adjust tab indicator visual (#9219)
Now behaves like the non-compose indicator by showing the swipe progress too
This commit is contained in:
		| @@ -56,7 +56,7 @@ fun TabbedDialog( | ||||
|                 TabRow( | ||||
|                     modifier = Modifier.weight(1f), | ||||
|                     selectedTabIndex = pagerState.currentPage, | ||||
|                     indicator = { TabIndicator(it[pagerState.currentPage]) }, | ||||
|                     indicator = { TabIndicator(it[pagerState.currentPage], pagerState.currentPageOffsetFraction) }, | ||||
|                     divider = {}, | ||||
|                 ) { | ||||
|                     tabTitles.fastForEachIndexed { i, tab -> | ||||
|   | ||||
| @@ -69,7 +69,7 @@ fun TabbedScreen( | ||||
|         ) { | ||||
|             TabRow( | ||||
|                 selectedTabIndex = state.currentPage, | ||||
|                 indicator = { TabIndicator(it[state.currentPage]) }, | ||||
|                 indicator = { TabIndicator(it[state.currentPage], state.currentPageOffsetFraction) }, | ||||
|             ) { | ||||
|                 tabs.forEachIndexed { index, tab -> | ||||
|                     Tab( | ||||
|   | ||||
| @@ -65,7 +65,7 @@ fun LibraryContent( | ||||
|             } | ||||
|             LibraryTabs( | ||||
|                 categories = categories, | ||||
|                 currentPageIndex = pagerState.currentPage, | ||||
|                 pagerState = pagerState, | ||||
|                 getNumberOfMangaForCategory = getNumberOfMangaForCategory, | ||||
|             ) { scope.launch { pagerState.animateScrollToPage(it) } } | ||||
|         } | ||||
|   | ||||
| @@ -8,6 +8,7 @@ import androidx.compose.runtime.Composable | ||||
| import androidx.compose.ui.unit.dp | ||||
| import eu.kanade.presentation.category.visualName | ||||
| import tachiyomi.domain.category.model.Category | ||||
| import tachiyomi.presentation.core.components.PagerState | ||||
| import tachiyomi.presentation.core.components.material.Divider | ||||
| import tachiyomi.presentation.core.components.material.TabIndicator | ||||
| import tachiyomi.presentation.core.components.material.TabText | ||||
| @@ -15,22 +16,22 @@ import tachiyomi.presentation.core.components.material.TabText | ||||
| @Composable | ||||
| internal fun LibraryTabs( | ||||
|     categories: List<Category>, | ||||
|     currentPageIndex: Int, | ||||
|     pagerState: PagerState, | ||||
|     getNumberOfMangaForCategory: (Category) -> Int?, | ||||
|     onTabItemClick: (Int) -> Unit, | ||||
| ) { | ||||
|     Column { | ||||
|         ScrollableTabRow( | ||||
|             selectedTabIndex = currentPageIndex, | ||||
|             selectedTabIndex = pagerState.currentPage, | ||||
|             edgePadding = 0.dp, | ||||
|             indicator = { TabIndicator(it[currentPageIndex]) }, | ||||
|             indicator = { TabIndicator(it[pagerState.currentPage], pagerState.currentPageOffsetFraction) }, | ||||
|             // TODO: use default when width is fixed upstream | ||||
|             // https://issuetracker.google.com/issues/242879624 | ||||
|             divider = {}, | ||||
|         ) { | ||||
|             categories.forEachIndexed { index, category -> | ||||
|                 Tab( | ||||
|                     selected = currentPageIndex == index, | ||||
|                     selected = pagerState.currentPage == index, | ||||
|                     onClick = { onTabItemClick(index) }, | ||||
|                     text = { | ||||
|                         TabText( | ||||
|   | ||||
		Reference in New Issue
	
	Block a user