mirror of
https://github.com/msfjarvis/compose-lobsters
synced 2025-08-18 04:27:02 +05:30
app: remove LobstersTopAppBar
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
This commit is contained in:
parent
4cac015176
commit
a28d5085bb
6 changed files with 0 additions and 112 deletions
|
@ -1,74 +0,0 @@
|
|||
package dev.msfjarvis.lobsters.ui.main
|
||||
|
||||
import androidx.compose.ui.graphics.asAndroidBitmap
|
||||
import androidx.compose.ui.test.captureToImage
|
||||
import androidx.compose.ui.test.junit4.createComposeRule
|
||||
import androidx.compose.ui.test.onRoot
|
||||
import com.karumi.shot.ScreenshotTest
|
||||
import dev.msfjarvis.lobsters.ui.DarkTestTheme
|
||||
import dev.msfjarvis.lobsters.ui.LightTestTheme
|
||||
import dev.msfjarvis.lobsters.ui.navigation.Destination
|
||||
import org.junit.Rule
|
||||
import org.junit.Test
|
||||
|
||||
class LobstersTopBarTest : ScreenshotTest {
|
||||
|
||||
@get:Rule
|
||||
val composeTestRule = createComposeRule()
|
||||
|
||||
@Test
|
||||
fun showsRefreshIconWhenOnHottestPostsScreen_DarkTheme() {
|
||||
composeTestRule.setContent {
|
||||
DarkTestTheme {
|
||||
LobstersTopBar(
|
||||
currentDestination = Destination.Hottest,
|
||||
reloadPosts = { /*TODO*/ }
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
compareScreenshot(composeTestRule.onRoot().captureToImage().asAndroidBitmap())
|
||||
}
|
||||
|
||||
@Test
|
||||
fun showsRefreshIconWhenOnHottestPostsScreen_LightTheme() {
|
||||
composeTestRule.setContent {
|
||||
LightTestTheme {
|
||||
LobstersTopBar(
|
||||
currentDestination = Destination.Hottest,
|
||||
reloadPosts = { /*TODO*/ }
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
compareScreenshot(composeTestRule.onRoot().captureToImage().asAndroidBitmap())
|
||||
}
|
||||
|
||||
@Test
|
||||
fun doesNotShowRefreshIconWhenOnSavedPostsScreen_DarkTheme() {
|
||||
composeTestRule.setContent {
|
||||
DarkTestTheme {
|
||||
LobstersTopBar(
|
||||
currentDestination = Destination.Saved,
|
||||
reloadPosts = { /*TODO*/ }
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
compareScreenshot(composeTestRule.onRoot().captureToImage().asAndroidBitmap())
|
||||
}
|
||||
|
||||
@Test
|
||||
fun doesNotShowRefreshIconWhenOnSavedPostsScreen_LightTheme() {
|
||||
composeTestRule.setContent {
|
||||
LightTestTheme {
|
||||
LobstersTopBar(
|
||||
currentDestination = Destination.Saved,
|
||||
reloadPosts = { /*TODO*/ }
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
compareScreenshot(composeTestRule.onRoot().captureToImage().asAndroidBitmap())
|
||||
}
|
||||
}
|
|
@ -1,14 +1,11 @@
|
|||
package dev.msfjarvis.lobsters.ui.main
|
||||
|
||||
import androidx.compose.animation.ExperimentalAnimationApi
|
||||
import androidx.compose.foundation.clickable
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.foundation.lazy.rememberLazyListState
|
||||
import androidx.compose.material.BottomNavigation
|
||||
import androidx.compose.material.BottomNavigationItem
|
||||
import androidx.compose.material.Scaffold
|
||||
import androidx.compose.material.Text
|
||||
import androidx.compose.material.TopAppBar
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.collectAsState
|
||||
import androidx.compose.runtime.getValue
|
||||
|
@ -16,7 +13,6 @@ import androidx.compose.runtime.rememberCoroutineScope
|
|||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.platform.testTag
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.lifecycle.viewmodel.compose.viewModel
|
||||
import androidx.navigation.compose.KEY_ROUTE
|
||||
import androidx.navigation.compose.NavHost
|
||||
|
@ -25,7 +21,6 @@ import androidx.navigation.compose.currentBackStackEntryAsState
|
|||
import androidx.navigation.compose.navigate
|
||||
import androidx.navigation.compose.rememberNavController
|
||||
import androidx.paging.compose.collectAsLazyPagingItems
|
||||
import dev.msfjarvis.lobsters.R
|
||||
import dev.msfjarvis.lobsters.ui.navigation.Destination
|
||||
import dev.msfjarvis.lobsters.ui.posts.HottestPosts
|
||||
import dev.msfjarvis.lobsters.ui.posts.SavedPosts
|
||||
|
@ -56,12 +51,6 @@ fun LobstersApp() {
|
|||
}
|
||||
|
||||
Scaffold(
|
||||
topBar = {
|
||||
LobstersTopBar(
|
||||
currentDestination = currentDestination,
|
||||
reloadPosts = { viewModel.reloadPosts() },
|
||||
)
|
||||
},
|
||||
bottomBar = {
|
||||
LobstersBottomNav(
|
||||
currentDestination,
|
||||
|
@ -91,33 +80,6 @@ fun LobstersApp() {
|
|||
}
|
||||
}
|
||||
|
||||
@OptIn(ExperimentalAnimationApi::class)
|
||||
@Composable
|
||||
fun LobstersTopBar(
|
||||
currentDestination: Destination,
|
||||
reloadPosts: () -> Unit,
|
||||
) {
|
||||
TopAppBar(
|
||||
title = {
|
||||
Text(
|
||||
text = stringResource(id = R.string.app_name),
|
||||
modifier = Modifier.padding(vertical = 8.dp),
|
||||
)
|
||||
},
|
||||
actions = {
|
||||
if (currentDestination == Destination.Hottest) {
|
||||
IconResource(
|
||||
resourceId = R.drawable.ic_refresh_24px,
|
||||
contentDescription = stringResource(id = R.string.refresh_posts_content_description),
|
||||
modifier = Modifier
|
||||
.padding(horizontal = 8.dp, vertical = 8.dp)
|
||||
.clickable { reloadPosts() },
|
||||
)
|
||||
}
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
@Composable
|
||||
fun LobstersBottomNav(
|
||||
currentDestination: Destination,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue