Bug 1814995 - Add private tabs to `TabsTray`

fenix/113.0
Noah Bond 1 year ago committed by Ryan VanderMeulen
parent 04424814d2
commit 52bca8072c

@ -44,6 +44,8 @@ fun TabsTray(
.observeAsComposableState { state -> state.mode }.value ?: TabsTrayState.Mode.Normal .observeAsComposableState { state -> state.mode }.value ?: TabsTrayState.Mode.Normal
val normalTabs = tabsTrayStore val normalTabs = tabsTrayStore
.observeAsComposableState { state -> state.normalTabs }.value ?: emptyList() .observeAsComposableState { state -> state.normalTabs }.value ?: emptyList()
val privateTabs = tabsTrayStore
.observeAsComposableState { state -> state.privateTabs }.value ?: emptyList()
val pagerState = rememberPagerState(initialPage = 0) val pagerState = rememberPagerState(initialPage = 0)
val scope = rememberCoroutineScope() val scope = rememberCoroutineScope()
val animateScrollToPage: ((Page) -> Unit) = { page -> val animateScrollToPage: ((Page) -> Unit) = { page ->
@ -86,13 +88,16 @@ fun TabsTray(
} }
} }
Page.PrivateTabs -> { Page.PrivateTabs -> {
Text( if (displayTabsInGrid) {
text = "Private tabs", TabGrid(
modifier = Modifier.padding(all = 16.dp), tabs = privateTabs,
color = FirefoxTheme.colors.textPrimary, )
style = FirefoxTheme.typography.body1, } else {
TabList(
tabs = privateTabs,
) )
} }
}
Page.SyncedTabs -> { Page.SyncedTabs -> {
Text( Text(
text = "Synced tabs", text = "Synced tabs",
@ -113,6 +118,10 @@ private fun TabsTrayPreview() {
val store = TabsTrayStore( val store = TabsTrayStore(
initialState = TabsTrayState( initialState = TabsTrayState(
normalTabs = generateFakeTabsList(), normalTabs = generateFakeTabsList(),
privateTabs = generateFakeTabsList(
tabCount = 7,
isPrivate = true,
),
), ),
) )
@ -142,13 +151,13 @@ private fun TabsTrayMultiSelectPreview() {
} }
} }
private fun generateFakeTabsList(tabCount: Int = 10): List<TabSessionState> { private fun generateFakeTabsList(tabCount: Int = 10, isPrivate: Boolean = false): List<TabSessionState> =
val fakeTab = TabSessionState( List(tabCount) { index ->
id = "tabId", TabSessionState(
id = "tabId$index-$isPrivate",
content = ContentState( content = ContentState(
url = "www.mozilla.com", url = "www.mozilla.com",
private = isPrivate,
), ),
) )
}
return List(tabCount) { fakeTab }
}

Loading…
Cancel
Save