|  | @@ -1,56 +1,54 @@
 | 
	
		
			
				|  |  |  package eu.kanade.presentation.library.components
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  import androidx.compose.foundation.layout.Column
 | 
	
		
			
				|  |  | +import androidx.compose.material3.MaterialTheme
 | 
	
		
			
				|  |  |  import androidx.compose.material3.ScrollableTabRow
 | 
	
		
			
				|  |  |  import androidx.compose.material3.Tab
 | 
	
		
			
				|  |  |  import androidx.compose.runtime.Composable
 | 
	
		
			
				|  |  |  import androidx.compose.runtime.State
 | 
	
		
			
				|  |  |  import androidx.compose.runtime.getValue
 | 
	
		
			
				|  |  | -import androidx.compose.runtime.mutableStateOf
 | 
	
		
			
				|  |  | -import androidx.compose.runtime.remember
 | 
	
		
			
				|  |  | -import androidx.compose.runtime.rememberCoroutineScope
 | 
	
		
			
				|  |  |  import androidx.compose.ui.unit.dp
 | 
	
		
			
				|  |  |  import eu.kanade.domain.category.model.Category
 | 
	
		
			
				|  |  |  import eu.kanade.presentation.category.visualName
 | 
	
		
			
				|  |  |  import eu.kanade.presentation.components.AppStateBanners
 | 
	
		
			
				|  |  |  import eu.kanade.presentation.components.Divider
 | 
	
		
			
				|  |  | -import eu.kanade.presentation.components.PagerState
 | 
	
		
			
				|  |  |  import eu.kanade.presentation.components.TabIndicator
 | 
	
		
			
				|  |  |  import eu.kanade.presentation.components.TabText
 | 
	
		
			
				|  |  | -import kotlinx.coroutines.launch
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  @Composable
 | 
	
		
			
				|  |  |  fun LibraryTabs(
 | 
	
		
			
				|  |  | -    state: PagerState,
 | 
	
		
			
				|  |  |      categories: List<Category>,
 | 
	
		
			
				|  |  | +    currentPageIndex: Int,
 | 
	
		
			
				|  |  |      showMangaCount: Boolean,
 | 
	
		
			
				|  |  |      isDownloadOnly: Boolean,
 | 
	
		
			
				|  |  |      isIncognitoMode: Boolean,
 | 
	
		
			
				|  |  |      getNumberOfMangaForCategory: @Composable (Long) -> State<Int?>,
 | 
	
		
			
				|  |  | +    onTabItemClick: (Int) -> Unit,
 | 
	
		
			
				|  |  |  ) {
 | 
	
		
			
				|  |  | -    val scope = rememberCoroutineScope()
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |      Column {
 | 
	
		
			
				|  |  |          ScrollableTabRow(
 | 
	
		
			
				|  |  | -            selectedTabIndex = state.currentPage,
 | 
	
		
			
				|  |  | +            selectedTabIndex = currentPageIndex,
 | 
	
		
			
				|  |  |              edgePadding = 0.dp,
 | 
	
		
			
				|  |  | -            indicator = { TabIndicator(it[state.currentPage]) },
 | 
	
		
			
				|  |  | +            indicator = { TabIndicator(it[currentPageIndex]) },
 | 
	
		
			
				|  |  |              // TODO: use default when width is fixed upstream
 | 
	
		
			
				|  |  |              // https://issuetracker.google.com/issues/242879624
 | 
	
		
			
				|  |  |              divider = {},
 | 
	
		
			
				|  |  |          ) {
 | 
	
		
			
				|  |  |              categories.forEachIndexed { index, category ->
 | 
	
		
			
				|  |  | -                val count by if (showMangaCount) {
 | 
	
		
			
				|  |  | -                    getNumberOfMangaForCategory(category.id)
 | 
	
		
			
				|  |  | -                } else {
 | 
	
		
			
				|  |  | -                    remember { mutableStateOf<Int?>(null) }
 | 
	
		
			
				|  |  | -                }
 | 
	
		
			
				|  |  |                  Tab(
 | 
	
		
			
				|  |  | -                    selected = state.currentPage == index,
 | 
	
		
			
				|  |  | -                    onClick = { scope.launch { state.animateScrollToPage(index) } },
 | 
	
		
			
				|  |  | +                    selected = currentPageIndex == index,
 | 
	
		
			
				|  |  | +                    onClick = { onTabItemClick(index) },
 | 
	
		
			
				|  |  |                      text = {
 | 
	
		
			
				|  |  | -                        TabText(category.visualName, count, state.currentPage == index)
 | 
	
		
			
				|  |  | +                        TabText(
 | 
	
		
			
				|  |  | +                            text = category.visualName,
 | 
	
		
			
				|  |  | +                            badgeCount = if (showMangaCount) {
 | 
	
		
			
				|  |  | +                                getNumberOfMangaForCategory(category.id)
 | 
	
		
			
				|  |  | +                            } else {
 | 
	
		
			
				|  |  | +                                null
 | 
	
		
			
				|  |  | +                            }?.value,
 | 
	
		
			
				|  |  | +                        )
 | 
	
		
			
				|  |  |                      },
 | 
	
		
			
				|  |  | +                    unselectedContentColor = MaterialTheme.colorScheme.onSurface,
 | 
	
		
			
				|  |  |                  )
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          }
 |