tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

commit 3157db2a5b406bd617543b88f1edd5457cab81f9
parent 939077064896a1fb6524aa72d563bdf4d5757aec
Author: Devota Aabel <daabel@mozilla.com>
Date:   Thu,  9 Oct 2025 16:38:11 +0000

Bug 1988204- Update Stories Discover More screen to match figma. r=android-reviewers,007

Differential Revision: https://phabricator.services.mozilla.com/D265167

Diffstat:
Mmobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/pocket/ui/StoriesScreen.kt | 44++++++++++++++++++++++++--------------------
Mmobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/pocket/ui/StoryCard.kt | 1+
2 files changed, 25 insertions(+), 20 deletions(-)

diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/pocket/ui/StoriesScreen.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/pocket/ui/StoriesScreen.kt @@ -8,14 +8,16 @@ import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.PaddingValues import androidx.compose.foundation.layout.WindowInsets +import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth -import androidx.compose.foundation.layout.imePadding import androidx.compose.foundation.layout.padding import androidx.compose.foundation.lazy.grid.GridCells import androidx.compose.foundation.lazy.grid.LazyVerticalGrid +import androidx.compose.foundation.lazy.grid.itemsIndexed import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.Icon import androidx.compose.material3.IconButton +import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Scaffold import androidx.compose.material3.Text import androidx.compose.material3.TopAppBar @@ -23,6 +25,7 @@ import androidx.compose.material3.TopAppBarDefaults import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier +import androidx.compose.ui.input.nestedscroll.nestedScroll import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp @@ -49,23 +52,25 @@ fun StoriesScreen( onNavigationIconClick() } + val scrollBehavior = TopAppBarDefaults.enterAlwaysScrollBehavior() Scaffold( topBar = { TopAppBar( title = { Text( text = stringResource(R.string.pocket_stories_header_2), - color = FirefoxTheme.colors.textPrimary, - style = FirefoxTheme.typography.headline6, + color = MaterialTheme.colorScheme.onSurface, + style = FirefoxTheme.typography.headline5, ) }, - modifier = Modifier.fillMaxWidth(), + modifier = Modifier + .fillMaxWidth(), navigationIcon = { IconButton(onClick = onNavigationIconClick) { Icon( painter = painterResource(iconsR.drawable.mozac_ic_back_24), contentDescription = stringResource(R.string.stories_back_button_content_description), - tint = FirefoxTheme.colors.iconPrimary, + tint = MaterialTheme.colorScheme.onSurface, ) } }, @@ -73,10 +78,13 @@ fun StoriesScreen( top = 0.dp, bottom = 0.dp, ), - colors = TopAppBarDefaults.topAppBarColors(containerColor = FirefoxTheme.colors.layer1), + scrollBehavior = scrollBehavior, ) }, - containerColor = FirefoxTheme.colors.layer1, + containerColor = MaterialTheme.colorScheme.surface, + modifier = Modifier + .fillMaxSize() + .nestedScroll(scrollBehavior.nestedScrollConnection), ) { paddingValues -> StoriesScreenContent( state = state, @@ -93,9 +101,7 @@ private fun StoriesScreenContent( interactor: PocketStoriesInteractor, ) { Column( - modifier = Modifier - .padding(paddingValues) - .imePadding(), + modifier = Modifier.padding(top = paddingValues.calculateTopPadding()), horizontalAlignment = Alignment.CenterHorizontally, ) { Stories( @@ -112,17 +118,15 @@ private fun Stories( ) { LazyVerticalGrid( columns = GridCells.Fixed(1), - verticalArrangement = Arrangement.spacedBy(20.dp), - horizontalArrangement = Arrangement.Center, - modifier = Modifier.padding(16.dp), + verticalArrangement = Arrangement.spacedBy(16.dp), + horizontalArrangement = Arrangement.spacedBy(16.dp), ) { - state.pocketStories.forEachIndexed { index, story -> - item { - StoryCard( - story = story, - onClick = interactor::onStoryClicked, - ) - } + itemsIndexed(state.pocketStories) { index, story -> + StoryCard( + modifier = Modifier.padding(horizontal = 16.dp), + story = story, + onClick = interactor::onStoryClicked, + ) } } } diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/pocket/ui/StoryCard.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/pocket/ui/StoryCard.kt @@ -55,6 +55,7 @@ internal fun StoryCard( }, modifier = modifier, shape = cardShape, + elevation = CardDefaults.cardElevation(defaultElevation = 1.dp), colors = CardDefaults.cardColors(containerColor = FirefoxTheme.colors.layer2), ) { Column(