fixed onboarding top bar (#616)

* fixed onboarding top bar

* fixed onboarding top bar

* fixed onboarding top bar

* fixed onboarding top bar

* fixed onboarding top bar

* Fix tests

Co-authored-by: Carter Jernigan <git@carterjernigan.com>
This commit is contained in:
Alex 2022-10-14 11:02:44 +02:00 committed by GitHub
parent 83b79afe4c
commit 3d1d8fd363
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 7 additions and 39 deletions

View File

@ -3,6 +3,7 @@ package co.electriccoin.zcash.ui.screen.onboarding.view
import androidx.compose.ui.test.assertHasClickAction
import androidx.compose.ui.test.assertIsEnabled
import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.test.onNodeWithContentDescription
import androidx.compose.ui.test.onNodeWithText
import androidx.compose.ui.test.performClick
import androidx.test.filters.MediumTest
@ -88,7 +89,7 @@ class OnboardingViewTest : UiTestPrerequisites() {
it.assertHasClickAction()
}
composeTestRule.onNodeWithText(getStringResource(R.string.onboarding_back)).also {
composeTestRule.onNodeWithContentDescription(getStringResource(R.string.onboarding_back)).also {
it.assertExists()
it.assertHasClickAction()
}
@ -125,7 +126,7 @@ class OnboardingViewTest : UiTestPrerequisites() {
it.assertHasClickAction()
}
composeTestRule.onNodeWithText(getStringResource(R.string.onboarding_back)).also {
composeTestRule.onNodeWithContentDescription(getStringResource(R.string.onboarding_back)).also {
it.assertExists()
it.assertHasClickAction()
}
@ -160,7 +161,7 @@ class OnboardingViewTest : UiTestPrerequisites() {
it.assertDoesNotExist()
}
composeTestRule.onNodeWithText(getStringResource(R.string.onboarding_back)).also {
composeTestRule.onNodeWithContentDescription(getStringResource(R.string.onboarding_back)).also {
it.assertExists()
it.assertIsEnabled()
it.assertHasClickAction()

View File

@ -7,8 +7,6 @@ import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.rememberScrollState
@ -37,7 +35,6 @@ import androidx.compose.ui.res.painterResource
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.Preview
import co.electriccoin.zcash.ui.R
import co.electriccoin.zcash.ui.design.MINIMAL_WEIGHT
import co.electriccoin.zcash.ui.design.component.Body
import co.electriccoin.zcash.ui.design.component.GradientSurface
import co.electriccoin.zcash.ui.design.component.Header
@ -66,10 +63,6 @@ fun ComposablePreview() {
}
}
// Pending internal discussion on where the navigation should live.
// This toggles between the app bar or custom buttons below the app bar
private const val IS_NAVIGATION_IN_APP_BAR = false
/**
* @param onImportWallet Callback when the user decides to import an existing wallet.
* @param onCreateWallet Callback when the user decides to create a new wallet.
@ -110,9 +103,8 @@ private fun OnboardingTopAppBar(
TopAppBar(
title = { Text(text = stringResource(id = R.string.app_name)) },
navigationIcon =
if (IS_NAVIGATION_IN_APP_BAR && currentStage.hasPrevious()) {
{
navigationIcon = {
if (currentStage.hasPrevious()) {
IconButton(onboardingState::goPrevious) {
Icon(
imageVector = Icons.Filled.ArrowBack,
@ -120,11 +112,9 @@ private fun OnboardingTopAppBar(
)
}
}
} else {
{ Unit }
},
actions = {
if (IS_NAVIGATION_IN_APP_BAR && currentStage.hasNext()) {
if (currentStage.hasNext()) {
NavigationButton(onboardingState::goToEnd, stringResource(R.string.onboarding_skip))
}
@ -165,10 +155,6 @@ fun OnboardingMainContent(
Column(
Modifier.padding(top = paddingValues.calculateTopPadding())
) {
if (!IS_NAVIGATION_IN_APP_BAR) {
TopNavButtons(onboardingState)
}
val onboardingStage = onboardingState.current.collectAsState().value
when (onboardingStage) {
@ -180,25 +166,6 @@ fun OnboardingMainContent(
}
}
@Composable
private fun TopNavButtons(onboardingState: OnboardingState) {
val currentStage = onboardingState.current.collectAsState().value
Row(modifier = Modifier.fillMaxWidth()) {
if (currentStage.hasPrevious()) {
NavigationButton(onboardingState::goPrevious, stringResource(R.string.onboarding_back))
}
Spacer(
Modifier
.fillMaxWidth()
.weight(MINIMAL_WEIGHT, true)
)
if (currentStage.hasNext()) {
NavigationButton(onboardingState::goToEnd, stringResource(R.string.onboarding_skip))
}
}
}
@Composable
private fun BottomNav(
currentStage: OnboardingStage,