Skip to content

Commit db8e144

Browse files
Handle the case where user enters a username instead of email
1 parent f369a34 commit db8e144

File tree

3 files changed

+23
-15
lines changed

3 files changed

+23
-15
lines changed

WooCommerce/src/main/kotlin/com/woocommerce/android/ui/login/jetpack/wpcom/JetpackActivationWPComEmailScreen.kt

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ import androidx.compose.material.icons.Icons.Filled
1818
import androidx.compose.material.icons.filled.Clear
1919
import androidx.compose.runtime.Composable
2020
import androidx.compose.runtime.livedata.observeAsState
21-
import androidx.compose.ui.ExperimentalComposeUiApi
2221
import androidx.compose.ui.Modifier
2322
import androidx.compose.ui.platform.LocalSoftwareKeyboardController
2423
import androidx.compose.ui.res.dimensionResource
@@ -47,7 +46,6 @@ fun JetpackActivationWPComEmailScreen(viewModel: JetpackActivationWPComEmailView
4746
}
4847
}
4948

50-
@OptIn(ExperimentalComposeUiApi::class)
5149
@Composable
5250
fun JetpackActivationWPComEmailScreen(
5351
viewState: JetpackActivationWPComEmailViewModel.ViewState,
@@ -115,6 +113,11 @@ fun JetpackActivationWPComEmailScreen(
115113
}
116114
)
117115
)
116+
Spacer(modifier = Modifier.height(dimensionResource(id = R.dimen.minor_100)))
117+
Text(
118+
style = MaterialTheme.typography.caption,
119+
text = stringResource(id = R.string.login_jetpack_connection_create_account)
120+
)
118121
}
119122

120123
Spacer(modifier = Modifier.weight(1f))

WooCommerce/src/main/kotlin/com/woocommerce/android/ui/login/jetpack/wpcom/JetpackActivationWPComEmailViewModel.kt

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import androidx.lifecycle.SavedStateHandle
44
import androidx.lifecycle.asLiveData
55
import androidx.lifecycle.viewModelScope
66
import com.woocommerce.android.OnChangedException
7+
import com.woocommerce.android.R
78
import com.woocommerce.android.analytics.AnalyticsEvent.JETPACK_SETUP_LOGIN_FLOW
89
import com.woocommerce.android.analytics.AnalyticsTracker
910
import com.woocommerce.android.analytics.AnalyticsTrackerWrapper
@@ -23,7 +24,6 @@ import kotlinx.coroutines.flow.combine
2324
import kotlinx.coroutines.launch
2425
import org.wordpress.android.fluxc.store.AccountStore.AuthOptionsError
2526
import org.wordpress.android.fluxc.store.AccountStore.AuthOptionsErrorType
26-
import org.wordpress.android.login.R
2727
import javax.inject.Inject
2828

2929
@HiltViewModel
@@ -93,9 +93,7 @@ class JetpackActivationWPComEmailViewModel @Inject constructor(
9393
onSuccess = {
9494
if (it.isPasswordless) {
9595
triggerEvent(
96-
ShowMagicLinkScreen(
97-
emailOrUsername, navArgs.jetpackStatus, isNewWpComAccount = false
98-
)
96+
ShowMagicLinkScreen(emailOrUsername, navArgs.jetpackStatus, isNewWpComAccount = false)
9997
)
10098
} else {
10199
triggerEvent(ShowPasswordScreen(emailOrUsername, navArgs.jetpackStatus))
@@ -106,16 +104,20 @@ class JetpackActivationWPComEmailViewModel @Inject constructor(
106104

107105
when (failure?.type) {
108106
AuthOptionsErrorType.UNKNOWN_USER -> {
109-
if (FeatureFlag.JETPACK_FLOW_ACCOUNT_CREATION.isEnabled() &&
110-
StringUtils.isValidEmail(emailOrUsername)
111-
) {
112-
triggerEvent(
113-
ShowMagicLinkScreen(
114-
emailOrUsername, navArgs.jetpackStatus, isNewWpComAccount = true
107+
when {
108+
!StringUtils.isValidEmail(emailOrUsername) ->
109+
errorMessage.value = R.string.username_not_registered_wpcom
110+
111+
FeatureFlag.JETPACK_FLOW_ACCOUNT_CREATION.isEnabled() ->
112+
triggerEvent(
113+
ShowMagicLinkScreen(
114+
emailOrUsername,
115+
navArgs.jetpackStatus,
116+
isNewWpComAccount = true
117+
)
115118
)
116-
)
117-
} else {
118-
errorMessage.value = R.string.email_not_registered_wpcom
119+
120+
else -> errorMessage.value = R.string.email_not_registered_wpcom
119121
}
120122
}
121123

WooCommerce/src/main/res/values/strings.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -365,6 +365,8 @@
365365
<string name="login_site_credentials_fetching_site">Fetching site…</string>
366366
<string name="login_site_credentials_web_authorization_connection_rejected">Unable to login because application password creation is not approved.</string>
367367
<string name="login_app_login_malformed_link">We couldn\'t process your app login request</string>
368+
<string name="login_jetpack_connection_create_account">If you don\'t have an account, we\'ll use this email to create one.</string>
369+
368370
<!--
369371
My Store View
370372
-->
@@ -3428,6 +3430,7 @@
34283430
<string name="login_magic_link_button">Log in with magic link</string>
34293431

34303432
<string name="email_not_registered_wpcom">Hmm, we can\'t find a WordPress.com account connected to this email address.</string>
3433+
<string name="username_not_registered_wpcom">Hmm, we can\'t find a WordPress.com account connected to this username address. You can enter an email to create a new account</string>
34313434
<string name="login_magic_links_label">We\'ll email you a link that\'ll log you in instantly, no password needed.</string>
34323435
<string name="login_get_link_by_email">Get a login link by email</string>
34333436
<string name="signup_magic_link_message">We’ve emailed you a signup link to create your new WordPress.com account. Check your email on this device, and tap the link in the email you receive from WordPress.com.</string>

0 commit comments

Comments
 (0)