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:
parent
83b79afe4c
commit
3d1d8fd363
|
@ -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()
|
||||
|
|
|
@ -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,
|
||||
|
|
Loading…
Reference in New Issue