From b87c898a974918ab14f8ae20e0929c7ca4ddb8e7 Mon Sep 17 00:00:00 2001 From: Ademola Fadumo <48495111+demolaf@users.noreply.github.com> Date: Wed, 28 Oct 2026 14:26:22 +0100 Subject: [PATCH 1/5] sample(auth): add Grid and Coffee Spark themes with a live switcher to the full customization demo --- .../FullCustomizationDemoActivity.kt | 124 ++++++---- .../auth/fullcustomization/common/AuthPage.kt | 31 +-- .../common/AuthTextFieldStyle.kt | 93 ++++++-- .../fullcustomization/common/CtaButton.kt | 22 +- .../common/HardOffsetShadow.kt | 9 +- .../common/SheetProviderButton.kt | 13 +- .../fullcustomization/common/ThemeChrome.kt | 218 ++++++++++++++++++ .../screens/email/EmailAuthUI.kt | 14 +- .../screens/email/pages/EmailEntryStep.kt | 103 ++++++--- .../screens/email/pages/LoginStep.kt | 23 +- .../screens/email/pages/SignUpStep.kt | 24 +- .../screens/mfa/pages/ConfigureSmsStep.kt | 12 +- .../screens/mfa/pages/ConfigureTotpStep.kt | 9 +- .../screens/phone/PhoneSignInUI.kt | 12 +- .../screens/phone/pages/PhoneEntryStep.kt | 31 +-- .../phone/pages/PhoneVerificationStep.kt | 21 +- .../screens/reauth/ReauthEmailStep.kt | 23 +- .../theme/FullCustomizationShapes.kt | 8 - .../theme/FullCustomizationStyle.kt | 189 +++++++++++++++ .../theme/FullCustomizationTheme.kt | 28 +-- .../theme/FullCustomizationTypography.kt | 38 ++- .../fullcustomization/theme/GridPattern.kt | 130 +++++++++++ .../full_customization_spark_blob.webp | Bin 0 -> 656184 bytes app/src/main/res/font/chivo_mono_bold.ttf | Bin 0 -> 59356 bytes app/src/main/res/font/chivo_mono_medium.ttf | Bin 0 -> 59404 bytes app/src/main/res/font/jetbrains_mono_bold.ttf | Bin 0 -> 112092 bytes .../main/res/font/jetbrains_mono_medium.ttf | Bin 0 -> 112204 bytes app/src/main/res/font/rowdies_bold.ttf | Bin 0 -> 74600 bytes app/src/main/res/font/rowdies_regular.ttf | Bin 0 -> 74648 bytes 29 files changed, 893 insertions(+), 282 deletions(-) create mode 100644 app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/common/ThemeChrome.kt delete mode 100644 app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/theme/FullCustomizationShapes.kt create mode 100644 app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/theme/FullCustomizationStyle.kt create mode 100644 app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/theme/GridPattern.kt create mode 100644 app/src/main/res/drawable-nodpi/full_customization_spark_blob.webp create mode 100644 app/src/main/res/font/chivo_mono_bold.ttf create mode 100644 app/src/main/res/font/chivo_mono_medium.ttf create mode 100644 app/src/main/res/font/jetbrains_mono_bold.ttf create mode 100644 app/src/main/res/font/jetbrains_mono_medium.ttf create mode 100644 app/src/main/res/font/rowdies_bold.ttf create mode 100644 app/src/main/res/font/rowdies_regular.ttf diff --git a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/FullCustomizationDemoActivity.kt b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/FullCustomizationDemoActivity.kt index d3cccd059b..85ac614cf7 100644 --- a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/FullCustomizationDemoActivity.kt +++ b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/FullCustomizationDemoActivity.kt @@ -5,17 +5,23 @@ import android.util.Log import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.activity.enableEdgeToEdge -import androidx.compose.foundation.Image import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.statusBarsPadding import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Surface import androidx.compose.runtime.Composable +import androidx.compose.runtime.getValue +import androidx.compose.runtime.setValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier -import androidx.compose.ui.layout.ContentScale import androidx.compose.ui.platform.LocalContext -import androidx.compose.ui.res.painterResource +import androidx.compose.ui.unit.dp +import androidx.core.content.edit import com.firebase.ui.auth.AuthException import com.firebase.ui.auth.FirebaseAuthUI import com.firebase.ui.auth.configuration.AuthUIConfiguration @@ -34,7 +40,10 @@ import com.firebaseui.android.demo.auth.fullcustomization.screens.mfa.MfaChallen import com.firebaseui.android.demo.auth.fullcustomization.screens.mfa.MfaEnrollmentUI import com.firebaseui.android.demo.auth.fullcustomization.screens.phone.PhoneSignInUI import com.firebaseui.android.demo.auth.fullcustomization.screens.reauth.ReauthUI +import com.firebaseui.android.demo.auth.fullcustomization.common.ThemeBackground +import com.firebaseui.android.demo.auth.fullcustomization.common.ThemeSwitcher import com.firebaseui.android.demo.auth.fullcustomization.theme.FullCustomizationTheme +import com.firebaseui.android.demo.auth.fullcustomization.theme.FullCustomizationThemeId import com.firebase.ui.auth.util.EmailLinkConstants import com.google.firebase.auth.actionCodeSettings @@ -42,6 +51,9 @@ class FullCustomizationDemoActivity : ComponentActivity() { companion object { /** Marks this demo's email links so MainActivity can route the return trip back here. */ const val EMAIL_LINK_ORIGIN = "fullcustomization" + + private const val THEME_PREFERENCES = "full_customization" + private const val THEME_KEY = "theme" } override fun onCreate(savedInstanceState: Bundle?) { @@ -97,46 +109,69 @@ class FullCustomizationDemoActivity : ComponentActivity() { } } + val preferences = getSharedPreferences(THEME_PREFERENCES, MODE_PRIVATE) + setContent { - FullCustomizationTheme { - Surface( - modifier = Modifier.fillMaxSize(), - color = MaterialTheme.colorScheme.background - ) { - FirebaseAuthScreen( - configuration = configuration, - authUI = authUI, - emailLink = emailLink, - onSignInSuccess = { result -> - Log.d("FullCustomizationDemo", "Auth success: ${result.user?.uid}") - }, - onSignInFailure = { exception: AuthException -> - Log.e("FullCustomizationDemo", "Auth failed", exception) - }, - onSignInCancelled = { - Log.d("FullCustomizationDemo", "Auth cancelled") - }, - mfaConfiguration = MfaConfiguration( - allowedFactors = listOf(MfaFactor.Sms, MfaFactor.Totp), - requireEnrollment = false, - ), - customMethodPickerLayout = { providers, onProviderSelected -> - MainUI( - authUI = authUI, - configuration = configuration, - providers = providers, - onProviderSelected = onProviderSelected, - ) - }, - // Covers the email flows the library navigates to itself. - emailContent = { state -> EmailAuthUI(state) }, - phoneContent = { state -> PhoneSignInUI(state) }, - mfaEnrollmentContent = { state -> MfaEnrollmentUI(state) }, - mfaChallengeContent = { state -> MfaChallengeUI(state) }, - reauthContent = { state -> ReauthUI(state) }, - authenticatedContent = { state, uiContext -> - AuthenticatedUI(state = state, uiContext = uiContext) + var themeId by remember { + mutableStateOf( + FullCustomizationThemeId.entries.firstOrNull { + it.name == preferences.getString(THEME_KEY, null) + } ?: FullCustomizationThemeId.Doggo + ) + } + FullCustomizationTheme(themeId = themeId) { + Box(modifier = Modifier.fillMaxSize()) { + Surface( + modifier = Modifier.fillMaxSize(), + color = MaterialTheme.colorScheme.background + ) { + FirebaseAuthScreen( + configuration = configuration, + authUI = authUI, + emailLink = emailLink, + onSignInSuccess = { result -> + Log.d("FullCustomizationDemo", "Auth success: ${result.user?.uid}") + }, + onSignInFailure = { exception: AuthException -> + Log.e("FullCustomizationDemo", "Auth failed", exception) + }, + onSignInCancelled = { + Log.d("FullCustomizationDemo", "Auth cancelled") + }, + mfaConfiguration = MfaConfiguration( + allowedFactors = listOf(MfaFactor.Sms, MfaFactor.Totp), + requireEnrollment = false, + ), + customMethodPickerLayout = { providers, onProviderSelected -> + MainUI( + authUI = authUI, + configuration = configuration, + providers = providers, + onProviderSelected = onProviderSelected, + ) + }, + // Covers the email flows the library navigates to itself. + emailContent = { state -> EmailAuthUI(state) }, + phoneContent = { state -> PhoneSignInUI(state) }, + mfaEnrollmentContent = { state -> MfaEnrollmentUI(state) }, + mfaChallengeContent = { state -> MfaChallengeUI(state) }, + reauthContent = { state -> ReauthUI(state) }, + authenticatedContent = { state, uiContext -> + AuthenticatedUI(state = state, uiContext = uiContext) + }, + ) + } + // Over every screen, so the theme can be switched mid-flow. + ThemeSwitcher( + selected = themeId, + onSelect = { selected -> + themeId = selected + preferences.edit { putString(THEME_KEY, selected.name) } }, + modifier = Modifier + .align(Alignment.TopCenter) + .statusBarsPadding() + .padding(top = 8.dp), ) } } @@ -153,12 +188,7 @@ private fun MainUI( ) { val context = LocalContext.current Box(modifier = Modifier.fillMaxSize()) { - Image( - painter = painterResource(id = R.drawable.custom_background), - contentDescription = null, - contentScale = ContentScale.Crop, - modifier = Modifier.fillMaxSize() - ) + ThemeBackground() Column(modifier = Modifier.fillMaxSize()) { // AuthMethodPickerUI builds its own EmailAuthScreen per step, so none is needed here. AuthMethodPickerUI( diff --git a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/common/AuthPage.kt b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/common/AuthPage.kt index 8bb588dfdb..e029982357 100644 --- a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/common/AuthPage.kt +++ b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/common/AuthPage.kt @@ -1,7 +1,6 @@ package com.firebaseui.android.demo.auth.fullcustomization.common import androidx.annotation.DrawableRes -import androidx.compose.foundation.Image import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.BoxWithConstraints @@ -14,20 +13,15 @@ import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.heightIn import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.safeDrawingPadding -import androidx.compose.foundation.layout.size import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.verticalScroll -import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Surface -import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier -import androidx.compose.ui.layout.ContentScale -import androidx.compose.ui.res.painterResource import androidx.compose.ui.semantics.contentDescription import androidx.compose.ui.semantics.semantics import androidx.compose.ui.unit.dp -import com.firebaseui.android.demo.R +import com.firebaseui.android.demo.auth.fullcustomization.theme.LocalFullCustomizationStyle /** * The page frame shared by the MFA and reauthentication screens: mascot, headline, a single @@ -52,12 +46,7 @@ fun AuthPage( ) { Box(modifier = Modifier.fillMaxSize()) { // Outside safeDrawingPadding so it runs edge to edge under the system bars. - Image( - painter = painterResource(id = R.drawable.custom_background), - contentDescription = null, - contentScale = ContentScale.Crop, - modifier = Modifier.fillMaxSize(), - ) + ThemeBackground() BoxWithConstraints( modifier = Modifier @@ -74,16 +63,10 @@ fun AuthPage( Spacer(modifier = Modifier.weight(1f)) Column(modifier = Modifier.fillMaxWidth()) { - Image( - painter = painterResource(id = mascot), - contentDescription = mascotDescription, - modifier = Modifier.size(72.dp), - ) - Spacer(modifier = Modifier.height(8.dp)) - Text( - text = title, - style = MaterialTheme.typography.headlineSmall, - color = MaterialTheme.colorScheme.primary, + ThemeHeader( + title = title, + mascot = mascot, + mascotDescription = mascotDescription, ) Spacer(modifier = Modifier.height(24.dp)) @@ -92,7 +75,7 @@ fun AuthPage( modifier = Modifier .fillMaxWidth() .semantics { contentDescription = cardContentDescription }, - color = MaterialTheme.colorScheme.surface, + color = LocalFullCustomizationStyle.current.cardFill, shape = AuthFieldShape, ) { Column( diff --git a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/common/AuthTextFieldStyle.kt b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/common/AuthTextFieldStyle.kt index ca66ee7bc2..a67189630a 100644 --- a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/common/AuthTextFieldStyle.kt +++ b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/common/AuthTextFieldStyle.kt @@ -1,22 +1,34 @@ package com.firebaseui.android.demo.auth.fullcustomization.common import androidx.compose.foundation.Image +import androidx.compose.foundation.interaction.MutableInteractionSource +import androidx.compose.foundation.interaction.collectIsFocusedAsState +import androidx.compose.foundation.layout.defaultMinSize +import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.foundation.text.BasicTextField import androidx.compose.foundation.text.KeyboardOptions +import androidx.compose.material3.ExperimentalMaterial3Api +import androidx.compose.material3.LocalTextStyle import androidx.compose.material3.MaterialTheme -import androidx.compose.material3.OutlinedTextField import androidx.compose.material3.OutlinedTextFieldDefaults import androidx.compose.material3.Text import androidx.compose.material3.TextFieldColors import androidx.compose.runtime.Composable +import androidx.compose.runtime.getValue +import androidx.compose.runtime.remember import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.Shape +import androidx.compose.ui.graphics.SolidColor +import androidx.compose.ui.graphics.ColorFilter import androidx.compose.ui.res.painterResource +import androidx.compose.ui.semantics.semantics import androidx.compose.ui.text.input.VisualTransformation import androidx.compose.ui.unit.dp import com.firebaseui.android.demo.R +import com.firebaseui.android.demo.auth.fullcustomization.theme.LocalFullCustomizationStyle val AuthFieldShape = RoundedCornerShape(24.dp) @@ -29,6 +41,12 @@ fun authTextFieldColors(): TextFieldColors = OutlinedTextFieldDefaults.colors( focusedBorderColor = MaterialTheme.colorScheme.secondary, ) +/** + * An outlined text field in the theme's field shape. Built on [BasicTextField] rather than + * `OutlinedTextField` because only the decoration box takes an unfocused border width, and Grid and + * Coffee Spark draw theirs at 2dp. + */ +@OptIn(ExperimentalMaterial3Api::class) @Composable fun FullCustomizationTextField( value: String, @@ -44,24 +62,67 @@ fun FullCustomizationTextField( singleLine: Boolean = true, visualTransformation: VisualTransformation = VisualTransformation.None, keyboardOptions: KeyboardOptions = KeyboardOptions.Default, - shape: Shape = AuthFieldShape, + shape: Shape = LocalFullCustomizationStyle.current.fieldShape, ) { - OutlinedTextField( + val colors = authTextFieldColors() + val interactionSource = remember { MutableInteractionSource() } + val isFocused by interactionSource.collectIsFocusedAsState() + val textColor = when { + !enabled -> colors.disabledTextColor + isError -> colors.errorTextColor + isFocused -> colors.focusedTextColor + else -> colors.unfocusedTextColor + } + val labelSlot: (@Composable () -> Unit)? = label?.let { { Text(it) } } + + BasicTextField( value = value, onValueChange = onValueChange, - modifier = modifier, - label = label?.let { { Text(it) } }, - placeholder = placeholder?.let { { Text(it) } }, - leadingIcon = leadingIcon, - trailingIcon = trailingIcon, + // OutlinedTextField's top inset, so a floating label isn't clipped by the field above. + modifier = modifier + .then( + if (label != null) Modifier.semantics(mergeDescendants = true) {}.padding(top = 8.dp) else Modifier + ) + .defaultMinSize( + minWidth = OutlinedTextFieldDefaults.MinWidth, + minHeight = OutlinedTextFieldDefaults.MinHeight, + ), enabled = enabled, - isError = isError, - supportingText = supportingText?.let { { Text(it) } }, + textStyle = LocalTextStyle.current.merge(color = textColor), + keyboardOptions = keyboardOptions, singleLine = singleLine, + maxLines = if (singleLine) 1 else Int.MAX_VALUE, visualTransformation = visualTransformation, - keyboardOptions = keyboardOptions, - shape = shape, - colors = authTextFieldColors(), + interactionSource = interactionSource, + cursorBrush = SolidColor(if (isError) colors.errorCursorColor else colors.cursorColor), + decorationBox = { innerTextField -> + OutlinedTextFieldDefaults.DecorationBox( + value = value, + innerTextField = innerTextField, + enabled = enabled, + singleLine = singleLine, + visualTransformation = visualTransformation, + interactionSource = interactionSource, + isError = isError, + label = labelSlot, + placeholder = placeholder?.let { { Text(it) } }, + leadingIcon = leadingIcon, + trailingIcon = trailingIcon, + supportingText = supportingText?.let { { Text(it) } }, + colors = colors, + container = { + OutlinedTextFieldDefaults.Container( + enabled = enabled, + isError = isError, + interactionSource = interactionSource, + colors = colors, + shape = shape, + focusedBorderThickness = OutlinedTextFieldDefaults.FocusedBorderThickness, + unfocusedBorderThickness = LocalFullCustomizationStyle.current.fieldBorderWidth, + ) + }, + ) + }, ) } @@ -70,6 +131,12 @@ fun EmailFieldIcon() { Image( painter = painterResource(R.drawable.email_at_sign), contentDescription = null, + // The art is Doggo's; the other themes recolour it to their field text. + colorFilter = if (LocalFullCustomizationStyle.current.showsMascot) { + null + } else { + ColorFilter.tint(MaterialTheme.colorScheme.onSurfaceVariant) + }, modifier = Modifier.size(24.dp), ) } diff --git a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/common/CtaButton.kt b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/common/CtaButton.kt index edb251c936..9500d4531e 100644 --- a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/common/CtaButton.kt +++ b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/common/CtaButton.kt @@ -14,9 +14,7 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import androidx.compose.ui.unit.dp -import com.firebaseui.android.demo.auth.fullcustomization.theme.ButtonShape - -private val CtaShadowColor = Color(0xFF5D0B47) +import com.firebaseui.android.demo.auth.fullcustomization.theme.LocalFullCustomizationStyle @Composable fun CtaButton( @@ -25,20 +23,26 @@ fun CtaButton( modifier: Modifier = Modifier, enabled: Boolean = true, isLoading: Boolean = false, - colors: ButtonColors = ButtonDefaults.buttonColors(), + colors: ButtonColors = ButtonDefaults.buttonColors( + containerColor = LocalFullCustomizationStyle.current.primaryButton.container, + contentColor = LocalFullCustomizationStyle.current.primaryButton.content, + ), ) { + val style = LocalFullCustomizationStyle.current + val shadow = style.buttonShadow HardOffsetShadow( - shape = ButtonShape, - offsetX = 2.dp, - offsetY = 4.dp, - color = if (enabled) CtaShadowColor else Color.Transparent, + shape = style.buttonShape, + offsetX = shadow?.offset?.x ?: 0.dp, + offsetY = shadow?.offset?.y ?: 0.dp, + color = if (enabled && shadow != null) shadow.color else Color.Transparent, modifier = modifier.fillMaxWidth(), ) { Button( onClick = onClick, enabled = enabled, - shape = ButtonShape, + shape = style.buttonShape, colors = colors, + border = style.buttonBorder, contentPadding = PaddingValues(horizontal = 24.dp, vertical = 10.dp), modifier = Modifier .fillMaxWidth() diff --git a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/common/HardOffsetShadow.kt b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/common/HardOffsetShadow.kt index 628bffafd2..208a999430 100644 --- a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/common/HardOffsetShadow.kt +++ b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/common/HardOffsetShadow.kt @@ -3,21 +3,22 @@ package com.firebaseui.android.demo.auth.fullcustomization.common import androidx.compose.foundation.background import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.offset -import androidx.compose.material3.MaterialTheme import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.Shape import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp +import com.firebaseui.android.demo.auth.fullcustomization.theme.LocalFullCustomizationStyle @Composable fun HardOffsetShadow( shape: Shape, modifier: Modifier = Modifier, - offsetX: Dp = 3.dp, - offsetY: Dp = 6.dp, - color: Color = MaterialTheme.colorScheme.primaryContainer, + // Defaults to the theme's card shadow, which Grid and Coffee Spark don't draw. + offsetX: Dp = LocalFullCustomizationStyle.current.cardShadow?.offset?.x ?: 0.dp, + offsetY: Dp = LocalFullCustomizationStyle.current.cardShadow?.offset?.y ?: 0.dp, + color: Color = LocalFullCustomizationStyle.current.cardShadow?.color ?: Color.Transparent, content: @Composable () -> Unit, ) { Box(modifier = modifier) { diff --git a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/common/SheetProviderButton.kt b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/common/SheetProviderButton.kt index 905774fe0e..b8f84153ac 100644 --- a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/common/SheetProviderButton.kt +++ b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/common/SheetProviderButton.kt @@ -28,7 +28,7 @@ import androidx.compose.ui.unit.dp import com.firebase.ui.auth.configuration.auth_provider.AuthProvider import com.firebase.ui.auth.configuration.theme.AuthUIAsset import com.firebase.ui.auth.configuration.theme.ProviderStyleDefaults -import com.firebaseui.android.demo.auth.fullcustomization.theme.ProviderButtonShape +import com.firebaseui.android.demo.auth.fullcustomization.theme.LocalFullCustomizationStyle @Composable fun SheetProviderButton( @@ -48,17 +48,22 @@ fun SheetProviderButton( is AuthProvider.Anonymous -> ProviderStyleDefaults.Anonymous else -> ProviderStyleDefaults.Email } + val theme = LocalFullCustomizationStyle.current val backgroundColor = if (provider is AuthProvider.Phone) { - MaterialTheme.colorScheme.primary + theme.phoneProvider.container } else { style.backgroundColor } - val contentColor = if (provider is AuthProvider.Google) Color.Black else style.contentColor + val contentColor = when (provider) { + is AuthProvider.Google -> Color.Black + is AuthProvider.Phone -> theme.phoneProvider.content + else -> style.contentColor + } val hasWhiteBackground = backgroundColor == Color.White Button( onClick = onClick, - shape = ProviderButtonShape, + shape = theme.providerButtonShape, colors = ButtonDefaults.buttonColors( containerColor = backgroundColor, contentColor = contentColor, diff --git a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/common/ThemeChrome.kt b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/common/ThemeChrome.kt new file mode 100644 index 0000000000..85bfdcd608 --- /dev/null +++ b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/common/ThemeChrome.kt @@ -0,0 +1,218 @@ +package com.firebaseui.android.demo.auth.fullcustomization.common + +import androidx.annotation.DrawableRes +import androidx.compose.foundation.Image +import androidx.compose.foundation.background +import androidx.compose.foundation.border +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.offset +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.requiredSize +import androidx.compose.foundation.layout.size +import androidx.compose.foundation.layout.wrapContentSize +import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.foundation.selection.selectable +import androidx.compose.foundation.selection.selectableGroup +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.outlined.Coffee +import androidx.compose.material.icons.outlined.Palette +import androidx.compose.material3.Icon +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.Surface +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.draw.clipToBounds +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.layout.ContentScale +import androidx.compose.ui.graphics.painter.Painter +import androidx.compose.ui.graphics.vector.rememberVectorPainter +import androidx.compose.ui.res.painterResource +import androidx.compose.ui.semantics.Role +import androidx.compose.ui.semantics.contentDescription +import androidx.compose.ui.semantics.semantics +import androidx.compose.ui.text.TextStyle +import androidx.compose.ui.unit.Dp +import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp +import com.firebaseui.android.demo.R +import com.firebaseui.android.demo.auth.fullcustomization.theme.FullCustomizationThemeId +import com.firebaseui.android.demo.auth.fullcustomization.theme.GridPattern +import com.firebaseui.android.demo.auth.fullcustomization.theme.JetBrainsMono +import com.firebaseui.android.demo.auth.fullcustomization.theme.LocalFullCustomizationStyle + +/** + * The theme's page background, edge to edge. Grid and Coffee Spark place their art at the iOS + * frames' offsets from the top-left corner: "Frame 5" in 20:5467 and "avatar spark" in 20:5769. + */ +@Composable +fun ThemeBackground() { + val style = LocalFullCustomizationStyle.current + when (style.id) { + FullCustomizationThemeId.Doggo -> Image( + painter = painterResource(id = R.drawable.custom_background), + contentDescription = null, + contentScale = ContentScale.Crop, + modifier = Modifier.fillMaxSize(), + ) + FullCustomizationThemeId.Grid -> PlacedArt( + art = rememberVectorPainter(GridPattern), + x = (-269).dp, y = (-75).dp, width = 997.dp, height = 997.dp, + ) + // The export includes the layer's texture and noise effects, so it is larger than the + // 583x568 layer and centred on it. + FullCustomizationThemeId.Spark -> PlacedArt( + art = painterResource(id = R.drawable.full_customization_spark_blob), + x = (-295.8).dp, y = (-317.7).dp, width = 751.dp, height = 735.3.dp, + ) + } +} + +@Composable +private fun PlacedArt(art: Painter, x: Dp, y: Dp, width: Dp, height: Dp) { + Box( + modifier = Modifier + .fillMaxSize() + .background(MaterialTheme.colorScheme.background) + .clipToBounds(), + ) { + Image( + painter = art, + contentDescription = null, + contentScale = ContentScale.FillBounds, + // requiredSize so art larger than the screen keeps its size instead of being squeezed. + modifier = Modifier + .wrapContentSize(align = Alignment.TopStart, unbounded = true) + .offset(x = x, y = y) + .requiredSize(width, height), + ) + } +} + +/** + * A screen's heading: Doggo's [mascot] above the title, Coffee Spark's headline pill above it, and + * the title alone on Grid. + */ +@Composable +fun ThemeHeader( + title: String, + @DrawableRes mascot: Int, + mascotDescription: String, + mascotSize: Dp = 72.dp, +) { + val style = LocalFullCustomizationStyle.current + when (style.id) { + FullCustomizationThemeId.Doggo -> { + Image( + painter = painterResource(id = mascot), + contentDescription = mascotDescription, + modifier = Modifier.size(mascotSize), + ) + Spacer(modifier = Modifier.height(8.dp)) + } + FullCustomizationThemeId.Spark -> { + SparkHeadline() + Spacer(modifier = Modifier.height(24.dp)) + } + FullCustomizationThemeId.Grid -> Unit + } + Text( + text = title, + style = MaterialTheme.typography.headlineSmall, + color = style.titleColor, + ) +} + +/** Figma "headline" (20:5927), Coffee Spark only. */ +@Composable +fun SparkHeadline(modifier: Modifier = Modifier) { + Surface( + color = Color.White, + contentColor = Color(0xFF1C1B1B), + shape = RoundedCornerShape(24.dp), + modifier = modifier + .height(48.dp) + .semantics(mergeDescendants = true) { contentDescription = "headline - Coffee Spark" }, + ) { + Row( + horizontalArrangement = Arrangement.spacedBy(10.dp), + verticalAlignment = Alignment.CenterVertically, + modifier = Modifier.padding(horizontal = 16.dp), + ) { + Icon(imageVector = Icons.Outlined.Coffee, contentDescription = null) + Text( + text = "Coffee Spark", + style = TextStyle(fontFamily = JetBrainsMono, fontSize = 20.sp), + ) + } + } +} + +/** A field-like outline: the theme's field shape and border width in `outlineVariant`. */ +@Composable +fun Modifier.themeFieldBorder(): Modifier { + val style = LocalFullCustomizationStyle.current + return border( + width = style.fieldBorderWidth, + color = MaterialTheme.colorScheme.outlineVariant, + shape = style.fieldShape, + ) +} + +/** Switches the demo between its themes live, on top of whatever screen is showing. */ +@Composable +fun ThemeSwitcher( + selected: FullCustomizationThemeId, + onSelect: (FullCustomizationThemeId) -> Unit, + modifier: Modifier = Modifier, +) { + Surface( + color = Color.White, + contentColor = Color(0xFF1C1B1B), + shape = RoundedCornerShape(percent = 50), + shadowElevation = 2.dp, + modifier = modifier, + ) { + Row( + verticalAlignment = Alignment.CenterVertically, + horizontalArrangement = Arrangement.spacedBy(4.dp), + modifier = Modifier + .padding(4.dp) + .selectableGroup() + .semantics { contentDescription = "theme-switcher" }, + ) { + Icon( + imageVector = Icons.Outlined.Palette, + contentDescription = null, + modifier = Modifier + .padding(start = 8.dp, end = 4.dp) + .size(18.dp), + ) + FullCustomizationThemeId.entries.forEach { theme -> + val isSelected = theme == selected + Text( + text = theme.label, + style = MaterialTheme.typography.labelLarge, + color = if (isSelected) Color.White else Color(0xFF1C1B1B), + modifier = Modifier + .background( + color = if (isSelected) Color(0xFF1C1B1B) else Color.Transparent, + shape = RoundedCornerShape(percent = 50), + ) + .selectable( + selected = isSelected, + role = Role.RadioButton, + onClick = { onSelect(theme) }, + ) + .padding(horizontal = 12.dp, vertical = 6.dp), + ) + } + } + } +} diff --git a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/email/EmailAuthUI.kt b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/email/EmailAuthUI.kt index 06bcecbbe4..d855781c87 100644 --- a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/email/EmailAuthUI.kt +++ b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/email/EmailAuthUI.kt @@ -1,19 +1,16 @@ package com.firebaseui.android.demo.auth.fullcustomization.screens.email -import androidx.compose.foundation.Image import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue +import androidx.compose.runtime.setValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.saveable.rememberSaveable -import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier -import androidx.compose.ui.layout.ContentScale -import androidx.compose.ui.res.painterResource import com.firebase.ui.auth.ui.screens.email.EmailAuthContentState import com.firebase.ui.auth.ui.screens.email.EmailAuthMode -import com.firebaseui.android.demo.R +import com.firebaseui.android.demo.auth.fullcustomization.common.ThemeBackground import com.firebaseui.android.demo.auth.fullcustomization.screens.email.pages.EmailEntryStep import com.firebaseui.android.demo.auth.fullcustomization.screens.email.pages.LoginStep import com.firebaseui.android.demo.auth.fullcustomization.screens.email.pages.SignUpStep @@ -48,12 +45,7 @@ fun EmailAuthUI(state: EmailAuthContentState) { Box(modifier = Modifier.fillMaxSize()) { // The email pages don't paint their own background, so this slot must. - Image( - painter = painterResource(id = R.drawable.custom_background), - contentDescription = null, - contentScale = ContentScale.Crop, - modifier = Modifier.fillMaxSize(), - ) + ThemeBackground() if (!chosen) { EmailEntryStep( diff --git a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/email/pages/EmailEntryStep.kt b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/email/pages/EmailEntryStep.kt index 4b8945ffb8..0557e3da09 100644 --- a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/email/pages/EmailEntryStep.kt +++ b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/email/pages/EmailEntryStep.kt @@ -15,6 +15,7 @@ import androidx.compose.foundation.layout.safeDrawingPadding import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.width import androidx.compose.foundation.rememberScrollState +import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.foundation.verticalScroll import androidx.compose.material.icons.Icons import androidx.compose.material.icons.automirrored.filled.Login @@ -42,7 +43,71 @@ import com.firebaseui.android.demo.auth.fullcustomization.common.CtaButton import com.firebaseui.android.demo.auth.fullcustomization.common.EmailFieldIcon import com.firebaseui.android.demo.auth.fullcustomization.common.FullCustomizationTextField import com.firebaseui.android.demo.auth.fullcustomization.common.HardOffsetShadow -import com.firebaseui.android.demo.auth.fullcustomization.theme.IntroShape +import com.firebaseui.android.demo.auth.fullcustomization.common.SparkHeadline +import com.firebaseui.android.demo.auth.fullcustomization.theme.FullCustomizationThemeId +import com.firebaseui.android.demo.auth.fullcustomization.theme.LocalFullCustomizationStyle + +private val IntroShape = RoundedCornerShape(80.dp) + +/** + * Doggo's mascot over the welcome bubble. The iOS frames have no bubble, so Grid sets the greeting + * as its title and Coffee Spark shows its headline pill. + */ +@Composable +private fun LandingHeadline() { + val style = LocalFullCustomizationStyle.current + when (style.id) { + FullCustomizationThemeId.Doggo -> { + Image( + painter = painterResource(id = R.drawable.full_customization_mascot), + contentDescription = "doggo - cute welcome mascot", + modifier = Modifier + .size(96.dp) + .offset(y = 12.dp) + .zIndex(1f), + ) + + Surface( + color = MaterialTheme.colorScheme.secondary, + shape = IntroShape, + modifier = Modifier + .fillMaxWidth() + .semantics { contentDescription = "intro - welcome headline bubble" }, + ) { + Text( + text = "Hey there,\nWelcome", + style = MaterialTheme.typography.headlineMedium.copy( + textAlign = TextAlign.Center, + brush = Brush.radialGradient( + colors = listOf( + Color(0xFFFFF8F8), + Color(0xFFFFDDB4), + Color(0xFFFFD8EB), + ), + ), + ), + modifier = Modifier + .fillMaxWidth() + .padding(horizontal = 8.dp, vertical = 16.dp), + ) + } + } + FullCustomizationThemeId.Grid -> { + Text( + text = "Hey there,\nWelcome", + style = MaterialTheme.typography.headlineMedium, + color = style.titleColor, + textAlign = TextAlign.Center, + modifier = Modifier.semantics { contentDescription = "title - welcome" }, + ) + Spacer(modifier = Modifier.height(24.dp)) + } + FullCustomizationThemeId.Spark -> { + SparkHeadline() + Spacer(modifier = Modifier.height(24.dp)) + } + } +} @Composable fun EmailEntryStep( @@ -77,39 +142,7 @@ fun EmailEntryStep( modifier = Modifier.fillMaxWidth(), horizontalAlignment = Alignment.CenterHorizontally, ) { - Image( - painter = painterResource(id = R.drawable.full_customization_mascot), - contentDescription = "doggo - cute welcome mascot", - modifier = Modifier - .size(96.dp) - .offset(y = 12.dp) - .zIndex(1f), - ) - - Surface( - color = MaterialTheme.colorScheme.secondary, - shape = IntroShape, - modifier = Modifier - .fillMaxWidth() - .semantics { contentDescription = "intro - welcome headline bubble" }, - ) { - Text( - text = "Hey there,\nWelcome", - style = MaterialTheme.typography.headlineMedium.copy( - textAlign = TextAlign.Center, - brush = Brush.radialGradient( - colors = listOf( - Color(0xFFFFF8F8), - Color(0xFFFFDDB4), - Color(0xFFFFD8EB), - ), - ), - ), - modifier = Modifier - .fillMaxWidth() - .padding(horizontal = 8.dp, vertical = 16.dp), - ) - } + LandingHeadline() HardOffsetShadow( shape = AuthFieldShape, @@ -119,7 +152,7 @@ fun EmailEntryStep( modifier = Modifier .fillMaxWidth() .semantics { contentDescription = "email - sign in card" }, - color = MaterialTheme.colorScheme.surface, + color = LocalFullCustomizationStyle.current.cardFill, shape = AuthFieldShape, ) { Column( diff --git a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/email/pages/LoginStep.kt b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/email/pages/LoginStep.kt index 769e3063af..883ccb3854 100644 --- a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/email/pages/LoginStep.kt +++ b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/email/pages/LoginStep.kt @@ -1,6 +1,5 @@ package com.firebaseui.android.demo.auth.fullcustomization.screens.email.pages -import androidx.compose.foundation.Image import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.BoxWithConstraints @@ -12,7 +11,6 @@ import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.heightIn import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.safeDrawingPadding -import androidx.compose.foundation.layout.size import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.verticalScroll import androidx.compose.material.icons.Icons @@ -27,11 +25,10 @@ import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue +import androidx.compose.runtime.setValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember -import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier -import androidx.compose.ui.res.painterResource import androidx.compose.ui.semantics.contentDescription import androidx.compose.ui.semantics.semantics import androidx.compose.ui.text.input.PasswordVisualTransformation @@ -41,6 +38,8 @@ import androidx.compose.ui.text.style.TextDecoration import androidx.compose.ui.unit.dp import com.firebase.ui.auth.ui.screens.email.EmailAuthContentState import com.firebaseui.android.demo.R +import com.firebaseui.android.demo.auth.fullcustomization.common.ThemeHeader +import com.firebaseui.android.demo.auth.fullcustomization.theme.LocalFullCustomizationStyle import com.firebaseui.android.demo.auth.fullcustomization.common.AuthFieldShape import com.firebaseui.android.demo.auth.fullcustomization.common.CtaButton import com.firebaseui.android.demo.auth.fullcustomization.common.EmailFieldIcon @@ -70,16 +69,10 @@ fun LoginStep( Spacer(modifier = Modifier.weight(1f)) Column(modifier = Modifier.fillMaxWidth()) { - Image( - painter = painterResource(id = R.drawable.full_customization_mascot), - contentDescription = "doggo - cute welcome mascot", - modifier = Modifier.size(72.dp), - ) - Spacer(modifier = Modifier.height(8.dp)) - Text( - text = "Login", - style = MaterialTheme.typography.headlineSmall, - color = MaterialTheme.colorScheme.primary, + ThemeHeader( + title = "Login", + mascot = R.drawable.full_customization_mascot, + mascotDescription = "doggo - cute welcome mascot", ) Spacer(modifier = Modifier.height(24.dp)) @@ -88,7 +81,7 @@ fun LoginStep( modifier = Modifier .fillMaxWidth() .semantics { contentDescription = "email - login card" }, - color = MaterialTheme.colorScheme.surface, + color = LocalFullCustomizationStyle.current.cardFill, shape = AuthFieldShape, ) { Column( diff --git a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/email/pages/SignUpStep.kt b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/email/pages/SignUpStep.kt index 7f7dd2dff5..289247983f 100644 --- a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/email/pages/SignUpStep.kt +++ b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/email/pages/SignUpStep.kt @@ -1,6 +1,5 @@ package com.firebaseui.android.demo.auth.fullcustomization.screens.email.pages -import androidx.compose.foundation.Image import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.BoxWithConstraints import androidx.compose.foundation.layout.Column @@ -12,22 +11,19 @@ import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.heightIn import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.safeDrawingPadding -import androidx.compose.foundation.layout.size import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.text.KeyboardOptions import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.foundation.verticalScroll -import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue +import androidx.compose.runtime.setValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember -import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier -import androidx.compose.ui.res.painterResource import androidx.compose.ui.semantics.contentDescription import androidx.compose.ui.semantics.semantics import androidx.compose.ui.text.input.KeyboardType @@ -35,6 +31,8 @@ import androidx.compose.ui.text.input.PasswordVisualTransformation import androidx.compose.ui.unit.dp import com.firebase.ui.auth.ui.screens.email.EmailAuthContentState import com.firebaseui.android.demo.R +import com.firebaseui.android.demo.auth.fullcustomization.common.ThemeHeader +import com.firebaseui.android.demo.auth.fullcustomization.theme.LocalFullCustomizationStyle import com.firebaseui.android.demo.auth.fullcustomization.common.AuthFieldShape import com.firebaseui.android.demo.auth.fullcustomization.common.CtaButton import com.firebaseui.android.demo.auth.fullcustomization.common.EmailFieldIcon @@ -90,16 +88,10 @@ fun SignUpStep( Spacer(modifier = Modifier.weight(1f)) Column(modifier = Modifier.fillMaxWidth()) { - Image( - painter = painterResource(id = R.drawable.full_customization_mascot), - contentDescription = "doggo - cute welcome mascot", - modifier = Modifier.size(72.dp), - ) - Spacer(modifier = Modifier.height(8.dp)) - Text( - text = "Sign up", - style = MaterialTheme.typography.headlineSmall, - color = MaterialTheme.colorScheme.primary, + ThemeHeader( + title = "Sign up", + mascot = R.drawable.full_customization_mascot, + mascotDescription = "doggo - cute welcome mascot", ) Spacer(modifier = Modifier.height(24.dp)) @@ -108,7 +100,7 @@ fun SignUpStep( modifier = Modifier .fillMaxWidth() .semantics { contentDescription = "sign up card" }, - color = MaterialTheme.colorScheme.surface, + color = LocalFullCustomizationStyle.current.cardFill, shape = AuthFieldShape, ) { Column( diff --git a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/mfa/pages/ConfigureSmsStep.kt b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/mfa/pages/ConfigureSmsStep.kt index d73284fb9c..3e02c11678 100644 --- a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/mfa/pages/ConfigureSmsStep.kt +++ b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/mfa/pages/ConfigureSmsStep.kt @@ -1,6 +1,5 @@ package com.firebaseui.android.demo.auth.fullcustomization.screens.mfa.pages -import androidx.compose.foundation.border import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Spacer @@ -25,7 +24,8 @@ import androidx.compose.ui.unit.dp import com.firebase.ui.auth.mfa.MfaEnrollmentContentState import com.firebase.ui.auth.ui.components.CountrySelector import com.firebaseui.android.demo.R -import com.firebaseui.android.demo.auth.fullcustomization.common.AuthFieldShape +import com.firebaseui.android.demo.auth.fullcustomization.common.themeFieldBorder +import com.firebaseui.android.demo.auth.fullcustomization.theme.LocalFullCustomizationStyle import com.firebaseui.android.demo.auth.fullcustomization.common.AuthPage import com.firebaseui.android.demo.auth.fullcustomization.common.CtaButton import com.firebaseui.android.demo.auth.fullcustomization.common.FullCustomizationTextField @@ -46,14 +46,10 @@ fun ConfigureSmsStep(state: MfaEnrollmentContentState) { state.selectedCountry?.let { country -> Surface( color = Color.White, - shape = AuthFieldShape, + shape = LocalFullCustomizationStyle.current.fieldShape, modifier = Modifier .requiredHeight(56.dp) - .border( - width = 1.dp, - color = MaterialTheme.colorScheme.outlineVariant, - shape = AuthFieldShape, - ) + .themeFieldBorder() .semantics { contentDescription = "country code selector" }, ) { CountrySelector( diff --git a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/mfa/pages/ConfigureTotpStep.kt b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/mfa/pages/ConfigureTotpStep.kt index 562fe7919a..4ead363834 100644 --- a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/mfa/pages/ConfigureTotpStep.kt +++ b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/mfa/pages/ConfigureTotpStep.kt @@ -1,6 +1,5 @@ package com.firebaseui.android.demo.auth.fullcustomization.screens.mfa.pages -import androidx.compose.foundation.border import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height @@ -19,7 +18,7 @@ import androidx.compose.ui.unit.dp import com.firebase.ui.auth.mfa.MfaEnrollmentContentState import com.firebase.ui.auth.ui.components.QrCodeImage import com.firebaseui.android.demo.R -import com.firebaseui.android.demo.auth.fullcustomization.common.AuthFieldShape +import com.firebaseui.android.demo.auth.fullcustomization.common.themeFieldBorder import com.firebaseui.android.demo.auth.fullcustomization.common.AuthPage import com.firebaseui.android.demo.auth.fullcustomization.common.CtaButton @@ -43,11 +42,7 @@ fun ConfigureTotpStep(state: MfaEnrollmentContentState) { size = 200.dp, modifier = Modifier .align(Alignment.CenterHorizontally) - .border( - width = 1.dp, - color = MaterialTheme.colorScheme.outlineVariant, - shape = AuthFieldShape, - ) + .themeFieldBorder() .padding(12.dp) .semantics { contentDescription = "mfa - totp qr code" }, ) diff --git a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/phone/PhoneSignInUI.kt b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/phone/PhoneSignInUI.kt index ecf4bc41a1..ac56c216e1 100644 --- a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/phone/PhoneSignInUI.kt +++ b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/phone/PhoneSignInUI.kt @@ -1,27 +1,19 @@ package com.firebaseui.android.demo.auth.fullcustomization.screens.phone -import androidx.compose.foundation.Image import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier -import androidx.compose.ui.layout.ContentScale -import androidx.compose.ui.res.painterResource import com.firebase.ui.auth.ui.screens.phone.PhoneAuthContentState import com.firebase.ui.auth.ui.screens.phone.PhoneAuthStep -import com.firebaseui.android.demo.R +import com.firebaseui.android.demo.auth.fullcustomization.common.ThemeBackground import com.firebaseui.android.demo.auth.fullcustomization.screens.phone.pages.PhoneEntryStep import com.firebaseui.android.demo.auth.fullcustomization.screens.phone.pages.PhoneVerificationStep @Composable fun PhoneSignInUI(state: PhoneAuthContentState) { Box(modifier = Modifier.fillMaxSize()) { - Image( - painter = painterResource(id = R.drawable.custom_background), - contentDescription = null, - contentScale = ContentScale.Crop, - modifier = Modifier.fillMaxSize(), - ) + ThemeBackground() when (state.step) { PhoneAuthStep.EnterPhoneNumber -> PhoneEntryStep(state) PhoneAuthStep.EnterVerificationCode -> PhoneVerificationStep(state) diff --git a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/phone/pages/PhoneEntryStep.kt b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/phone/pages/PhoneEntryStep.kt index 87e7d8ed45..7a19e6c62c 100644 --- a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/phone/pages/PhoneEntryStep.kt +++ b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/phone/pages/PhoneEntryStep.kt @@ -1,7 +1,5 @@ package com.firebaseui.android.demo.auth.fullcustomization.screens.phone.pages -import androidx.compose.foundation.Image -import androidx.compose.foundation.border import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.BoxWithConstraints import androidx.compose.foundation.layout.Column @@ -14,7 +12,6 @@ import androidx.compose.foundation.layout.heightIn import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.requiredHeight import androidx.compose.foundation.layout.safeDrawingPadding -import androidx.compose.foundation.layout.size import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.text.KeyboardOptions import androidx.compose.foundation.verticalScroll @@ -28,7 +25,6 @@ import androidx.compose.runtime.Composable import androidx.compose.runtime.remember import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color -import androidx.compose.ui.res.painterResource import androidx.compose.ui.semantics.contentDescription import androidx.compose.ui.semantics.semantics import androidx.compose.ui.text.input.KeyboardType @@ -36,6 +32,9 @@ import androidx.compose.ui.unit.dp import com.firebase.ui.auth.ui.components.CountrySelector import com.firebase.ui.auth.ui.screens.phone.PhoneAuthContentState import com.firebaseui.android.demo.R +import com.firebaseui.android.demo.auth.fullcustomization.common.themeFieldBorder +import com.firebaseui.android.demo.auth.fullcustomization.common.ThemeHeader +import com.firebaseui.android.demo.auth.fullcustomization.theme.LocalFullCustomizationStyle import com.firebaseui.android.demo.auth.fullcustomization.common.AuthFieldShape import com.firebaseui.android.demo.auth.fullcustomization.common.CtaButton import com.firebaseui.android.demo.auth.fullcustomization.common.FullCustomizationTextField @@ -63,16 +62,10 @@ fun PhoneEntryStep(state: PhoneAuthContentState) { Spacer(modifier = Modifier.weight(1f)) Column(modifier = Modifier.fillMaxWidth()) { - Image( - painter = painterResource(id = R.drawable.full_customization_phone_mascot), - contentDescription = "doggo - cute phone sign-in mascot", - modifier = Modifier.size(72.dp), - ) - Spacer(modifier = Modifier.height(8.dp)) - Text( - text = "Login by phone number", - style = MaterialTheme.typography.headlineSmall, - color = MaterialTheme.colorScheme.primary, + ThemeHeader( + title = "Login by phone number", + mascot = R.drawable.full_customization_phone_mascot, + mascotDescription = "doggo - cute phone sign-in mascot", ) Spacer(modifier = Modifier.height(24.dp)) @@ -81,7 +74,7 @@ fun PhoneEntryStep(state: PhoneAuthContentState) { modifier = Modifier .fillMaxWidth() .semantics { contentDescription = "phone - sign in card" }, - color = MaterialTheme.colorScheme.surface, + color = LocalFullCustomizationStyle.current.cardFill, shape = AuthFieldShape, ) { Column( @@ -94,14 +87,10 @@ fun PhoneEntryStep(state: PhoneAuthContentState) { ) { Surface( color = Color.White, - shape = AuthFieldShape, + shape = LocalFullCustomizationStyle.current.fieldShape, modifier = Modifier .requiredHeight(56.dp) - .border( - width = 1.dp, - color = MaterialTheme.colorScheme.outlineVariant, - shape = AuthFieldShape, - ) + .themeFieldBorder() .semantics { contentDescription = "country code selector" }, ) { CountrySelector( diff --git a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/phone/pages/PhoneVerificationStep.kt b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/phone/pages/PhoneVerificationStep.kt index 8e9a153182..897a171d3d 100644 --- a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/phone/pages/PhoneVerificationStep.kt +++ b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/phone/pages/PhoneVerificationStep.kt @@ -1,6 +1,5 @@ package com.firebaseui.android.demo.auth.fullcustomization.screens.phone.pages -import androidx.compose.foundation.Image import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.BoxWithConstraints @@ -12,7 +11,6 @@ import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.heightIn import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.safeDrawingPadding -import androidx.compose.foundation.layout.size import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.verticalScroll import androidx.compose.material3.MaterialTheme @@ -21,7 +19,6 @@ import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier -import androidx.compose.ui.res.painterResource import androidx.compose.ui.semantics.contentDescription import androidx.compose.ui.semantics.semantics import androidx.compose.ui.text.style.TextAlign @@ -29,6 +26,8 @@ import androidx.compose.ui.unit.dp import com.firebase.ui.auth.ui.components.VerificationCodeInputField import com.firebase.ui.auth.ui.screens.phone.PhoneAuthContentState import com.firebaseui.android.demo.R +import com.firebaseui.android.demo.auth.fullcustomization.common.ThemeHeader +import com.firebaseui.android.demo.auth.fullcustomization.theme.LocalFullCustomizationStyle import com.firebaseui.android.demo.auth.fullcustomization.common.AuthFieldShape import com.firebaseui.android.demo.auth.fullcustomization.common.CtaButton import com.firebaseui.android.demo.auth.fullcustomization.common.HardOffsetShadow @@ -50,16 +49,10 @@ fun PhoneVerificationStep(state: PhoneAuthContentState) { Spacer(modifier = Modifier.weight(1f)) Column(modifier = Modifier.fillMaxWidth()) { - Image( - painter = painterResource(id = R.drawable.full_customization_phone_mascot), - contentDescription = "doggo - cute phone sign-in mascot", - modifier = Modifier.size(72.dp), - ) - Spacer(modifier = Modifier.height(8.dp)) - Text( - text = "Enter your code", - style = MaterialTheme.typography.headlineSmall, - color = MaterialTheme.colorScheme.primary, + ThemeHeader( + title = "Enter your code", + mascot = R.drawable.full_customization_phone_mascot, + mascotDescription = "doggo - cute phone sign-in mascot", ) Spacer(modifier = Modifier.height(24.dp)) @@ -68,7 +61,7 @@ fun PhoneVerificationStep(state: PhoneAuthContentState) { modifier = Modifier .fillMaxWidth() .semantics { contentDescription = "phone - verification card" }, - color = MaterialTheme.colorScheme.surface, + color = LocalFullCustomizationStyle.current.cardFill, shape = AuthFieldShape, ) { Column( diff --git a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/reauth/ReauthEmailStep.kt b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/reauth/ReauthEmailStep.kt index d22ee432be..d907e99734 100644 --- a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/reauth/ReauthEmailStep.kt +++ b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/reauth/ReauthEmailStep.kt @@ -1,6 +1,5 @@ package com.firebaseui.android.demo.auth.fullcustomization.screens.reauth -import androidx.compose.foundation.Image import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer @@ -9,7 +8,6 @@ import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.imePadding import androidx.compose.foundation.layout.navigationBarsPadding import androidx.compose.foundation.layout.padding -import androidx.compose.foundation.layout.size import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.Visibility import androidx.compose.material.icons.filled.VisibilityOff @@ -19,11 +17,10 @@ import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue +import androidx.compose.runtime.setValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember -import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier -import androidx.compose.ui.res.painterResource import androidx.compose.ui.semantics.contentDescription import androidx.compose.ui.semantics.semantics import androidx.compose.ui.text.style.TextAlign @@ -33,6 +30,7 @@ import androidx.compose.ui.text.input.VisualTransformation import androidx.compose.ui.unit.dp import com.firebase.ui.auth.ui.screens.email.EmailAuthContentState import com.firebaseui.android.demo.R +import com.firebaseui.android.demo.auth.fullcustomization.common.ThemeHeader import com.firebaseui.android.demo.auth.fullcustomization.common.CtaButton import com.firebaseui.android.demo.auth.fullcustomization.common.FullCustomizationTextField @@ -62,18 +60,11 @@ fun ReauthEmailStep(state: EmailAuthContentState) { .padding(bottom = 24.dp) .semantics { contentDescription = "reauth - email password card" }, ) { - Image( - painter = painterResource(id = R.drawable.full_customization_mascot), - contentDescription = "doggo - cute welcome mascot", - modifier = Modifier.size(56.dp), - ) - - Spacer(modifier = Modifier.height(8.dp)) - - Text( - text = "Confirm it's you", - style = MaterialTheme.typography.headlineSmall, - color = MaterialTheme.colorScheme.primary, + ThemeHeader( + title = "Confirm it's you", + mascot = R.drawable.full_customization_mascot, + mascotDescription = "doggo - cute welcome mascot", + mascotSize = 56.dp, ) Spacer(modifier = Modifier.height(8.dp)) diff --git a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/theme/FullCustomizationShapes.kt b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/theme/FullCustomizationShapes.kt deleted file mode 100644 index 483b0b741d..0000000000 --- a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/theme/FullCustomizationShapes.kt +++ /dev/null @@ -1,8 +0,0 @@ -package com.firebaseui.android.demo.auth.fullcustomization.theme - -import androidx.compose.foundation.shape.RoundedCornerShape -import androidx.compose.ui.unit.dp - -val IntroShape = RoundedCornerShape(80.dp) -val ButtonShape = RoundedCornerShape(36.dp) -val ProviderButtonShape = RoundedCornerShape(percent = 50) diff --git a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/theme/FullCustomizationStyle.kt b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/theme/FullCustomizationStyle.kt new file mode 100644 index 0000000000..9f866f95d1 --- /dev/null +++ b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/theme/FullCustomizationStyle.kt @@ -0,0 +1,189 @@ +package com.firebaseui.android.demo.auth.fullcustomization.theme + +import androidx.compose.foundation.BorderStroke +import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.material3.ColorScheme +import androidx.compose.material3.Typography +import androidx.compose.material3.lightColorScheme +import androidx.compose.runtime.Immutable +import androidx.compose.runtime.staticCompositionLocalOf +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.Shape +import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.unit.Dp +import androidx.compose.ui.unit.DpOffset +import androidx.compose.ui.unit.dp + +/** + * The demo's three looks. Doggo is the Android Figma section; Grid and Coffee Spark come from the + * iOS Landing frames (20:5467 and 20:5769) by way of the iOS demo's values, laid out on Doggo's + * Android sizing. + */ +enum class FullCustomizationThemeId(val label: String) { + Doggo("Doggo"), + Grid("Grid"), + Spark("Coffee Spark"), +} + +/** A hard offset shadow: Figma's zero-blur drop shadow. */ +@Immutable +data class HardShadow(val color: Color, val offset: DpOffset) + +@Immutable +data class ButtonPalette(val container: Color, val content: Color) + +/** What a theme changes beyond [colorScheme] and [typography], read via [LocalFullCustomizationStyle]. */ +@Immutable +data class FullCustomizationStyle( + val id: FullCustomizationThemeId, + val colorScheme: ColorScheme, + val typography: Typography, + val titleColor: Color, + /** Doggo's mascots; the other themes have none. */ + val showsMascot: Boolean, + /** The form card's fill and shadow. Doggo draws a card; Grid and Coffee Spark leave the form bare. */ + val cardFill: Color, + val cardShadow: HardShadow?, + val fieldShape: Shape, + val fieldBorderWidth: Dp, + val buttonShape: Shape, + val buttonBorder: BorderStroke?, + val buttonShadow: HardShadow?, + val primaryButton: ButtonPalette, + val secondaryButton: ButtonPalette, + val providerButtonShape: Shape, + val phoneProvider: ButtonPalette, +) + +val LocalFullCustomizationStyle = staticCompositionLocalOf { + error("FullCustomizationStyle is provided by FullCustomizationTheme") +} + +fun FullCustomizationThemeId.style(darkTheme: Boolean): FullCustomizationStyle = when (this) { + FullCustomizationThemeId.Doggo -> doggo( + if (darkTheme) FullCustomizationDarkColorScheme else FullCustomizationLightColorScheme + ) + // Grid and Coffee Spark are light-only: their background art is drawn for a light page. + FullCustomizationThemeId.Grid -> Grid + FullCustomizationThemeId.Spark -> Spark +} + +private fun doggo(scheme: ColorScheme) = FullCustomizationStyle( + id = FullCustomizationThemeId.Doggo, + colorScheme = scheme, + typography = fullCustomizationTypography( + title = BagelFatOne, + titleWeight = FontWeight.Normal, + body = Onest, + button = Onest, + ), + titleColor = scheme.primary, + showsMascot = true, + cardFill = scheme.surface, + cardShadow = HardShadow(scheme.primaryContainer, DpOffset(3.dp, 6.dp)), + fieldShape = RoundedCornerShape(24.dp), + fieldBorderWidth = 1.dp, + buttonShape = RoundedCornerShape(36.dp), + buttonBorder = null, + buttonShadow = HardShadow(Color(0xFF5D0B47), DpOffset(2.dp, 4.dp)), + primaryButton = ButtonPalette(scheme.primary, scheme.onPrimary), + secondaryButton = ButtonPalette(scheme.primaryContainer, scheme.onPrimaryContainer), + providerButtonShape = RoundedCornerShape(percent = 50), + phoneProvider = ButtonPalette(scheme.primary, scheme.onPrimary), +) + +private val GridNavy = Color(0xFF2C1067) +private val GridPink = Color(0xFFFF52B3) +private val GridCyan = Color(0xFF00DCE2) +private val GridPage = Color(0xFFF3FBFB) + +private val Grid = FullCustomizationStyle( + id = FullCustomizationThemeId.Grid, + colorScheme = lightColorScheme( + primary = GridPink, + onPrimary = GridNavy, + primaryContainer = GridPage, + onPrimaryContainer = GridNavy, + secondary = GridCyan, + onSecondary = GridNavy, + surface = GridPage, + surfaceBright = GridPage, + surfaceContainerLowest = GridPage, + surfaceContainerLow = GridPage, + surfaceContainer = GridPage, + surfaceContainerHigh = GridPage, + surfaceContainerHighest = GridPage, + onSurface = GridNavy, + onSurfaceVariant = GridNavy, + outline = GridNavy, + outlineVariant = GridCyan, + background = GridPage, + error = Color(0xFFBA1A1A), + ), + typography = fullCustomizationTypography( + title = Rowdies, + titleWeight = FontWeight.Normal, + body = ChivoMono, + button = Rowdies, + ), + titleColor = GridNavy, + showsMascot = false, + cardFill = Color.Transparent, + cardShadow = null, + fieldShape = RoundedCornerShape(16.dp), + fieldBorderWidth = 2.dp, + buttonShape = RoundedCornerShape(24.dp), + buttonBorder = BorderStroke(2.dp, GridCyan), + buttonShadow = HardShadow(GridCyan, DpOffset(3.dp, 6.dp)), + primaryButton = ButtonPalette(GridPink, GridNavy), + secondaryButton = ButtonPalette(GridPage, GridNavy), + providerButtonShape = RoundedCornerShape(12.dp), + phoneProvider = ButtonPalette(GridCyan, GridNavy), +) + +private val SparkGreen = Color(0xFF34A853) +private val SparkPage = Color(0xFFF1F1F1) + +private val Spark = FullCustomizationStyle( + id = FullCustomizationThemeId.Spark, + colorScheme = lightColorScheme( + primary = SparkGreen, + onPrimary = Color.Black, + primaryContainer = Color(0xFFF3FBFB), + onPrimaryContainer = Color.Black, + secondary = Color.Black, + onSecondary = Color.White, + surface = SparkPage, + surfaceBright = SparkPage, + surfaceContainerLowest = SparkPage, + surfaceContainerLow = SparkPage, + surfaceContainer = SparkPage, + surfaceContainerHigh = SparkPage, + surfaceContainerHighest = SparkPage, + onSurface = Color.Black, + onSurfaceVariant = Color.Black, + outline = Color.Black, + outlineVariant = Color.Black, + background = SparkPage, + error = Color(0xFFBA1A1A), + ), + typography = fullCustomizationTypography( + title = JetBrainsMono, + titleWeight = FontWeight.Medium, + body = JetBrainsMono, + button = JetBrainsMono, + ), + titleColor = Color(0xFF1C1B1B), + showsMascot = false, + cardFill = Color.Transparent, + cardShadow = null, + fieldShape = RoundedCornerShape(16.dp), + fieldBorderWidth = 2.dp, + buttonShape = RoundedCornerShape(40.dp), + buttonBorder = BorderStroke(2.dp, Color.Black), + buttonShadow = null, + primaryButton = ButtonPalette(Color(0xFFFDADEE), Color.Black), + secondaryButton = ButtonPalette(Color(0xFFF3FBFB), Color.Black), + providerButtonShape = RoundedCornerShape(40.dp), + phoneProvider = ButtonPalette(Color(0xFFC6FF00), SparkGreen), +) diff --git a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/theme/FullCustomizationTheme.kt b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/theme/FullCustomizationTheme.kt index 53b9161191..1ea195bcf2 100644 --- a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/theme/FullCustomizationTheme.kt +++ b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/theme/FullCustomizationTheme.kt @@ -4,6 +4,7 @@ import androidx.compose.foundation.isSystemInDarkTheme import androidx.compose.material3.darkColorScheme import androidx.compose.material3.lightColorScheme import androidx.compose.runtime.Composable +import androidx.compose.runtime.CompositionLocalProvider import androidx.compose.ui.graphics.Color import com.firebase.ui.auth.configuration.theme.AuthUITheme import kotlin.math.max @@ -74,20 +75,21 @@ val FullCustomizationDarkColorScheme = darkColorScheme( ) @Composable -fun FullCustomizationTheme(content: @Composable () -> Unit) { - val colorScheme = if (isSystemInDarkTheme()) { - FullCustomizationDarkColorScheme - } else { - FullCustomizationLightColorScheme +fun FullCustomizationTheme( + themeId: FullCustomizationThemeId, + content: @Composable () -> Unit, +) { + val style = themeId.style(darkTheme = isSystemInDarkTheme()) + CompositionLocalProvider(LocalFullCustomizationStyle provides style) { + AuthUITheme( + theme = AuthUITheme.Default.copy( + colorScheme = style.colorScheme, + typography = style.typography, + providerButtonShape = style.providerButtonShape, + ), + content = content, + ) } - AuthUITheme( - theme = AuthUITheme.Default.copy( - colorScheme = colorScheme, - typography = FullCustomizationTypography, - providerButtonShape = ProviderButtonShape, - ), - content = content, - ) } private fun Color.withLightness(newLightness: Float): Color { diff --git a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/theme/FullCustomizationTypography.kt b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/theme/FullCustomizationTypography.kt index da31b8bc23..f23f781285 100644 --- a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/theme/FullCustomizationTypography.kt +++ b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/theme/FullCustomizationTypography.kt @@ -24,21 +24,45 @@ val Roboto = FontFamily( Font(R.font.roboto_bold, FontWeight.Bold), ) -val FullCustomizationTypography = Typography( +val Rowdies = FontFamily( + Font(R.font.rowdies_regular, FontWeight.Normal), + Font(R.font.rowdies_bold, FontWeight.Bold), +) + +val ChivoMono = FontFamily( + Font(R.font.chivo_mono_medium, FontWeight.Medium), + Font(R.font.chivo_mono_bold, FontWeight.Bold), +) + +val JetBrainsMono = FontFamily( + Font(R.font.jetbrains_mono_medium, FontWeight.Medium), + Font(R.font.jetbrains_mono_bold, FontWeight.Bold), +) + +/** + * Doggo's type scale with a theme's families swapped in: [title] for headlines, [body] for text + * and fields, [button] for CTA labels. Sizes stay Doggo's on every theme. + */ +fun fullCustomizationTypography( + title: FontFamily, + titleWeight: FontWeight, + body: FontFamily, + button: FontFamily, +) = Typography( headlineSmall = TextStyle( - fontFamily = BagelFatOne, - fontWeight = FontWeight.Normal, + fontFamily = title, + fontWeight = titleWeight, fontSize = 28.sp, lineHeight = 36.sp, ), headlineMedium = TextStyle( - fontFamily = BagelFatOne, - fontWeight = FontWeight.Normal, + fontFamily = title, + fontWeight = titleWeight, fontSize = 36.sp, lineHeight = 44.sp, ), bodyLarge = TextStyle( - fontFamily = Onest, + fontFamily = body, fontWeight = FontWeight.Medium, fontSize = 16.sp, lineHeight = 24.sp, @@ -51,7 +75,7 @@ val FullCustomizationTypography = Typography( letterSpacing = 0.1.sp, ), titleMedium = TextStyle( - fontFamily = Onest, + fontFamily = button, fontWeight = FontWeight.Bold, fontSize = 20.sp, lineHeight = 20.sp, diff --git a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/theme/GridPattern.kt b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/theme/GridPattern.kt new file mode 100644 index 0000000000..3d874eb8db --- /dev/null +++ b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/theme/GridPattern.kt @@ -0,0 +1,130 @@ +package com.firebaseui.android.demo.auth.fullcustomization.theme + +import androidx.compose.ui.geometry.Offset +import androidx.compose.ui.graphics.Brush +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.SolidColor +import androidx.compose.ui.graphics.vector.ImageVector +import androidx.compose.ui.graphics.vector.addPathNodes +import androidx.compose.ui.graphics.vector.group +import androidx.compose.ui.unit.dp + +// The SVG's group opacity, applied per path: ImageVector groups have no alpha. +private const val OPACITY = 0.3f + +private fun ImageVector.Builder.line(d: String) = addPath( + pathData = addPathNodes(d), + stroke = SolidColor(Color(0xFF00DCE2)), + strokeAlpha = OPACITY, + strokeLineWidth = 1.42395f, +) + +private fun ImageVector.Builder.shape(d: String, color: Color) = addPath( + pathData = addPathNodes(d), + fill = SolidColor(color), + fillAlpha = OPACITY, +) + +/** + * Grid's background: the iOS demo's grid-pattern.svg (Figma 20:5467 "Frame 5"). An [ImageVector] + * rather than a vector drawable, which can't draw the gradient below API 24. + */ +val GridPattern: ImageVector by lazy { + ImageVector.Builder( + name = "GridPattern", + defaultWidth = 997.dp, + defaultHeight = 997.dp, + viewportWidth = 997f, + viewportHeight = 997f, + ).apply { + line("M209.246 6.92089L32.011 826.686") + line("M987.671 220.381L167.906 43.1455") + line("M587.813 88.7679L410.578 908.533") + line("M905.824 598.948L86.059 421.712") + line("M387.395 45.4372L210.16 865.202") + line("M949.155 398.53L129.39 221.295") + line("M765.962 127.284L588.727 947.049") + line("M867.308 777.097L47.5433 599.862") + line("M276.052 21.3645L98.8167 841.129") + line("M973.228 287.186L153.463 109.951") + line("M654.619 103.212L477.384 922.976") + line("M891.381 665.754L71.6158 488.519") + line("M454.202 59.8808L276.966 879.645") + line("M934.712 465.336L114.947 288.101") + line("M832.768 141.728L655.533 961.492") + line("M852.865 843.903L33.1002 666.667") + line("M342.857 35.8082L165.622 855.573") + line("M958.784 353.992L139.02 176.757") + line("M721.425 117.655L544.19 937.42") + line("M876.937 732.559L57.1727 555.324") + line("M521.007 74.3244L343.772 894.089") + line("M920.268 532.142L100.503 354.907") + line("M899.574 156.172L722.339 975.936") + line("M838.421 910.709L18.6561 733.474") + line("M231.514 11.7352L54.2792 831.5") + line("M982.857 242.649L163.092 65.4141") + line("M610.082 93.5827L432.847 913.347") + line("M901.01 621.216L81.2452 443.981") + line("M409.664 50.2519L232.429 870.017") + line("M944.341 420.798L124.577 243.563") + line("M788.231 132.099L610.996 951.863") + line("M862.493 799.366L42.7286 622.131") + line("M298.321 26.1788L121.086 845.943") + line("M968.413 309.455L148.648 132.22") + line("M676.888 108.026L499.653 927.791") + line("M886.566 688.022L66.8011 510.787") + line("M476.47 64.6952L299.235 884.46") + line("M929.897 487.604L110.132 310.369") + line("M855.037 146.542L677.802 966.307") + line("M848.05 866.171L28.2855 688.936") + line("M365.127 40.6226L187.892 860.387") + line("M953.97 376.261L134.205 199.026") + line("M743.694 122.47L566.458 942.234") + line("M872.123 754.828L52.358 577.593") + line("M543.275 79.1389L366.04 898.904") + line("M915.454 554.41L95.6893 377.175") + line("M921.842 160.986L744.607 980.751") + line("M833.607 932.977L13.8423 755.742") + line("M253.783 16.55L76.5484 836.315") + line("M978.042 264.918L158.278 87.6827") + line("M632.35 98.397L455.115 918.162") + line("M896.195 643.485L76.4305 466.25") + line("M431.932 55.0662L254.697 874.831") + line("M939.526 443.067L119.761 265.832") + line("M810.499 136.913L633.264 956.678") + line("M857.679 821.634L37.9139 644.399") + line("M320.589 30.9936L143.354 850.758") + line("M963.599 331.724L143.834 154.489") + line("M699.156 112.841L521.921 932.605") + line("M881.752 710.291L61.9874 533.056") + line("M498.738 69.5097L321.503 889.274") + line("M925.082 509.873L105.318 332.638") + line("M877.306 151.357L700.071 971.121") + line("M843.235 888.44L23.4708 711.205") + line("M387.395 45.4372L210.16 865.202") + line("M949.155 398.53L129.39 221.295") + line("M765.962 127.284L588.727 947.049") + line("M867.308 777.097L47.5433 599.862") + line("M565.545 83.9533L388.31 903.718") + line("M910.639 576.679L90.8746 399.444") + line("M944.112 165.8L766.877 985.565") + line("M828.791 955.246L9.02666 778.011") + group(rotate = 12.1997f, pivotX = 177.235f, pivotY = 0f) { + addPath( + pathData = addPathNodes("M177.235,0.0h838.705v838.705h-838.705z"), + fill = Brush.linearGradient( + 0.134118f to Color(0xFFF3FBFB), 0.5f to Color(0xFFF3FBFB).copy(alpha = 0.0f), 0.847192f to Color(0xFFF3FBFB), + start = Offset(597.3f, 0f), + end = Offset(597.153f, 838.705f), + ), + fillAlpha = OPACITY, + ) + } + shape("M563.338 135.969C562.988 130.004 569.059 125.771 574.535 128.162L636.67 155.29C642.406 157.795 643.179 165.616 638.045 169.196L579.885 209.749C574.751 213.329 567.679 209.899 567.312 203.651L563.338 135.969Z", Color(0xFFFF52B3)) + shape("M453.143 293.236C454.88 287.518 462.041 285.648 466.351 289.787L515.254 336.746C519.768 341.081 517.787 348.687 511.731 350.268L443.129 368.183C437.073 369.764 431.626 364.098 433.444 358.109L453.143 293.236Z", Color(0xFFFF52B3)) + shape("M455.3927,218.188a42.0363,42.0363 0,1 0,84.0726,0a42.0363,42.0363 0,1 0,-84.0726,0z", Color(0xFF00DCE2)) + shape("M548.4735000000001,311.769a51.5445,51.5445 0,1 0,103.089,0a51.5445,51.5445 0,1 0,-103.089,0z", Color(0xFFC6FF00)) + shape("M382.562 207.813C382.866 200.062 392.91 197.229 397.22 203.678L399.689 207.373C401.616 210.257 405.182 211.573 408.52 210.631L412.797 209.424C420.262 207.319 426.061 215.996 421.259 222.087L418.508 225.577C416.361 228.302 416.212 232.099 418.139 234.983L420.608 238.678C424.918 245.127 418.457 253.323 411.18 250.639L407.01 249.101C403.756 247.9 400.098 248.932 397.951 251.656L395.2 255.146C390.398 261.238 380.607 257.626 380.911 249.875L381.085 245.435C381.221 241.969 379.11 238.809 375.856 237.609L371.686 236.071C364.409 233.386 364.818 222.958 372.283 220.852L376.561 219.646C379.899 218.704 382.252 215.72 382.388 212.254L382.562 207.813Z", Color(0xFFC6FF00)) + shape("M671.453 195.059C677.539 190.251 686.222 196.041 684.124 203.508L682.922 207.786C681.984 211.126 683.302 214.69 686.189 216.614L689.886 219.079C696.339 223.382 693.516 233.43 685.766 233.742L681.326 233.92C677.86 234.06 674.878 236.415 673.939 239.755L672.737 244.033C670.639 251.501 660.211 251.92 657.52 244.646L655.977 240.478C654.774 237.225 651.612 235.117 648.146 235.256L643.705 235.435C635.955 235.747 632.334 225.959 638.42 221.151L641.908 218.397C644.63 216.247 645.658 212.588 644.454 209.335L642.912 205.167C640.22 197.893 648.409 191.424 654.863 195.727L658.56 198.192C661.446 200.116 665.243 199.964 667.965 197.813L671.453 195.059Z", Color(0xFF00DCE2)) + }.build() +} diff --git a/app/src/main/res/drawable-nodpi/full_customization_spark_blob.webp b/app/src/main/res/drawable-nodpi/full_customization_spark_blob.webp new file mode 100644 index 0000000000000000000000000000000000000000..d2c6ce995d9d997091694bd20926f94d3b09a393 GIT binary patch literal 656184 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

TR?&{ICn8g~Mp0 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%0D2qlwP#U!Z>}w0lA219S1PpD)PB*Sv`QU&}*9R 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 n2Lh^67li`QWRvV(f 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%0A{ZVgn7ko&3ysywxU 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

C4aO2Jz-}c* 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/font/jetbrains_mono_bold.ttf b/app/src/main/res/font/jetbrains_mono_bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..1305efce9d6f3902d0913d5808b0fb49061582e2 GIT binary patch literal 112092 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 Sk+)vFc^2ai8<{4(3I88~UAr3q literal 0 HcmV?d00001 diff --git a/app/src/main/res/font/rowdies_regular.ttf b/app/src/main/res/font/rowdies_regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..f65911f72a280096f7e9a21d688cc192059ac995 GIT binary patch literal 74648 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 Date: Wed, 28 Oct 2026 14:58:45 +0100 Subject: [PATCH 2/5] sample(auth): derive dark variants of the full customization themes from their light palettes --- .../common/AuthTextFieldStyle.kt | 6 +- .../fullcustomization/common/ThemeChrome.kt | 22 +- .../screens/email/pages/EmailEntryStep.kt | 3 +- .../screens/mfa/pages/ConfigureSmsStep.kt | 2 +- .../screens/phone/pages/PhoneEntryStep.kt | 2 +- .../theme/FullCustomizationStyle.kt | 314 +++++++++++++----- .../theme/FullCustomizationTheme.kt | 91 ++--- .../fullcustomization/theme/GridPattern.kt | 11 +- 8 files changed, 277 insertions(+), 174 deletions(-) diff --git a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/common/AuthTextFieldStyle.kt b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/common/AuthTextFieldStyle.kt index a67189630a..61e8b25eaa 100644 --- a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/common/AuthTextFieldStyle.kt +++ b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/common/AuthTextFieldStyle.kt @@ -34,9 +34,9 @@ val AuthFieldShape = RoundedCornerShape(24.dp) @Composable fun authTextFieldColors(): TextFieldColors = OutlinedTextFieldDefaults.colors( - unfocusedContainerColor = Color.White, - focusedContainerColor = Color.White, - disabledContainerColor = Color.White, + unfocusedContainerColor = LocalFullCustomizationStyle.current.fieldContainer, + focusedContainerColor = LocalFullCustomizationStyle.current.fieldContainer, + disabledContainerColor = LocalFullCustomizationStyle.current.fieldContainer, unfocusedBorderColor = MaterialTheme.colorScheme.outlineVariant, focusedBorderColor = MaterialTheme.colorScheme.secondary, ) diff --git a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/common/ThemeChrome.kt b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/common/ThemeChrome.kt index 85bfdcd608..5e7aec48cd 100644 --- a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/common/ThemeChrome.kt +++ b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/common/ThemeChrome.kt @@ -26,6 +26,7 @@ import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.runtime.Composable +import androidx.compose.runtime.remember import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clipToBounds @@ -43,7 +44,7 @@ import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import com.firebaseui.android.demo.R import com.firebaseui.android.demo.auth.fullcustomization.theme.FullCustomizationThemeId -import com.firebaseui.android.demo.auth.fullcustomization.theme.GridPattern +import com.firebaseui.android.demo.auth.fullcustomization.theme.gridPattern import com.firebaseui.android.demo.auth.fullcustomization.theme.JetBrainsMono import com.firebaseui.android.demo.auth.fullcustomization.theme.LocalFullCustomizationStyle @@ -54,6 +55,7 @@ import com.firebaseui.android.demo.auth.fullcustomization.theme.LocalFullCustomi @Composable fun ThemeBackground() { val style = LocalFullCustomizationStyle.current + val page = MaterialTheme.colorScheme.background when (style.id) { FullCustomizationThemeId.Doggo -> Image( painter = painterResource(id = R.drawable.custom_background), @@ -62,7 +64,7 @@ fun ThemeBackground() { modifier = Modifier.fillMaxSize(), ) FullCustomizationThemeId.Grid -> PlacedArt( - art = rememberVectorPainter(GridPattern), + art = rememberVectorPainter(remember(page) { gridPattern(page) }), x = (-269).dp, y = (-75).dp, width = 997.dp, height = 997.dp, ) // The export includes the layer's texture and noise effects, so it is larger than the @@ -72,6 +74,8 @@ fun ThemeBackground() { x = (-295.8).dp, y = (-317.7).dp, width = 751.dp, height = 735.3.dp, ) } + // The art is drawn for a light page; dark mode washes it back toward the dark one. + Box(modifier = Modifier.fillMaxSize().background(style.artScrim)) } @Composable @@ -132,9 +136,10 @@ fun ThemeHeader( /** Figma "headline" (20:5927), Coffee Spark only. */ @Composable fun SparkHeadline(modifier: Modifier = Modifier) { + val pill = LocalFullCustomizationStyle.current.pill Surface( - color = Color.White, - contentColor = Color(0xFF1C1B1B), + color = pill.container, + contentColor = pill.content, shape = RoundedCornerShape(24.dp), modifier = modifier .height(48.dp) @@ -172,9 +177,10 @@ fun ThemeSwitcher( onSelect: (FullCustomizationThemeId) -> Unit, modifier: Modifier = Modifier, ) { + val pill = LocalFullCustomizationStyle.current.pill Surface( - color = Color.White, - contentColor = Color(0xFF1C1B1B), + color = pill.container, + contentColor = pill.content, shape = RoundedCornerShape(percent = 50), shadowElevation = 2.dp, modifier = modifier, @@ -199,10 +205,10 @@ fun ThemeSwitcher( Text( text = theme.label, style = MaterialTheme.typography.labelLarge, - color = if (isSelected) Color.White else Color(0xFF1C1B1B), + color = if (isSelected) pill.container else pill.content, modifier = Modifier .background( - color = if (isSelected) Color(0xFF1C1B1B) else Color.Transparent, + color = if (isSelected) pill.content else Color.Transparent, shape = RoundedCornerShape(percent = 50), ) .selectable( diff --git a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/email/pages/EmailEntryStep.kt b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/email/pages/EmailEntryStep.kt index 0557e3da09..e8db25ea17 100644 --- a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/email/pages/EmailEntryStep.kt +++ b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/email/pages/EmailEntryStep.kt @@ -67,8 +67,9 @@ private fun LandingHeadline() { .zIndex(1f), ) + // An illustration: it keeps Figma's blue in both modes, like the mascot above it. Surface( - color = MaterialTheme.colorScheme.secondary, + color = Color(0xFF4C8BFF), shape = IntroShape, modifier = Modifier .fillMaxWidth() diff --git a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/mfa/pages/ConfigureSmsStep.kt b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/mfa/pages/ConfigureSmsStep.kt index 3e02c11678..dac05561dd 100644 --- a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/mfa/pages/ConfigureSmsStep.kt +++ b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/mfa/pages/ConfigureSmsStep.kt @@ -45,7 +45,7 @@ fun ConfigureSmsStep(state: MfaEnrollmentContentState) { // CountrySelector needs a non-null country, so skip the step while it resolves. state.selectedCountry?.let { country -> Surface( - color = Color.White, + color = LocalFullCustomizationStyle.current.fieldContainer, shape = LocalFullCustomizationStyle.current.fieldShape, modifier = Modifier .requiredHeight(56.dp) diff --git a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/phone/pages/PhoneEntryStep.kt b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/phone/pages/PhoneEntryStep.kt index 7a19e6c62c..0d9aa55f42 100644 --- a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/phone/pages/PhoneEntryStep.kt +++ b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/phone/pages/PhoneEntryStep.kt @@ -86,7 +86,7 @@ fun PhoneEntryStep(state: PhoneAuthContentState) { modifier = Modifier.fillMaxWidth(), ) { Surface( - color = Color.White, + color = LocalFullCustomizationStyle.current.fieldContainer, shape = LocalFullCustomizationStyle.current.fieldShape, modifier = Modifier .requiredHeight(56.dp) diff --git a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/theme/FullCustomizationStyle.kt b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/theme/FullCustomizationStyle.kt index 9f866f95d1..ffda6dc4c5 100644 --- a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/theme/FullCustomizationStyle.kt +++ b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/theme/FullCustomizationStyle.kt @@ -4,6 +4,7 @@ import androidx.compose.foundation.BorderStroke import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.material3.ColorScheme import androidx.compose.material3.Typography +import androidx.compose.material3.darkColorScheme import androidx.compose.material3.lightColorScheme import androidx.compose.runtime.Immutable import androidx.compose.runtime.staticCompositionLocalOf @@ -18,6 +19,11 @@ import androidx.compose.ui.unit.dp * The demo's three looks. Doggo is the Android Figma section; Grid and Coffee Spark come from the * iOS Landing frames (20:5467 and 20:5769) by way of the iOS demo's values, laid out on Doggo's * Android sizing. + * + * Figma has no dark frames. Each dark variant keeps a colour's HCT hue and chroma and moves only + * its tone: pages to tone 6 (never pure black), text to 90, Doggo's M3 roles to M3's dark tones. + * Grid's and Coffee Spark's neon accents keep their own tone, since each already clears 4.5:1 on + * the dark page. */ enum class FullCustomizationThemeId(val label: String) { Doggo("Doggo"), @@ -46,6 +52,8 @@ data class FullCustomizationStyle( val cardShadow: HardShadow?, val fieldShape: Shape, val fieldBorderWidth: Dp, + /** Fields and the chips drawn like them, such as the country code. */ + val fieldContainer: Color, val buttonShape: Shape, val buttonBorder: BorderStroke?, val buttonShadow: HardShadow?, @@ -53,6 +61,10 @@ data class FullCustomizationStyle( val secondaryButton: ButtonPalette, val providerButtonShape: Shape, val phoneProvider: ButtonPalette, + /** The floating pills: the theme switcher and Coffee Spark's headline. */ + val pill: ButtonPalette, + /** A wash of the page colour over the background art, so light art sits back in dark mode. */ + val artScrim: Color, ) val LocalFullCustomizationStyle = staticCompositionLocalOf { @@ -60,15 +72,47 @@ val LocalFullCustomizationStyle = staticCompositionLocalOf doggo( - if (darkTheme) FullCustomizationDarkColorScheme else FullCustomizationLightColorScheme - ) - // Grid and Coffee Spark are light-only: their background art is drawn for a light page. - FullCustomizationThemeId.Grid -> Grid - FullCustomizationThemeId.Spark -> Spark + FullCustomizationThemeId.Doggo -> if (darkTheme) DoggoDark else DoggoLight + FullCustomizationThemeId.Grid -> if (darkTheme) GridDark else GridLight + FullCustomizationThemeId.Spark -> if (darkTheme) SparkDark else SparkLight } -private fun doggo(scheme: ColorScheme) = FullCustomizationStyle( +/** A theme's page and its tone-mapped neighbours, light or dark. */ +private class Neutrals( + val page: Color, + val ink: Color, + /** Fields, secondary buttons and other surfaces one step above the page. */ + val raised: Color, + /** surfaceContainerLowest to surfaceContainerHighest, for sheets and dialogs. */ + val containers: List, + val error: Color, +) + +private fun ColorScheme.withNeutrals(n: Neutrals) = copy( + surface = n.page, + surfaceBright = n.page, + surfaceContainerLowest = n.containers[0], + surfaceContainerLow = n.containers[1], + surfaceContainer = n.containers[2], + surfaceContainerHigh = n.containers[3], + surfaceContainerHighest = n.containers[4], + background = n.page, + onSurface = n.ink, + onSurfaceVariant = n.ink, + outline = n.ink, + primaryContainer = n.raised, + onPrimaryContainer = n.ink, + error = n.error, +) + +private fun doggo( + scheme: ColorScheme, + cardFill: Color, + fieldContainer: Color, + buttonShadow: Color, + pill: ButtonPalette, + artScrim: Color, +) = FullCustomizationStyle( id = FullCustomizationThemeId.Doggo, colorScheme = scheme, typography = fullCustomizationTypography( @@ -79,111 +123,199 @@ private fun doggo(scheme: ColorScheme) = FullCustomizationStyle( ), titleColor = scheme.primary, showsMascot = true, - cardFill = scheme.surface, + cardFill = cardFill, cardShadow = HardShadow(scheme.primaryContainer, DpOffset(3.dp, 6.dp)), fieldShape = RoundedCornerShape(24.dp), fieldBorderWidth = 1.dp, + fieldContainer = fieldContainer, buttonShape = RoundedCornerShape(36.dp), buttonBorder = null, - buttonShadow = HardShadow(Color(0xFF5D0B47), DpOffset(2.dp, 4.dp)), + buttonShadow = HardShadow(buttonShadow, DpOffset(2.dp, 4.dp)), primaryButton = ButtonPalette(scheme.primary, scheme.onPrimary), secondaryButton = ButtonPalette(scheme.primaryContainer, scheme.onPrimaryContainer), providerButtonShape = RoundedCornerShape(percent = 50), phoneProvider = ButtonPalette(scheme.primary, scheme.onPrimary), + pill = pill, + artScrim = artScrim, +) + +private val DoggoLight = doggo( + scheme = FullCustomizationLightColorScheme, + cardFill = FullCustomizationLightColorScheme.surface, + fieldContainer = Color.White, + buttonShadow = Color(0xFF5D0B47), + pill = ButtonPalette(Color.White, Color(0xFF211A1D)), + artScrim = Color.Transparent, +) + +private val DoggoDark = doggo( + scheme = FullCustomizationDarkColorScheme, + // Raised surfaces get lighter in dark mode: the card one step above the page, fields one above it. + cardFill = Color(0xFF231E20), + fieldContainer = Color(0xFF2E282B), + // Tone 30 of the light shadow's hue, so it still sits below the tone 80 button. + buttonShadow = Color(0xFF79265F), + pill = ButtonPalette(Color(0xFF2E282B), Color(0xFFEDDFE4)), + artScrim = Color(0xFF171214).copy(alpha = 0.92f), ) private val GridNavy = Color(0xFF2C1067) private val GridPink = Color(0xFFFF52B3) private val GridCyan = Color(0xFF00DCE2) -private val GridPage = Color(0xFFF3FBFB) - -private val Grid = FullCustomizationStyle( - id = FullCustomizationThemeId.Grid, - colorScheme = lightColorScheme( - primary = GridPink, - onPrimary = GridNavy, - primaryContainer = GridPage, - onPrimaryContainer = GridNavy, - secondary = GridCyan, - onSecondary = GridNavy, - surface = GridPage, - surfaceBright = GridPage, - surfaceContainerLowest = GridPage, - surfaceContainerLow = GridPage, - surfaceContainer = GridPage, - surfaceContainerHigh = GridPage, - surfaceContainerHighest = GridPage, - onSurface = GridNavy, - onSurfaceVariant = GridNavy, - outline = GridNavy, - outlineVariant = GridCyan, - background = GridPage, + +private fun grid( + n: Neutrals, + scheme: ColorScheme, + fieldContainer: Color, + pill: Color, + artScrim: Color, +) = + FullCustomizationStyle( + id = FullCustomizationThemeId.Grid, + colorScheme = scheme.withNeutrals(n).copy( + primary = GridPink, + onPrimary = GridNavy, + secondary = GridCyan, + onSecondary = GridNavy, + outlineVariant = GridCyan, + ), + typography = fullCustomizationTypography( + title = Rowdies, + titleWeight = FontWeight.Normal, + body = ChivoMono, + button = Rowdies, + ), + titleColor = n.ink, + showsMascot = false, + cardFill = Color.Transparent, + cardShadow = null, + fieldShape = RoundedCornerShape(16.dp), + fieldBorderWidth = 2.dp, + fieldContainer = fieldContainer, + buttonShape = RoundedCornerShape(24.dp), + buttonBorder = BorderStroke(2.dp, GridCyan), + buttonShadow = HardShadow(GridCyan, DpOffset(3.dp, 6.dp)), + // Navy on the pink fill reads in both modes, so the primary button doesn't change. + primaryButton = ButtonPalette(GridPink, GridNavy), + secondaryButton = ButtonPalette(n.raised, n.ink), + providerButtonShape = RoundedCornerShape(12.dp), + phoneProvider = ButtonPalette(GridCyan, GridNavy), + pill = ButtonPalette(pill, n.ink), + artScrim = artScrim, + ) + +private val GridLight = grid( + n = Neutrals( + page = Color(0xFFF3FBFB), + ink = GridNavy, + raised = Color(0xFFF3FBFB), + containers = List(5) { Color(0xFFF3FBFB) }, error = Color(0xFFBA1A1A), ), - typography = fullCustomizationTypography( - title = Rowdies, - titleWeight = FontWeight.Normal, - body = ChivoMono, - button = Rowdies, + scheme = lightColorScheme(), + fieldContainer = Color.White, + pill = Color.White, + artScrim = Color.Transparent, +) + +private val GridDark = grid( + n = Neutrals( + page = Color(0xFF141218), + ink = Color(0xFFE7DFF2), + raised = Color(0xFF211E26), + containers = listOf( + Color(0xFF0F0D15), + Color(0xFF1D1A22), + Color(0xFF211E26), + Color(0xFF2B2931), + Color(0xFF36333C), + ), + error = Color(0xFFFFB4AB), ), - titleColor = GridNavy, - showsMascot = false, - cardFill = Color.Transparent, - cardShadow = null, - fieldShape = RoundedCornerShape(16.dp), - fieldBorderWidth = 2.dp, - buttonShape = RoundedCornerShape(24.dp), - buttonBorder = BorderStroke(2.dp, GridCyan), - buttonShadow = HardShadow(GridCyan, DpOffset(3.dp, 6.dp)), - primaryButton = ButtonPalette(GridPink, GridNavy), - secondaryButton = ButtonPalette(GridPage, GridNavy), - providerButtonShape = RoundedCornerShape(12.dp), - phoneProvider = ButtonPalette(GridCyan, GridNavy), + scheme = darkColorScheme(), + fieldContainer = Color(0xFF211E26), + pill = Color(0xFF2B2931), + // The cyan lines are loud on the dark page; a wash keeps them behind the text. + artScrim = Color(0xFF141218).copy(alpha = 0.4f), ) private val SparkGreen = Color(0xFF34A853) -private val SparkPage = Color(0xFFF1F1F1) - -private val Spark = FullCustomizationStyle( - id = FullCustomizationThemeId.Spark, - colorScheme = lightColorScheme( - primary = SparkGreen, - onPrimary = Color.Black, - primaryContainer = Color(0xFFF3FBFB), - onPrimaryContainer = Color.Black, - secondary = Color.Black, - onSecondary = Color.White, - surface = SparkPage, - surfaceBright = SparkPage, - surfaceContainerLowest = SparkPage, - surfaceContainerLow = SparkPage, - surfaceContainer = SparkPage, - surfaceContainerHigh = SparkPage, - surfaceContainerHighest = SparkPage, - onSurface = Color.Black, - onSurfaceVariant = Color.Black, - outline = Color.Black, - outlineVariant = Color.Black, - background = SparkPage, + +private fun spark( + n: Neutrals, + scheme: ColorScheme, + title: Color, + fieldContainer: Color, + pill: Color, + artScrim: Color, +) = + FullCustomizationStyle( + id = FullCustomizationThemeId.Spark, + colorScheme = scheme.withNeutrals(n).copy( + primary = SparkGreen, + onPrimary = Color.Black, + secondary = n.ink, + onSecondary = n.page, + outlineVariant = n.ink, + ), + typography = fullCustomizationTypography( + title = JetBrainsMono, + titleWeight = FontWeight.Medium, + body = JetBrainsMono, + button = JetBrainsMono, + ), + titleColor = title, + showsMascot = false, + cardFill = Color.Transparent, + cardShadow = null, + fieldShape = RoundedCornerShape(16.dp), + fieldBorderWidth = 2.dp, + fieldContainer = fieldContainer, + buttonShape = RoundedCornerShape(40.dp), + // The black outlines become the light ink in dark mode. + buttonBorder = BorderStroke(2.dp, n.ink), + buttonShadow = null, + primaryButton = ButtonPalette(Color(0xFFFDADEE), Color.Black), + secondaryButton = ButtonPalette(n.raised, n.ink), + providerButtonShape = RoundedCornerShape(40.dp), + phoneProvider = ButtonPalette(Color(0xFFC6FF00), SparkGreen), + pill = ButtonPalette(pill, title), + artScrim = artScrim, + ) + +private val SparkLight = spark( + n = Neutrals( + page = Color(0xFFF1F1F1), + ink = Color.Black, + raised = Color(0xFFF3FBFB), + containers = List(5) { Color(0xFFF1F1F1) }, error = Color(0xFFBA1A1A), ), - typography = fullCustomizationTypography( - title = JetBrainsMono, - titleWeight = FontWeight.Medium, - body = JetBrainsMono, - button = JetBrainsMono, + scheme = lightColorScheme(), + title = Color(0xFF1C1B1B), + fieldContainer = Color.White, + pill = Color.White, + artScrim = Color.Transparent, +) + +private val SparkDark = spark( + n = Neutrals( + page = Color(0xFF151313), + ink = Color(0xFFE8E1E1), + raised = Color(0xFF221F20), + containers = listOf( + Color(0xFF100E0E), + Color(0xFF1E1B1C), + Color(0xFF221F20), + Color(0xFF2C292A), + Color(0xFF373435), + ), + error = Color(0xFFFFB4AB), ), - titleColor = Color(0xFF1C1B1B), - showsMascot = false, - cardFill = Color.Transparent, - cardShadow = null, - fieldShape = RoundedCornerShape(16.dp), - fieldBorderWidth = 2.dp, - buttonShape = RoundedCornerShape(40.dp), - buttonBorder = BorderStroke(2.dp, Color.Black), - buttonShadow = null, - primaryButton = ButtonPalette(Color(0xFFFDADEE), Color.Black), - secondaryButton = ButtonPalette(Color(0xFFF3FBFB), Color.Black), - providerButtonShape = RoundedCornerShape(40.dp), - phoneProvider = ButtonPalette(Color(0xFFC6FF00), SparkGreen), + scheme = darkColorScheme(), + title = Color(0xFFE8E1E1), + fieldContainer = Color(0xFF221F20), + pill = Color(0xFF2C292A), + // The blob is bright enough to fight the text over it on a dark page. + artScrim = Color(0xFF151313).copy(alpha = 0.55f), ) diff --git a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/theme/FullCustomizationTheme.kt b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/theme/FullCustomizationTheme.kt index 1ea195bcf2..5cf7b9e756 100644 --- a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/theme/FullCustomizationTheme.kt +++ b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/theme/FullCustomizationTheme.kt @@ -7,8 +7,6 @@ import androidx.compose.runtime.Composable import androidx.compose.runtime.CompositionLocalProvider import androidx.compose.ui.graphics.Color import com.firebase.ui.auth.configuration.theme.AuthUITheme -import kotlin.math.max -import kotlin.math.min private val LightPrimary = Color(0xFF864B6F) private val LightOnPrimary = Color(0xFFFFFFFF) @@ -52,26 +50,35 @@ val FullCustomizationLightColorScheme = lightColorScheme( inverseOnSurface = LightInverseOnSurface, ) +/** + * Doggo's palette sits on Material 3 tones (primary 40, containers 90, surface 98), so its dark + * scheme takes M3's dark tone for each role: same HCT hue and chroma, tone moved (primary 40 to 80, + * containers 90 to 30, surface 98 to 6, text 10 to 90). + */ val FullCustomizationDarkColorScheme = darkColorScheme( - primary = LightPrimary.withLightness(0.78f), - onPrimary = LightOnPrimary.withLightness(0.18f), - primaryContainer = LightPrimaryContainer.withLightness(0.28f), - onPrimaryContainer = LightOnPrimaryContainer.withLightness(0.88f), + primary = Color(0xFFFAB1DA), + onPrimary = Color(0xFF511D3F), + primaryContainer = Color(0xFF6B3457), + onPrimaryContainer = Color(0xFFFFD8EB), inversePrimary = LightPrimary, - secondary = LightSecondary.withLightness(0.78f), - onSecondary = LightOnSecondary.withLightness(0.18f), - secondaryContainer = LightSecondaryContainer.withLightness(0.28f), - tertiaryContainer = LightTertiaryContainer.withLightness(0.28f), - surface = LightSurface.withLightness(0.10f), - surfaceBright = LightSurfaceBright.withLightness(0.20f), - onSurface = LightOnSurface.withLightness(0.88f), - onSurfaceVariant = LightOnSurfaceVariant.withLightness(0.75f), - surfaceContainer = LightSurfaceContainer.withLightness(0.13f), - surfaceContainerLow = LightSurfaceContainerLow.withLightness(0.11f), - outline = LightOutline.withLightness(0.55f), - outlineVariant = LightOutlineVariant.withLightness(0.30f), - inverseSurface = LightSurface.withLightness(0.90f), - inverseOnSurface = LightOnSurface.withLightness(0.15f), + secondary = Color(0xFFAFC6FF), + onSecondary = Color(0xFF002D6C), + surface = Color(0xFF171214), + surfaceBright = Color(0xFF3D383A), + surfaceContainerLowest = Color(0xFF110D0F), + surfaceContainerLow = Color(0xFF1F1A1C), + surfaceContainer = Color(0xFF231E20), + surfaceContainerHigh = Color(0xFF2E282B), + surfaceContainerHighest = Color(0xFF393336), + background = Color(0xFF171214), + onSurface = Color(0xFFEDDFE4), + onSurfaceVariant = Color(0xFFD8C0CB), + outline = Color(0xFF9C8D94), + outlineVariant = Color(0xFF4F4349), + inverseSurface = Color(0xFFEDDFE4), + inverseOnSurface = Color(0xFF322F35), + error = Color(0xFFFFB4AB), + onError = Color(0xFF690005), ) @Composable @@ -91,47 +98,3 @@ fun FullCustomizationTheme( ) } } - -private fun Color.withLightness(newLightness: Float): Color { - val (h, s, _) = toHsl() - return hslToColor(h, s, newLightness.coerceIn(0f, 1f), alpha) -} - -private fun Color.toHsl(): Triple { - val r = red - val g = green - val b = blue - val maxC = max(r, max(g, b)) - val minC = min(r, min(g, b)) - val l = (maxC + minC) / 2f - if (maxC == minC) return Triple(0f, 0f, l) - val d = maxC - minC - val s = if (l > 0.5f) d / (2f - maxC - minC) else d / (maxC + minC) - val h = when (maxC) { - r -> ((g - b) / d + (if (g < b) 6f else 0f)) - g -> ((b - r) / d + 2f) - else -> ((r - g) / d + 4f) - } / 6f - return Triple(h, s, l) -} - -private fun hslToColor(h: Float, s: Float, l: Float, alpha: Float): Color { - if (s == 0f) return Color(l, l, l, alpha) - fun hueToRgb(p: Float, q: Float, tIn: Float): Float { - var t = tIn - if (t < 0f) t += 1f - if (t > 1f) t -= 1f - return when { - t < 1f / 6f -> p + (q - p) * 6f * t - t < 1f / 2f -> q - t < 2f / 3f -> p + (q - p) * (2f / 3f - t) * 6f - else -> p - } - } - val q = if (l < 0.5f) l * (1f + s) else l + s - l * s - val p = 2f * l - q - val r = hueToRgb(p, q, h + 1f / 3f) - val g = hueToRgb(p, q, h) - val b = hueToRgb(p, q, h - 1f / 3f) - return Color(r, g, b, alpha) -} diff --git a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/theme/GridPattern.kt b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/theme/GridPattern.kt index 3d874eb8db..3c87349897 100644 --- a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/theme/GridPattern.kt +++ b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/theme/GridPattern.kt @@ -26,10 +26,11 @@ private fun ImageVector.Builder.shape(d: String, color: Color) = addPath( ) /** - * Grid's background: the iOS demo's grid-pattern.svg (Figma 20:5467 "Frame 5"). An [ImageVector] - * rather than a vector drawable, which can't draw the gradient below API 24. + * Grid's background: the iOS demo's grid-pattern.svg (Figma 20:5467 "Frame 5"), its gradient + * fading to [page] so the same art works on the dark page. An [ImageVector] rather than a vector + * drawable, which can't draw the gradient below API 24. */ -val GridPattern: ImageVector by lazy { +fun gridPattern(page: Color): ImageVector = ImageVector.Builder( name = "GridPattern", defaultWidth = 997.dp, @@ -113,7 +114,7 @@ val GridPattern: ImageVector by lazy { addPath( pathData = addPathNodes("M177.235,0.0h838.705v838.705h-838.705z"), fill = Brush.linearGradient( - 0.134118f to Color(0xFFF3FBFB), 0.5f to Color(0xFFF3FBFB).copy(alpha = 0.0f), 0.847192f to Color(0xFFF3FBFB), + 0.134118f to page, 0.5f to page.copy(alpha = 0f), 0.847192f to page, start = Offset(597.3f, 0f), end = Offset(597.153f, 838.705f), ), @@ -127,4 +128,4 @@ val GridPattern: ImageVector by lazy { shape("M382.562 207.813C382.866 200.062 392.91 197.229 397.22 203.678L399.689 207.373C401.616 210.257 405.182 211.573 408.52 210.631L412.797 209.424C420.262 207.319 426.061 215.996 421.259 222.087L418.508 225.577C416.361 228.302 416.212 232.099 418.139 234.983L420.608 238.678C424.918 245.127 418.457 253.323 411.18 250.639L407.01 249.101C403.756 247.9 400.098 248.932 397.951 251.656L395.2 255.146C390.398 261.238 380.607 257.626 380.911 249.875L381.085 245.435C381.221 241.969 379.11 238.809 375.856 237.609L371.686 236.071C364.409 233.386 364.818 222.958 372.283 220.852L376.561 219.646C379.899 218.704 382.252 215.72 382.388 212.254L382.562 207.813Z", Color(0xFFC6FF00)) shape("M671.453 195.059C677.539 190.251 686.222 196.041 684.124 203.508L682.922 207.786C681.984 211.126 683.302 214.69 686.189 216.614L689.886 219.079C696.339 223.382 693.516 233.43 685.766 233.742L681.326 233.92C677.86 234.06 674.878 236.415 673.939 239.755L672.737 244.033C670.639 251.501 660.211 251.92 657.52 244.646L655.977 240.478C654.774 237.225 651.612 235.117 648.146 235.256L643.705 235.435C635.955 235.747 632.334 225.959 638.42 221.151L641.908 218.397C644.63 216.247 645.658 212.588 644.454 209.335L642.912 205.167C640.22 197.893 648.409 191.424 654.863 195.727L658.56 198.192C661.446 200.116 665.243 199.964 667.965 197.813L671.453 195.059Z", Color(0xFF00DCE2)) }.build() -} + From e13fd1a7a0d2ef460d9364fd3ee525754dc5f904 Mon Sep 17 00:00:00 2001 From: Ademola Fadumo <48495111+demolaf@users.noreply.github.com> Date: Wed, 28 Oct 2026 15:18:07 +0100 Subject: [PATCH 3/5] sample(auth): clear AA on accent text, show field focus, and use the themed CTA colours throughout --- .../common/AuthTextFieldStyle.kt | 3 ++- .../fullcustomization/common/CtaButton.kt | 17 ++++++++++---- .../fullcustomization/common/ThemeChrome.kt | 2 +- .../screens/AuthenticatedUI.kt | 11 +++------- .../screens/email/pages/EmailEntryStep.kt | 6 ++--- .../screens/email/pages/LoginStep.kt | 6 ++--- .../screens/mfa/pages/SelectFactorStep.kt | 9 ++++---- .../theme/FullCustomizationStyle.kt | 22 ++++++++++++++----- .../fullcustomization/theme/GridPattern.kt | 4 +++- 9 files changed, 47 insertions(+), 33 deletions(-) diff --git a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/common/AuthTextFieldStyle.kt b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/common/AuthTextFieldStyle.kt index 61e8b25eaa..877464fb05 100644 --- a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/common/AuthTextFieldStyle.kt +++ b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/common/AuthTextFieldStyle.kt @@ -117,7 +117,8 @@ fun FullCustomizationTextField( interactionSource = interactionSource, colors = colors, shape = shape, - focusedBorderThickness = OutlinedTextFieldDefaults.FocusedBorderThickness, + // 1dp heavier than unfocused, so focus still shows where both colours match. + focusedBorderThickness = LocalFullCustomizationStyle.current.fieldBorderWidth + 1.dp, unfocusedBorderThickness = LocalFullCustomizationStyle.current.fieldBorderWidth, ) }, diff --git a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/common/CtaButton.kt b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/common/CtaButton.kt index 9500d4531e..253363e5e5 100644 --- a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/common/CtaButton.kt +++ b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/common/CtaButton.kt @@ -16,6 +16,18 @@ import androidx.compose.ui.graphics.Color import androidx.compose.ui.unit.dp import com.firebaseui.android.demo.auth.fullcustomization.theme.LocalFullCustomizationStyle +/** The theme's main call-to-action colours. */ +@Composable +fun primaryCtaColors(): ButtonColors = LocalFullCustomizationStyle.current.primaryButton.let { + ButtonDefaults.buttonColors(containerColor = it.container, contentColor = it.content) +} + +/** The theme's colours for a call to action that reads as an alternative to the main one. */ +@Composable +fun secondaryCtaColors(): ButtonColors = LocalFullCustomizationStyle.current.secondaryButton.let { + ButtonDefaults.buttonColors(containerColor = it.container, contentColor = it.content) +} + @Composable fun CtaButton( text: String, @@ -23,10 +35,7 @@ fun CtaButton( modifier: Modifier = Modifier, enabled: Boolean = true, isLoading: Boolean = false, - colors: ButtonColors = ButtonDefaults.buttonColors( - containerColor = LocalFullCustomizationStyle.current.primaryButton.container, - contentColor = LocalFullCustomizationStyle.current.primaryButton.content, - ), + colors: ButtonColors = primaryCtaColors(), ) { val style = LocalFullCustomizationStyle.current val shadow = style.buttonShadow diff --git a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/common/ThemeChrome.kt b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/common/ThemeChrome.kt index 5e7aec48cd..c3d75705f6 100644 --- a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/common/ThemeChrome.kt +++ b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/common/ThemeChrome.kt @@ -216,7 +216,7 @@ fun ThemeSwitcher( role = Role.RadioButton, onClick = { onSelect(theme) }, ) - .padding(horizontal = 12.dp, vertical = 6.dp), + .padding(horizontal = 12.dp, vertical = 14.dp), ) } } diff --git a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/AuthenticatedUI.kt b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/AuthenticatedUI.kt index 8fc00b68c3..02b27311ca 100644 --- a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/AuthenticatedUI.kt +++ b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/AuthenticatedUI.kt @@ -36,6 +36,7 @@ import com.firebase.ui.auth.util.getDisplayEmail import com.firebaseui.android.demo.R import com.firebaseui.android.demo.auth.fullcustomization.common.AuthPage import com.firebaseui.android.demo.auth.fullcustomization.common.CtaButton +import com.firebaseui.android.demo.auth.fullcustomization.common.secondaryCtaColors import com.firebaseui.android.demo.auth.fullcustomization.common.FullCustomizationTextField import kotlinx.coroutines.launch import kotlinx.coroutines.tasks.await @@ -173,10 +174,7 @@ private fun SignedInPage(uiContext: AuthSuccessUiContext) { text = if (enrolledFactors.isEmpty()) "Set up two-factor" else "Manage two-factor", onClick = uiContext.onManageMfa, enabled = !isUpdating, - colors = ButtonDefaults.buttonColors( - containerColor = MaterialTheme.colorScheme.primaryContainer, - contentColor = MaterialTheme.colorScheme.onPrimaryContainer, - ), + colors = secondaryCtaColors(), modifier = Modifier.semantics { contentDescription = "button - manage mfa" }, ) @@ -225,10 +223,7 @@ private fun VerifyEmailPage(uiContext: AuthSuccessUiContext) { CtaButton( text = stringProvider.resendVerificationEmailAction, onClick = { user?.sendEmailVerification() }, - colors = ButtonDefaults.buttonColors( - containerColor = MaterialTheme.colorScheme.primaryContainer, - contentColor = MaterialTheme.colorScheme.onPrimaryContainer, - ), + colors = secondaryCtaColors(), modifier = Modifier.semantics { contentDescription = "button - resend verification email" }, diff --git a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/email/pages/EmailEntryStep.kt b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/email/pages/EmailEntryStep.kt index e8db25ea17..cd053b6bd6 100644 --- a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/email/pages/EmailEntryStep.kt +++ b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/email/pages/EmailEntryStep.kt @@ -40,6 +40,7 @@ import androidx.compose.ui.zIndex import com.firebaseui.android.demo.R import com.firebaseui.android.demo.auth.fullcustomization.common.AuthFieldShape import com.firebaseui.android.demo.auth.fullcustomization.common.CtaButton +import com.firebaseui.android.demo.auth.fullcustomization.common.secondaryCtaColors import com.firebaseui.android.demo.auth.fullcustomization.common.EmailFieldIcon import com.firebaseui.android.demo.auth.fullcustomization.common.FullCustomizationTextField import com.firebaseui.android.demo.auth.fullcustomization.common.HardOffsetShadow @@ -202,10 +203,7 @@ fun EmailEntryStep( onClick = onCreateAccount, // Not gated on the address: the sign-up form collects and confirms it. enabled = !isLoading, - colors = ButtonDefaults.buttonColors( - containerColor = MaterialTheme.colorScheme.primaryContainer, - contentColor = MaterialTheme.colorScheme.onPrimaryContainer, - ), + colors = secondaryCtaColors(), modifier = Modifier.semantics { contentDescription = "button - create account" }, ) } diff --git a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/email/pages/LoginStep.kt b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/email/pages/LoginStep.kt index 883ccb3854..ae7c307065 100644 --- a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/email/pages/LoginStep.kt +++ b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/email/pages/LoginStep.kt @@ -42,6 +42,7 @@ import com.firebaseui.android.demo.auth.fullcustomization.common.ThemeHeader import com.firebaseui.android.demo.auth.fullcustomization.theme.LocalFullCustomizationStyle import com.firebaseui.android.demo.auth.fullcustomization.common.AuthFieldShape import com.firebaseui.android.demo.auth.fullcustomization.common.CtaButton +import com.firebaseui.android.demo.auth.fullcustomization.common.secondaryCtaColors import com.firebaseui.android.demo.auth.fullcustomization.common.EmailFieldIcon import com.firebaseui.android.demo.auth.fullcustomization.common.FullCustomizationTextField import com.firebaseui.android.demo.auth.fullcustomization.common.HardOffsetShadow @@ -160,10 +161,7 @@ fun LoginStep( text = if (state.emailSignInLinkSent) "Login link sent!" else "Send login link", onClick = state.onSignInEmailLinkClick, enabled = !state.isLoading, - colors = ButtonDefaults.buttonColors( - containerColor = MaterialTheme.colorScheme.primaryContainer, - contentColor = MaterialTheme.colorScheme.onPrimaryContainer, - ), + colors = secondaryCtaColors(), modifier = Modifier.semantics { contentDescription = "button - send login link" }, ) diff --git a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/mfa/pages/SelectFactorStep.kt b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/mfa/pages/SelectFactorStep.kt index 70995a799e..016b36cce9 100644 --- a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/mfa/pages/SelectFactorStep.kt +++ b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/mfa/pages/SelectFactorStep.kt @@ -22,6 +22,8 @@ import com.firebase.ui.auth.mfa.MfaEnrollmentContentState import com.firebaseui.android.demo.R import com.firebaseui.android.demo.auth.fullcustomization.common.AuthPage import com.firebaseui.android.demo.auth.fullcustomization.common.CtaButton +import com.firebaseui.android.demo.auth.fullcustomization.common.primaryCtaColors +import com.firebaseui.android.demo.auth.fullcustomization.common.secondaryCtaColors import com.google.firebase.auth.MultiFactorInfo import com.google.firebase.auth.PhoneMultiFactorGenerator import com.google.firebase.auth.TotpMultiFactorGenerator @@ -94,12 +96,9 @@ fun SelectFactorStep(state: MfaEnrollmentContentState) { enabled = !state.isLoading, // First factor takes the primary CTA colour; the rest read as alternatives. colors = if (index == 0) { - ButtonDefaults.buttonColors() + primaryCtaColors() } else { - ButtonDefaults.buttonColors( - containerColor = MaterialTheme.colorScheme.primaryContainer, - contentColor = MaterialTheme.colorScheme.onPrimaryContainer, - ) + secondaryCtaColors() }, modifier = Modifier.semantics { contentDescription = "button - enroll ${factorCtaLabel(factor)}" diff --git a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/theme/FullCustomizationStyle.kt b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/theme/FullCustomizationStyle.kt index ffda6dc4c5..a6bf37e358 100644 --- a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/theme/FullCustomizationStyle.kt +++ b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/theme/FullCustomizationStyle.kt @@ -23,7 +23,8 @@ import androidx.compose.ui.unit.dp * Figma has no dark frames. Each dark variant keeps a colour's HCT hue and chroma and moves only * its tone: pages to tone 6 (never pure black), text to 90, Doggo's M3 roles to M3's dark tones. * Grid's and Coffee Spark's neon accents keep their own tone, since each already clears 4.5:1 on - * the dark page. + * the dark page. On their light pages the same rule runs the other way: accents used as text keep + * hue and chroma and darken until they clear 4.5:1, while button fills stay Figma's neon. */ enum class FullCustomizationThemeId(val label: String) { Doggo("Doggo"), @@ -166,6 +167,8 @@ private val GridCyan = Color(0xFF00DCE2) private fun grid( n: Neutrals, scheme: ColorScheme, + /** Links and accent text; the pink button fill stays [GridPink]. */ + link: Color, fieldContainer: Color, pill: Color, artScrim: Color, @@ -173,7 +176,7 @@ private fun grid( FullCustomizationStyle( id = FullCustomizationThemeId.Grid, colorScheme = scheme.withNeutrals(n).copy( - primary = GridPink, + primary = link, onPrimary = GridNavy, secondary = GridCyan, onSecondary = GridNavy, @@ -213,6 +216,7 @@ private val GridLight = grid( error = Color(0xFFBA1A1A), ), scheme = lightColorScheme(), + link = Color(0xFFD0288D), fieldContainer = Color.White, pill = Color.White, artScrim = Color.Transparent, @@ -233,6 +237,7 @@ private val GridDark = grid( error = Color(0xFFFFB4AB), ), scheme = darkColorScheme(), + link = GridPink, fieldContainer = Color(0xFF211E26), pill = Color(0xFF2B2931), // The cyan lines are loud on the dark page; a wash keeps them behind the text. @@ -240,10 +245,14 @@ private val GridDark = grid( ) private val SparkGreen = Color(0xFF34A853) +// SparkGreen darkened to clear 4.5:1 on the light page and on the lime phone button. +private val SparkGreenInk = Color(0xFF007C33) private fun spark( n: Neutrals, scheme: ColorScheme, + /** Links, accent text and the focused field border. */ + link: Color, title: Color, fieldContainer: Color, pill: Color, @@ -252,9 +261,10 @@ private fun spark( FullCustomizationStyle( id = FullCustomizationThemeId.Spark, colorScheme = scheme.withNeutrals(n).copy( - primary = SparkGreen, + primary = link, onPrimary = Color.Black, - secondary = n.ink, + // The field border is ink unfocused, so focus takes the green. + secondary = link, onSecondary = n.page, outlineVariant = n.ink, ), @@ -278,7 +288,7 @@ private fun spark( primaryButton = ButtonPalette(Color(0xFFFDADEE), Color.Black), secondaryButton = ButtonPalette(n.raised, n.ink), providerButtonShape = RoundedCornerShape(40.dp), - phoneProvider = ButtonPalette(Color(0xFFC6FF00), SparkGreen), + phoneProvider = ButtonPalette(Color(0xFFC6FF00), SparkGreenInk), pill = ButtonPalette(pill, title), artScrim = artScrim, ) @@ -292,6 +302,7 @@ private val SparkLight = spark( error = Color(0xFFBA1A1A), ), scheme = lightColorScheme(), + link = SparkGreenInk, title = Color(0xFF1C1B1B), fieldContainer = Color.White, pill = Color.White, @@ -313,6 +324,7 @@ private val SparkDark = spark( error = Color(0xFFFFB4AB), ), scheme = darkColorScheme(), + link = SparkGreen, title = Color(0xFFE8E1E1), fieldContainer = Color(0xFF221F20), pill = Color(0xFF2C292A), diff --git a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/theme/GridPattern.kt b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/theme/GridPattern.kt index 3c87349897..f7dcd59379 100644 --- a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/theme/GridPattern.kt +++ b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/theme/GridPattern.kt @@ -118,7 +118,9 @@ fun gridPattern(page: Color): ImageVector = start = Offset(597.3f, 0f), end = Offset(597.153f, 838.705f), ), - fillAlpha = OPACITY, + // Full alpha: under group opacity the SVG's mask hides the lines where it is + // opaque, and a page-coloured fill on the page reproduces that. + fillAlpha = 1f, ) } shape("M563.338 135.969C562.988 130.004 569.059 125.771 574.535 128.162L636.67 155.29C642.406 157.795 643.179 165.616 638.045 169.196L579.885 209.749C574.751 213.329 567.679 209.899 567.312 203.651L563.338 135.969Z", Color(0xFFFF52B3)) From 06342b257939bf2e51faacbddcbdf6f2daba05cc Mon Sep 17 00:00:00 2001 From: Ademola Fadumo <48495111+demolaf@users.noreply.github.com> Date: Thu, 29 Oct 2026 14:03:20 +0100 Subject: [PATCH 4/5] sample(auth): add a Professional theme with its own enterprise-style layout to the full customization demo --- .../FullCustomizationDemoActivity.kt | 117 ++++--- .../auth/fullcustomization/common/AuthPage.kt | 15 + .../common/AuthTextFieldStyle.kt | 75 +++- .../fullcustomization/common/CtaButton.kt | 2 +- .../common/SheetProviderButton.kt | 30 +- .../fullcustomization/common/ThemeChrome.kt | 4 +- .../professional/ProEmailScreens.kt | 289 ++++++++++++++++ .../fullcustomization/professional/ProKit.kt | 258 ++++++++++++++ .../professional/ProPhoneScreens.kt | 127 +++++++ .../screens/AuthMethodPickerUI.kt | 8 +- .../screens/AuthenticatedUI.kt | 320 ++++++++++++++---- .../screens/email/pages/EmailEntryStep.kt | 34 +- .../screens/email/pages/LoginStep.kt | 15 +- .../screens/email/pages/SignUpStep.kt | 15 +- .../screens/phone/pages/PhoneEntryStep.kt | 13 +- .../phone/pages/PhoneVerificationStep.kt | 11 +- .../theme/FullCustomizationStyle.kt | 113 ++++++- 17 files changed, 1288 insertions(+), 158 deletions(-) create mode 100644 app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/professional/ProEmailScreens.kt create mode 100644 app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/professional/ProKit.kt create mode 100644 app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/professional/ProPhoneScreens.kt diff --git a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/FullCustomizationDemoActivity.kt b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/FullCustomizationDemoActivity.kt index 85ac614cf7..55f9a722cf 100644 --- a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/FullCustomizationDemoActivity.kt +++ b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/FullCustomizationDemoActivity.kt @@ -13,10 +13,11 @@ import androidx.compose.foundation.layout.statusBarsPadding import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Surface import androidx.compose.runtime.Composable +import androidx.compose.runtime.CompositionLocalProvider import androidx.compose.runtime.getValue -import androidx.compose.runtime.setValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember +import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalContext @@ -31,8 +32,12 @@ import com.firebase.ui.auth.configuration.authUIConfiguration import com.firebase.ui.auth.configuration.auth_provider.AuthProvider import com.firebase.ui.auth.configuration.theme.AuthUIAsset import com.firebase.ui.auth.ui.screens.FirebaseAuthScreen +import com.firebase.ui.auth.util.EmailLinkConstants import com.firebaseui.android.demo.R -import com.firebaseui.android.demo.utils.EMAIL_LINK_ORIGIN_PARAM +import com.firebaseui.android.demo.auth.fullcustomization.common.ThemeBackground +import com.firebaseui.android.demo.auth.fullcustomization.common.ThemeSwitcher +import com.firebaseui.android.demo.auth.fullcustomization.professional.LegalLinks +import com.firebaseui.android.demo.auth.fullcustomization.professional.LocalLegalLinks import com.firebaseui.android.demo.auth.fullcustomization.screens.AuthMethodPickerUI import com.firebaseui.android.demo.auth.fullcustomization.screens.AuthenticatedUI import com.firebaseui.android.demo.auth.fullcustomization.screens.email.EmailAuthUI @@ -40,11 +45,9 @@ import com.firebaseui.android.demo.auth.fullcustomization.screens.mfa.MfaChallen import com.firebaseui.android.demo.auth.fullcustomization.screens.mfa.MfaEnrollmentUI import com.firebaseui.android.demo.auth.fullcustomization.screens.phone.PhoneSignInUI import com.firebaseui.android.demo.auth.fullcustomization.screens.reauth.ReauthUI -import com.firebaseui.android.demo.auth.fullcustomization.common.ThemeBackground -import com.firebaseui.android.demo.auth.fullcustomization.common.ThemeSwitcher import com.firebaseui.android.demo.auth.fullcustomization.theme.FullCustomizationTheme import com.firebaseui.android.demo.auth.fullcustomization.theme.FullCustomizationThemeId -import com.firebase.ui.auth.util.EmailLinkConstants +import com.firebaseui.android.demo.utils.EMAIL_LINK_ORIGIN_PARAM import com.google.firebase.auth.actionCodeSettings class FullCustomizationDemoActivity : ComponentActivity() { @@ -120,59 +123,63 @@ class FullCustomizationDemoActivity : ComponentActivity() { ) } FullCustomizationTheme(themeId = themeId) { - Box(modifier = Modifier.fillMaxSize()) { - Surface( - modifier = Modifier.fillMaxSize(), - color = MaterialTheme.colorScheme.background - ) { - FirebaseAuthScreen( - configuration = configuration, - authUI = authUI, - emailLink = emailLink, - onSignInSuccess = { result -> - Log.d("FullCustomizationDemo", "Auth success: ${result.user?.uid}") - }, - onSignInFailure = { exception: AuthException -> - Log.e("FullCustomizationDemo", "Auth failed", exception) - }, - onSignInCancelled = { - Log.d("FullCustomizationDemo", "Auth cancelled") - }, - mfaConfiguration = MfaConfiguration( - allowedFactors = listOf(MfaFactor.Sms, MfaFactor.Totp), - requireEnrollment = false, - ), - customMethodPickerLayout = { providers, onProviderSelected -> - MainUI( - authUI = authUI, - configuration = configuration, - providers = providers, - onProviderSelected = onProviderSelected, - ) - }, - // Covers the email flows the library navigates to itself. - emailContent = { state -> EmailAuthUI(state) }, - phoneContent = { state -> PhoneSignInUI(state) }, - mfaEnrollmentContent = { state -> MfaEnrollmentUI(state) }, - mfaChallengeContent = { state -> MfaChallengeUI(state) }, - reauthContent = { state -> ReauthUI(state) }, - authenticatedContent = { state, uiContext -> - AuthenticatedUI(state = state, uiContext = uiContext) + CompositionLocalProvider( + LocalLegalLinks provides LegalLinks(configuration.tosUrl, configuration.privacyPolicyUrl), + ) { + Box(modifier = Modifier.fillMaxSize()) { + Surface( + modifier = Modifier.fillMaxSize(), + color = MaterialTheme.colorScheme.background + ) { + FirebaseAuthScreen( + configuration = configuration, + authUI = authUI, + emailLink = emailLink, + onSignInSuccess = { result -> + Log.d("FullCustomizationDemo", "Auth success: ${result.user?.uid}") + }, + onSignInFailure = { exception: AuthException -> + Log.e("FullCustomizationDemo", "Auth failed", exception) + }, + onSignInCancelled = { + Log.d("FullCustomizationDemo", "Auth cancelled") + }, + mfaConfiguration = MfaConfiguration( + allowedFactors = listOf(MfaFactor.Sms, MfaFactor.Totp), + requireEnrollment = false, + ), + customMethodPickerLayout = { providers, onProviderSelected -> + MainUI( + authUI = authUI, + configuration = configuration, + providers = providers, + onProviderSelected = onProviderSelected, + ) + }, + // Covers the email flows the library navigates to itself. + emailContent = { state -> EmailAuthUI(state) }, + phoneContent = { state -> PhoneSignInUI(state) }, + mfaEnrollmentContent = { state -> MfaEnrollmentUI(state) }, + mfaChallengeContent = { state -> MfaChallengeUI(state) }, + reauthContent = { state -> ReauthUI(state) }, + authenticatedContent = { state, uiContext -> + AuthenticatedUI(state = state, uiContext = uiContext) + }, + ) + } + // Over every screen, so the theme can be switched mid-flow. + ThemeSwitcher( + selected = themeId, + onSelect = { selected -> + themeId = selected + preferences.edit { putString(THEME_KEY, selected.name) } }, + modifier = Modifier + .align(Alignment.TopCenter) + .statusBarsPadding() + .padding(top = 8.dp), ) } - // Over every screen, so the theme can be switched mid-flow. - ThemeSwitcher( - selected = themeId, - onSelect = { selected -> - themeId = selected - preferences.edit { putString(THEME_KEY, selected.name) } - }, - modifier = Modifier - .align(Alignment.TopCenter) - .statusBarsPadding() - .padding(top = 8.dp), - ) } } } diff --git a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/common/AuthPage.kt b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/common/AuthPage.kt index e029982357..5ed53e2459 100644 --- a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/common/AuthPage.kt +++ b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/common/AuthPage.kt @@ -21,6 +21,8 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.semantics.contentDescription import androidx.compose.ui.semantics.semantics import androidx.compose.ui.unit.dp +import com.firebaseui.android.demo.auth.fullcustomization.professional.ProPage +import com.firebaseui.android.demo.auth.fullcustomization.professional.isProfessional import com.firebaseui.android.demo.auth.fullcustomization.theme.LocalFullCustomizationStyle /** @@ -44,6 +46,19 @@ fun AuthPage( actions: @Composable ColumnScope.() -> Unit, card: @Composable ColumnScope.() -> Unit, ) { + // Professional lays the same content out as a plain left-aligned form, with no card. + if (isProfessional()) { + ProPage( + title = title, + modifier = Modifier.semantics { contentDescription = cardContentDescription }, + ) { + card() + Spacer(modifier = Modifier.height(8.dp)) + actions() + } + return + } + Box(modifier = Modifier.fillMaxSize()) { // Outside safeDrawingPadding so it runs edge to edge under the system bars. ThemeBackground() diff --git a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/common/AuthTextFieldStyle.kt b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/common/AuthTextFieldStyle.kt index 877464fb05..541d0612e4 100644 --- a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/common/AuthTextFieldStyle.kt +++ b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/common/AuthTextFieldStyle.kt @@ -1,9 +1,14 @@ package com.firebaseui.android.demo.auth.fullcustomization.common import androidx.compose.foundation.Image +import androidx.compose.foundation.clickable import androidx.compose.foundation.interaction.MutableInteractionSource import androidx.compose.foundation.interaction.collectIsFocusedAsState +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.defaultMinSize +import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.foundation.shape.RoundedCornerShape @@ -18,16 +23,21 @@ import androidx.compose.material3.TextFieldColors import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue import androidx.compose.runtime.remember +import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier +import androidx.compose.ui.focus.FocusRequester +import androidx.compose.ui.focus.focusRequester import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.ColorFilter import androidx.compose.ui.graphics.Shape import androidx.compose.ui.graphics.SolidColor -import androidx.compose.ui.graphics.ColorFilter import androidx.compose.ui.res.painterResource import androidx.compose.ui.semantics.semantics +import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.input.VisualTransformation import androidx.compose.ui.unit.dp import com.firebaseui.android.demo.R +import com.firebaseui.android.demo.auth.fullcustomization.theme.FullCustomizationThemeId import com.firebaseui.android.demo.auth.fullcustomization.theme.LocalFullCustomizationStyle val AuthFieldShape = RoundedCornerShape(24.dp) @@ -63,6 +73,8 @@ fun FullCustomizationTextField( visualTransformation: VisualTransformation = VisualTransformation.None, keyboardOptions: KeyboardOptions = KeyboardOptions.Default, shape: Shape = LocalFullCustomizationStyle.current.fieldShape, + /** Professional only: an action at the end of the label row, such as "Forgot password?". */ + labelAction: (@Composable () -> Unit)? = null, ) { val colors = authTextFieldColors() val interactionSource = remember { MutableInteractionSource() } @@ -73,20 +85,25 @@ fun FullCustomizationTextField( isFocused -> colors.focusedTextColor else -> colors.unfocusedTextColor } - val labelSlot: (@Composable () -> Unit)? = label?.let { { Text(it) } } + // Professional sets the label above a 48dp field, as a plain form does; the others float it. + val compact = LocalFullCustomizationStyle.current.id == FullCustomizationThemeId.Professional + val labelAbove = compact && label != null + val labelSlot: (@Composable () -> Unit)? = label?.takeUnless { labelAbove }?.let { { Text(it) } } + val focusRequester = remember { FocusRequester() } + val fieldModifier = when { + labelAbove -> Modifier.fillMaxWidth().focusRequester(focusRequester) + // OutlinedTextField's top inset, so a floating label isn't clipped by the field above. + label != null -> modifier.semantics(mergeDescendants = true) {}.padding(top = 8.dp) + else -> modifier + } - BasicTextField( + val field: @Composable () -> Unit = { BasicTextField( value = value, onValueChange = onValueChange, - // OutlinedTextField's top inset, so a floating label isn't clipped by the field above. - modifier = modifier - .then( - if (label != null) Modifier.semantics(mergeDescendants = true) {}.padding(top = 8.dp) else Modifier - ) - .defaultMinSize( - minWidth = OutlinedTextFieldDefaults.MinWidth, - minHeight = OutlinedTextFieldDefaults.MinHeight, - ), + modifier = fieldModifier.defaultMinSize( + minWidth = OutlinedTextFieldDefaults.MinWidth, + minHeight = if (compact) 48.dp else OutlinedTextFieldDefaults.MinHeight, + ), enabled = enabled, textStyle = LocalTextStyle.current.merge(color = textColor), keyboardOptions = keyboardOptions, @@ -110,6 +127,11 @@ fun FullCustomizationTextField( trailingIcon = trailingIcon, supportingText = supportingText?.let { { Text(it) } }, colors = colors, + contentPadding = if (compact) { + OutlinedTextFieldDefaults.contentPadding(start = 14.dp, top = 12.dp, end = 14.dp, bottom = 12.dp) + } else { + OutlinedTextFieldDefaults.contentPadding() + }, container = { OutlinedTextFieldDefaults.Container( enabled = enabled, @@ -124,7 +146,34 @@ fun FullCustomizationTextField( }, ) }, - ) + ) } + + if (labelAbove) { + // The whole block focuses the field, as a form label does, so a tap on the label lands. + Column( + verticalArrangement = Arrangement.spacedBy(6.dp), + modifier = modifier + .semantics(mergeDescendants = true) {} + .clickable( + enabled = enabled, + interactionSource = remember { MutableInteractionSource() }, + indication = null, + ) { focusRequester.requestFocus() }, + ) { + Row(verticalAlignment = Alignment.CenterVertically) { + Text( + text = label.orEmpty(), + style = MaterialTheme.typography.bodyMedium.copy(fontWeight = FontWeight.Medium), + color = MaterialTheme.colorScheme.onSurface, + modifier = Modifier.weight(1f), + ) + labelAction?.invoke() + } + field() + } + } else { + field() + } } @Composable diff --git a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/common/CtaButton.kt b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/common/CtaButton.kt index 253363e5e5..358dde97eb 100644 --- a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/common/CtaButton.kt +++ b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/common/CtaButton.kt @@ -55,7 +55,7 @@ fun CtaButton( contentPadding = PaddingValues(horizontal = 24.dp, vertical = 10.dp), modifier = Modifier .fillMaxWidth() - .height(80.dp), + .height(style.buttonHeight), ) { if (isLoading) { // M3 default (primary) reads on the disabled fill; LocalContentColor would wash it out. diff --git a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/common/SheetProviderButton.kt b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/common/SheetProviderButton.kt index b8f84153ac..8c461498b7 100644 --- a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/common/SheetProviderButton.kt +++ b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/common/SheetProviderButton.kt @@ -21,6 +21,7 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.painter.Painter import androidx.compose.ui.graphics.vector.rememberVectorPainter import androidx.compose.ui.res.painterResource import androidx.compose.ui.text.style.TextOverflow @@ -37,17 +38,7 @@ fun SheetProviderButton( modifier: Modifier = Modifier, ) { val label = providerSheetLabel(provider) - val style = when (provider) { - is AuthProvider.Google -> ProviderStyleDefaults.Google - is AuthProvider.Facebook -> ProviderStyleDefaults.Facebook - is AuthProvider.Twitter -> ProviderStyleDefaults.Twitter - is AuthProvider.Github -> ProviderStyleDefaults.Github - is AuthProvider.Microsoft -> ProviderStyleDefaults.Microsoft - is AuthProvider.Yahoo -> ProviderStyleDefaults.Yahoo - is AuthProvider.Apple -> ProviderStyleDefaults.Apple - is AuthProvider.Anonymous -> ProviderStyleDefaults.Anonymous - else -> ProviderStyleDefaults.Email - } + val style = providerStyleFor(provider) val theme = LocalFullCustomizationStyle.current val backgroundColor = if (provider is AuthProvider.Phone) { theme.phoneProvider.container @@ -106,6 +97,23 @@ fun SheetProviderButton( } } +private fun providerStyleFor(provider: AuthProvider) = when (provider) { + is AuthProvider.Google -> ProviderStyleDefaults.Google + is AuthProvider.Facebook -> ProviderStyleDefaults.Facebook + is AuthProvider.Twitter -> ProviderStyleDefaults.Twitter + is AuthProvider.Github -> ProviderStyleDefaults.Github + is AuthProvider.Microsoft -> ProviderStyleDefaults.Microsoft + is AuthProvider.Yahoo -> ProviderStyleDefaults.Yahoo + is AuthProvider.Apple -> ProviderStyleDefaults.Apple + is AuthProvider.Anonymous -> ProviderStyleDefaults.Anonymous + else -> ProviderStyleDefaults.Email +} + +/** The library's brand mark for [provider], or null when it has none (phone). */ +@Composable +internal fun providerIconPainter(provider: AuthProvider): Painter? = + providerStyleFor(provider).icon?.asPainter() + private fun providerSheetLabel(provider: AuthProvider): String = when (provider) { is AuthProvider.Google -> "Sign in with Google" is AuthProvider.Facebook -> "Sign in with Facebook" diff --git a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/common/ThemeChrome.kt b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/common/ThemeChrome.kt index c3d75705f6..6f0f5a860f 100644 --- a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/common/ThemeChrome.kt +++ b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/common/ThemeChrome.kt @@ -73,6 +73,8 @@ fun ThemeBackground() { art = painterResource(id = R.drawable.full_customization_spark_blob), x = (-295.8).dp, y = (-317.7).dp, width = 751.dp, height = 735.3.dp, ) + FullCustomizationThemeId.Professional -> + Box(modifier = Modifier.fillMaxSize().background(page)) } // The art is drawn for a light page; dark mode washes it back toward the dark one. Box(modifier = Modifier.fillMaxSize().background(style.artScrim)) @@ -124,7 +126,7 @@ fun ThemeHeader( SparkHeadline() Spacer(modifier = Modifier.height(24.dp)) } - FullCustomizationThemeId.Grid -> Unit + FullCustomizationThemeId.Grid, FullCustomizationThemeId.Professional -> Unit } Text( text = title, diff --git a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/professional/ProEmailScreens.kt b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/professional/ProEmailScreens.kt new file mode 100644 index 0000000000..3c061fbbec --- /dev/null +++ b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/professional/ProEmailScreens.kt @@ -0,0 +1,289 @@ +package com.firebaseui.android.demo.auth.fullcustomization.professional + +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.text.KeyboardOptions +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.filled.Visibility +import androidx.compose.material.icons.filled.VisibilityOff +import androidx.compose.material3.Icon +import androidx.compose.material3.IconButton +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.Text +import androidx.compose.material3.TextButton +import androidx.compose.runtime.Composable +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.setValue +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.semantics.contentDescription +import androidx.compose.ui.semantics.semantics +import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.text.input.KeyboardType +import androidx.compose.ui.text.input.PasswordVisualTransformation +import androidx.compose.ui.text.input.VisualTransformation +import androidx.compose.ui.unit.dp +import com.firebase.ui.auth.configuration.auth_provider.AuthProvider +import com.firebase.ui.auth.ui.screens.email.EmailAuthContentState +import com.firebaseui.android.demo.auth.fullcustomization.common.CtaButton +import com.firebaseui.android.demo.auth.fullcustomization.common.FullCustomizationTextField +import com.firebaseui.android.demo.auth.fullcustomization.common.secondaryCtaColors + +/** The providers the landing shows inline, in this order; the rest stay in the sheet. */ +fun proInlineProviders(providers: List): List = listOfNotNull( + providers.firstOrNull { it is AuthProvider.Google }, + providers.firstOrNull { it is AuthProvider.Apple }, + providers.firstOrNull { it is AuthProvider.Phone }, +) + +private fun inlineLabel(provider: AuthProvider): String = when (provider) { + is AuthProvider.Google -> "Continue with Google" + is AuthProvider.Apple -> "Continue with Apple" + is AuthProvider.Phone -> "Continue with phone" + else -> "Continue" +} + +/** + * The landing: the common providers inline, then the email form. One Continue goes to the + * password step and account creation is a link, rather than two equal buttons. + * + * @param onShowOtherMethods Opens the sheet with the remaining providers; null hides the link. + */ +@Composable +fun ProLanding( + email: String, + onEmailChange: (String) -> Unit, + isLoading: Boolean, + onContinue: () -> Unit, + onCreateAccount: () -> Unit, + inlineProviders: List, + onProviderSelected: (AuthProvider) -> Unit, + onShowOtherMethods: (() -> Unit)?, +) { + val isEmailValid = remember(email) { android.util.Patterns.EMAIL_ADDRESS.matcher(email).matches() } + val showEmailError = email.isNotBlank() && !isEmailValid + + ProPage(title = "Sign in", subtitle = "Use your work account to continue.") { + if (inlineProviders.isNotEmpty() || onShowOtherMethods != null) { + Column(verticalArrangement = Arrangement.spacedBy(12.dp)) { + inlineProviders.forEach { provider -> + ProProviderButton( + provider = provider, + label = inlineLabel(provider), + onClick = { onProviderSelected(provider) }, + enabled = !isLoading, + ) + } + onShowOtherMethods?.let { show -> + TextButton( + onClick = show, + modifier = Modifier + .align(Alignment.CenterHorizontally) + .semantics { contentDescription = "Other sign-in methods button" }, + ) { + Text("More sign-in options", fontWeight = FontWeight.Medium) + } + } + } + ProOrDivider() + } + + FullCustomizationTextField( + value = email, + onValueChange = onEmailChange, + label = "Email", + placeholder = "name@company.com", + enabled = !isLoading, + isError = showEmailError, + supportingText = if (showEmailError) "Enter a valid email address" else null, + keyboardOptions = KeyboardOptions(keyboardType = KeyboardType.Email), + modifier = Modifier + .fillMaxWidth() + .semantics { contentDescription = "text-field - email address input" }, + ) + + CtaButton( + text = "Continue", + onClick = onContinue, + enabled = isEmailValid && !isLoading, + isLoading = isLoading, + modifier = Modifier.semantics { contentDescription = "button - sign in" }, + ) + + Row( + horizontalArrangement = Arrangement.Center, + verticalAlignment = Alignment.CenterVertically, + modifier = Modifier.fillMaxWidth(), + ) { + Text( + text = "New here?", + style = MaterialTheme.typography.bodyMedium, + color = MaterialTheme.colorScheme.onSurfaceVariant, + ) + TextButton( + onClick = onCreateAccount, + enabled = !isLoading, + modifier = Modifier.semantics { contentDescription = "button - create account" }, + ) { + Text("Create an account", fontWeight = FontWeight.Medium) + } + } + } +} + +/** The password step: back in the top bar, "Forgot password?" on the label row. */ +@Composable +fun ProLogin(state: EmailAuthContentState, onUseDifferentEmail: () -> Unit) { + var passwordVisible by remember { mutableStateOf(false) } + + ProPage( + title = "Enter your password", + subtitle = state.email, + topBar = { ProBackBar(onBack = onUseDifferentEmail, enabled = !state.isLoading) }, + ) { + FullCustomizationTextField( + value = state.password, + onValueChange = state.onPasswordChange, + label = "Password", + labelAction = { + TextButton( + onClick = state.onSendResetLinkClick, + enabled = !state.resetLinkSent && !state.isLoading, + ) { + Text( + text = if (state.resetLinkSent) "Reset link sent" else "Forgot password?", + fontWeight = FontWeight.Medium, + ) + } + }, + enabled = !state.isLoading, + visualTransformation = if (passwordVisible) VisualTransformation.None else PasswordVisualTransformation(), + trailingIcon = { + IconButton(onClick = { passwordVisible = !passwordVisible }) { + Icon( + imageVector = if (passwordVisible) Icons.Default.VisibilityOff else Icons.Default.Visibility, + contentDescription = if (passwordVisible) "Hide password" else "Show password", + ) + } + }, + modifier = Modifier + .fillMaxWidth() + .semantics { contentDescription = "text-field - password secure input" }, + ) + + CtaButton( + text = "Sign in", + onClick = state.onSignInClick, + enabled = state.password.isNotBlank() && !state.isLoading, + isLoading = state.isLoading, + modifier = Modifier.semantics { contentDescription = "button - login" }, + ) + + CtaButton( + text = if (state.emailSignInLinkSent) "Sign-in link sent" else "Email me a sign-in link", + onClick = state.onSignInEmailLinkClick, + enabled = !state.isLoading, + colors = secondaryCtaColors(), + modifier = Modifier.semantics { contentDescription = "button - send login link" }, + ) + } +} + +/** Account creation: one column, the same checks as the shared sign-up step. */ +@Composable +fun ProSignUp(state: EmailAuthContentState, onUseDifferentEmail: () -> Unit) { + var firstName by remember { mutableStateOf("") } + var lastName by remember { mutableStateOf("") } + var confirmEmail by remember { mutableStateOf("") } + + // Trimmed and case-insensitive: the default keyboard auto-capitalises on many IMEs. + val emailsMatch = confirmEmail.isNotBlank() && + confirmEmail.trim().equals(state.email.trim(), ignoreCase = true) + val passwordsMatch = state.confirmPassword.isNotBlank() && state.confirmPassword == state.password + val canSignUp = firstName.isNotBlank() && lastName.isNotBlank() && emailsMatch && + state.password.isNotBlank() && passwordsMatch && !state.isLoading + + ProPage( + title = "Create your account", + topBar = { ProBackBar(onBack = onUseDifferentEmail, enabled = !state.isLoading) }, + ) { + Row(horizontalArrangement = Arrangement.spacedBy(12.dp)) { + FullCustomizationTextField( + value = firstName, + onValueChange = { firstName = it }, + label = "First name", + enabled = !state.isLoading, + modifier = Modifier + .weight(1f) + .semantics { contentDescription = "text-field - first name" }, + ) + FullCustomizationTextField( + value = lastName, + onValueChange = { lastName = it }, + label = "Last name", + enabled = !state.isLoading, + modifier = Modifier + .weight(1f) + .semantics { contentDescription = "text-field - last name" }, + ) + } + FullCustomizationTextField( + value = state.email, + onValueChange = state.onEmailChange, + label = "Email", + enabled = !state.isLoading, + keyboardOptions = KeyboardOptions(keyboardType = KeyboardType.Email), + modifier = Modifier + .fillMaxWidth() + .semantics { contentDescription = "text-field - email address display" }, + ) + FullCustomizationTextField( + value = confirmEmail, + onValueChange = { confirmEmail = it }, + label = "Confirm email", + enabled = !state.isLoading, + isError = confirmEmail.isNotBlank() && !emailsMatch, + supportingText = if (confirmEmail.isNotBlank() && !emailsMatch) "Emails don't match" else null, + keyboardOptions = KeyboardOptions(keyboardType = KeyboardType.Email), + modifier = Modifier + .fillMaxWidth() + .semantics { contentDescription = "text-field - confirm email" }, + ) + FullCustomizationTextField( + value = state.password, + onValueChange = state.onPasswordChange, + label = "Password", + enabled = !state.isLoading, + visualTransformation = PasswordVisualTransformation(), + modifier = Modifier + .fillMaxWidth() + .semantics { contentDescription = "text-field - password" }, + ) + FullCustomizationTextField( + value = state.confirmPassword, + onValueChange = state.onConfirmPasswordChange, + label = "Confirm password", + enabled = !state.isLoading, + isError = state.confirmPassword.isNotBlank() && !passwordsMatch, + supportingText = if (state.confirmPassword.isNotBlank() && !passwordsMatch) "Passwords don't match" else null, + visualTransformation = PasswordVisualTransformation(), + modifier = Modifier + .fillMaxWidth() + .semantics { contentDescription = "text-field - confirm password" }, + ) + CtaButton( + text = "Create account", + onClick = { + state.onDisplayNameChange("$firstName $lastName".trim()) + state.onSignUpClick() + }, + enabled = canSignUp, + isLoading = state.isLoading, + modifier = Modifier.semantics { contentDescription = "button - sign up" }, + ) + } +} diff --git a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/professional/ProKit.kt b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/professional/ProKit.kt new file mode 100644 index 0000000000..2a5a1a0d2b --- /dev/null +++ b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/professional/ProKit.kt @@ -0,0 +1,258 @@ +package com.firebaseui.android.demo.auth.fullcustomization.professional + +import androidx.compose.foundation.BorderStroke +import androidx.compose.foundation.Image +import androidx.compose.foundation.background +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.BoxWithConstraints +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.ColumnScope +import androidx.compose.foundation.layout.PaddingValues +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.heightIn +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.safeDrawingPadding +import androidx.compose.foundation.layout.size +import androidx.compose.foundation.layout.widthIn +import androidx.compose.foundation.rememberScrollState +import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.foundation.verticalScroll +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.automirrored.filled.KeyboardArrowLeft +import androidx.compose.material.icons.filled.Phone +import androidx.compose.material.icons.outlined.Shield +import androidx.compose.material3.ButtonDefaults +import androidx.compose.material3.HorizontalDivider +import androidx.compose.material3.Icon +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.OutlinedButton +import androidx.compose.material3.Text +import androidx.compose.material3.TextButton +import androidx.compose.runtime.Composable +import androidx.compose.runtime.Immutable +import androidx.compose.runtime.staticCompositionLocalOf +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.ColorFilter +import androidx.compose.ui.platform.LocalUriHandler +import androidx.compose.ui.semantics.contentDescription +import androidx.compose.ui.semantics.semantics +import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp +import com.firebase.ui.auth.configuration.auth_provider.AuthProvider +import com.firebaseui.android.demo.auth.fullcustomization.common.providerIconPainter +import com.firebaseui.android.demo.auth.fullcustomization.theme.FullCustomizationThemeId +import com.firebaseui.android.demo.auth.fullcustomization.theme.LocalFullCustomizationStyle + +/** The configuration's Terms and Privacy URLs, for the footer the professional screens pin to the bottom. */ +@Immutable +data class LegalLinks(val tosUrl: String?, val privacyPolicyUrl: String?) + +val LocalLegalLinks = staticCompositionLocalOf { LegalLinks(null, null) } + +/** Whether the screens should take the professional layout rather than the shared one. */ +@Composable +fun isProfessional(): Boolean = + LocalFullCustomizationStyle.current.id == FullCustomizationThemeId.Professional + +/** + * The page every professional screen sits on: a bar at the top, a left-aligned title, the content + * in one column, and Terms · Privacy pinned to the bottom. Capped at 480dp so it stays a form on a + * tablet. + */ +@Composable +fun ProPage( + title: String, + modifier: Modifier = Modifier, + subtitle: String? = null, + topBar: @Composable () -> Unit = { ProBrandBar() }, + content: @Composable ColumnScope.() -> Unit, +) { + BoxWithConstraints( + modifier = Modifier + .fillMaxSize() + .background(MaterialTheme.colorScheme.background) + .safeDrawingPadding(), + ) { + Column( + modifier = Modifier + .align(Alignment.TopCenter) + .widthIn(max = 480.dp) + .fillMaxWidth() + .verticalScroll(rememberScrollState()) + // heightIn(min = maxHeight) pins the footer to the bottom when everything fits. + .heightIn(min = maxHeight) + // The top inset clears the floating theme switcher. + .padding(start = 24.dp, end = 24.dp, top = 64.dp, bottom = 16.dp), + ) { + topBar() + Spacer(modifier = Modifier.height(32.dp)) + Text( + text = title, + style = MaterialTheme.typography.headlineSmall, + color = LocalFullCustomizationStyle.current.titleColor, + ) + subtitle?.let { + Spacer(modifier = Modifier.height(6.dp)) + Text( + text = it, + style = MaterialTheme.typography.bodyLarge.copy(fontWeight = FontWeight.Normal), + color = MaterialTheme.colorScheme.onSurfaceVariant, + ) + } + Spacer(modifier = Modifier.height(32.dp)) + Column( + modifier = modifier.fillMaxWidth(), + verticalArrangement = Arrangement.spacedBy(16.dp), + content = content, + ) + Spacer(modifier = Modifier.weight(1f)) + Spacer(modifier = Modifier.height(24.dp)) + ProFooter() + } + } +} + +/** The product mark and name, top-left, in place of a mascot or a centred greeting. */ +@Composable +fun ProBrandBar() { + Row( + verticalAlignment = Alignment.CenterVertically, + horizontalArrangement = Arrangement.spacedBy(10.dp), + modifier = Modifier.height(48.dp), + ) { + Box( + contentAlignment = Alignment.Center, + modifier = Modifier + .size(28.dp) + .background(MaterialTheme.colorScheme.primary, RoundedCornerShape(6.dp)), + ) { + Icon( + imageVector = Icons.Outlined.Shield, + contentDescription = null, + tint = MaterialTheme.colorScheme.onPrimary, + modifier = Modifier.size(16.dp), + ) + } + Text( + text = "FirebaseUI Demo", + style = MaterialTheme.typography.bodyLarge.copy(fontWeight = FontWeight.SemiBold), + color = MaterialTheme.colorScheme.onSurface, + ) + } +} + +/** A "Back" link in the top bar, in place of a full-width "Use a different email" button. */ +@Composable +fun ProBackBar(onBack: () -> Unit, enabled: Boolean = true, label: String = "Back") { + TextButton( + onClick = onBack, + enabled = enabled, + contentPadding = PaddingValues(start = 0.dp, end = 12.dp), + modifier = Modifier + .height(48.dp) + .semantics { contentDescription = "button - back" }, + ) { + Icon( + imageVector = Icons.AutoMirrored.Filled.KeyboardArrowLeft, + contentDescription = null, + modifier = Modifier.size(22.dp), + ) + Text(text = label, style = MaterialTheme.typography.bodyLarge) + } +} + +/** Terms · Privacy, pinned to the bottom of every professional screen. */ +@Composable +fun ProFooter() { + val links = LocalLegalLinks.current + val uriHandler = LocalUriHandler.current + val items = listOfNotNull( + links.tosUrl?.let { "Terms" to it }, + links.privacyPolicyUrl?.let { "Privacy" to it }, + ) + if (items.isEmpty()) return + Row( + horizontalArrangement = Arrangement.Center, + verticalAlignment = Alignment.CenterVertically, + modifier = Modifier.fillMaxWidth(), + ) { + items.forEachIndexed { index, (label, url) -> + if (index > 0) { + Text(text = "·", color = MaterialTheme.colorScheme.onSurfaceVariant, fontSize = 12.sp) + } + TextButton(onClick = { uriHandler.openUri(url) }) { + Text( + text = label, + fontSize = 12.sp, + color = MaterialTheme.colorScheme.onSurfaceVariant, + ) + } + } + } +} + +/** A full-width outlined "Continue with …" button, for the providers the landing shows inline. */ +@Composable +fun ProProviderButton( + provider: AuthProvider, + label: String, + onClick: () -> Unit, + enabled: Boolean = true, +) { + val style = LocalFullCustomizationStyle.current + OutlinedButton( + onClick = onClick, + enabled = enabled, + shape = style.providerButtonShape, + border = BorderStroke(1.dp, MaterialTheme.colorScheme.outlineVariant), + colors = ButtonDefaults.outlinedButtonColors( + containerColor = style.fieldContainer, + contentColor = MaterialTheme.colorScheme.onSurface, + ), + modifier = Modifier + .fillMaxWidth() + .height(style.buttonHeight) + .semantics { contentDescription = "button - $label" }, + ) { + if (provider is AuthProvider.Phone) { + Icon(imageVector = Icons.Default.Phone, contentDescription = null, modifier = Modifier.size(18.dp)) + } else { + providerIconPainter(provider)?.let { painter -> + Image( + painter = painter, + contentDescription = null, + // Apple's mark is drawn white for its black button; ink it for this outlined one. + colorFilter = if (provider is AuthProvider.Apple) { + ColorFilter.tint(MaterialTheme.colorScheme.onSurface) + } else { + null + }, + modifier = Modifier.size(18.dp), + ) + } + } + Spacer(modifier = Modifier.size(12.dp)) + Text(text = label, style = MaterialTheme.typography.bodyLarge) + } +} + +/** "or", between the providers and the email form. */ +@Composable +fun ProOrDivider() { + Row( + verticalAlignment = Alignment.CenterVertically, + horizontalArrangement = Arrangement.spacedBy(12.dp), + modifier = Modifier.padding(vertical = 4.dp), + ) { + HorizontalDivider(modifier = Modifier.weight(1f), color = MaterialTheme.colorScheme.outlineVariant) + Text(text = "or", fontSize = 13.sp, color = MaterialTheme.colorScheme.onSurfaceVariant) + HorizontalDivider(modifier = Modifier.weight(1f), color = MaterialTheme.colorScheme.outlineVariant) + } +} diff --git a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/professional/ProPhoneScreens.kt b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/professional/ProPhoneScreens.kt new file mode 100644 index 0000000000..d54255fc8e --- /dev/null +++ b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/professional/ProPhoneScreens.kt @@ -0,0 +1,127 @@ +package com.firebaseui.android.demo.auth.fullcustomization.professional + +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.requiredHeight +import androidx.compose.foundation.text.KeyboardOptions +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.Surface +import androidx.compose.material3.Text +import androidx.compose.material3.TextButton +import androidx.compose.runtime.Composable +import androidx.compose.runtime.remember +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.semantics.contentDescription +import androidx.compose.ui.semantics.semantics +import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.text.input.KeyboardType +import androidx.compose.ui.unit.dp +import com.firebase.ui.auth.ui.components.CountrySelector +import com.firebase.ui.auth.ui.components.VerificationCodeInputField +import com.firebase.ui.auth.ui.screens.phone.PhoneAuthContentState +import com.firebaseui.android.demo.auth.fullcustomization.common.CtaButton +import com.firebaseui.android.demo.auth.fullcustomization.common.FullCustomizationTextField +import com.firebaseui.android.demo.auth.fullcustomization.common.themeFieldBorder +import com.firebaseui.android.demo.auth.fullcustomization.theme.LocalFullCustomizationStyle + +@Composable +fun ProPhoneEntry(state: PhoneAuthContentState) { + val isPhoneValid = remember(state.phoneNumber) { + android.util.Patterns.PHONE.matcher(state.phoneNumber).matches() + } + val style = LocalFullCustomizationStyle.current + + ProPage(title = "Sign in with phone", subtitle = "We'll text a code to this number.") { + Column(verticalArrangement = Arrangement.spacedBy(6.dp)) { + Text( + text = "Phone number", + style = MaterialTheme.typography.bodyMedium.copy(fontWeight = FontWeight.Medium), + color = MaterialTheme.colorScheme.onSurface, + ) + Row(horizontalArrangement = Arrangement.spacedBy(12.dp)) { + Surface( + color = style.fieldContainer, + shape = style.fieldShape, + modifier = Modifier + .requiredHeight(48.dp) + .themeFieldBorder() + .semantics { contentDescription = "country code selector" }, + ) { + CountrySelector( + selectedCountry = state.selectedCountry, + onCountrySelected = state.onCountrySelected, + enabled = !state.isLoading, + ) + } + FullCustomizationTextField( + value = state.phoneNumber, + onValueChange = state.onPhoneNumberChange, + placeholder = "(555) 555-0100", + enabled = !state.isLoading, + isError = state.error != null, + keyboardOptions = KeyboardOptions(keyboardType = KeyboardType.Phone), + modifier = Modifier + .weight(1f) + .semantics { contentDescription = "text-field - phone number input" }, + ) + } + Text( + text = state.error ?: "Message and data rates may apply.", + style = MaterialTheme.typography.bodySmall, + color = if (state.error != null) { + MaterialTheme.colorScheme.error + } else { + MaterialTheme.colorScheme.onSurfaceVariant + }, + ) + } + + CtaButton( + text = "Send code", + onClick = state.onSendCodeClick, + enabled = isPhoneValid && !state.isLoading, + isLoading = state.isLoading, + modifier = Modifier.semantics { contentDescription = "button - send verification code" }, + ) + } +} + +@Composable +fun ProPhoneVerification(state: PhoneAuthContentState) { + ProPage( + title = "Enter the code", + subtitle = "We sent a 6-digit code to ${state.fullPhoneNumber}.", + topBar = { ProBackBar(onBack = state.onChangeNumberClick, enabled = !state.isLoading) }, + ) { + VerificationCodeInputField( + modifier = Modifier + .fillMaxWidth() + .semantics { contentDescription = "text-field - verification code input" }, + isError = state.error != null, + errorMessage = state.error, + onCodeChange = state.onVerificationCodeChange, + ) + + CtaButton( + text = "Verify", + onClick = state.onVerifyCodeClick, + enabled = state.verificationCode.isNotBlank() && !state.isLoading, + isLoading = state.isLoading, + modifier = Modifier.semantics { contentDescription = "button - verify code" }, + ) + + TextButton( + onClick = state.onResendCodeClick, + enabled = state.resendTimer == 0 && !state.isLoading, + modifier = Modifier.align(Alignment.CenterHorizontally), + ) { + Text( + text = if (state.resendTimer > 0) "Resend code in ${state.resendTimer}s" else "Resend code", + fontWeight = FontWeight.Medium, + ) + } + } +} diff --git a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/AuthMethodPickerUI.kt b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/AuthMethodPickerUI.kt index 9592a31203..a4cb67306f 100644 --- a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/AuthMethodPickerUI.kt +++ b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/AuthMethodPickerUI.kt @@ -30,6 +30,8 @@ import com.firebase.ui.auth.ui.screens.AuthRoute import com.firebase.ui.auth.ui.screens.email.EmailAuthMode import com.firebase.ui.auth.ui.screens.email.EmailAuthScreen import com.firebaseui.android.demo.auth.fullcustomization.common.OtherSignInMethodsSheet +import com.firebaseui.android.demo.auth.fullcustomization.professional.isProfessional +import com.firebaseui.android.demo.auth.fullcustomization.professional.proInlineProviders import com.firebaseui.android.demo.auth.fullcustomization.screens.email.pages.EmailEntryStep import com.firebaseui.android.demo.auth.fullcustomization.screens.email.pages.LoginStep import com.firebaseui.android.demo.auth.fullcustomization.screens.email.pages.SignUpStep @@ -111,6 +113,8 @@ fun AuthMethodPickerUI( ) { var showOtherMethods by remember { mutableStateOf(false) } val backStack = rememberNavBackStack(EmailEntryKey) + // Professional shows the common providers on the landing itself; the others keep all of them in the sheet. + val inlineProviders = if (isProfessional()) proInlineProviders(otherProviders) else emptyList() Box(modifier = Modifier.fillMaxSize()) { NavDisplay( @@ -133,6 +137,8 @@ fun AuthMethodPickerUI( backStack.navigateToStep(AuthRoute.Email.SignUp(email)) }, onShowOtherMethods = { showOtherMethods = true }, + inlineProviders = inlineProviders, + onProviderSelected = onProviderSelected, ) } @@ -154,7 +160,7 @@ fun AuthMethodPickerUI( if (showOtherMethods) { OtherSignInMethodsSheet( - otherProviders = otherProviders, + otherProviders = otherProviders - inlineProviders.toSet(), onProviderSelected = onProviderSelected, onDismissRequest = { showOtherMethods = false }, tosUrl = configuration.tosUrl, diff --git a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/AuthenticatedUI.kt b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/AuthenticatedUI.kt index 02b27311ca..972aa79531 100644 --- a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/AuthenticatedUI.kt +++ b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/AuthenticatedUI.kt @@ -1,16 +1,33 @@ package com.firebaseui.android.demo.auth.fullcustomization.screens import android.util.Log +import androidx.compose.foundation.BorderStroke +import androidx.compose.foundation.background +import androidx.compose.foundation.clickable +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.ColumnScope +import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.heightIn +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.size +import androidx.compose.foundation.shape.CircleShape +import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.automirrored.filled.KeyboardArrowRight import androidx.compose.material.icons.filled.Visibility import androidx.compose.material.icons.filled.VisibilityOff +import androidx.compose.material.icons.outlined.Person import androidx.compose.material3.ButtonDefaults +import androidx.compose.material3.HorizontalDivider import androidx.compose.material3.Icon import androidx.compose.material3.IconButton import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.Composable @@ -18,14 +35,19 @@ import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember +import androidx.compose.runtime.saveable.rememberSaveable import androidx.compose.runtime.setValue +import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.Color import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.semantics.contentDescription import androidx.compose.ui.semantics.semantics +import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.input.PasswordVisualTransformation import androidx.compose.ui.text.input.VisualTransformation import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp import androidx.lifecycle.compose.LocalLifecycleOwner import androidx.lifecycle.lifecycleScope import com.firebase.ui.auth.AuthException @@ -36,8 +58,11 @@ import com.firebase.ui.auth.util.getDisplayEmail import com.firebaseui.android.demo.R import com.firebaseui.android.demo.auth.fullcustomization.common.AuthPage import com.firebaseui.android.demo.auth.fullcustomization.common.CtaButton -import com.firebaseui.android.demo.auth.fullcustomization.common.secondaryCtaColors import com.firebaseui.android.demo.auth.fullcustomization.common.FullCustomizationTextField +import com.firebaseui.android.demo.auth.fullcustomization.common.secondaryCtaColors +import com.firebaseui.android.demo.auth.fullcustomization.professional.ProPage +import com.firebaseui.android.demo.auth.fullcustomization.professional.isProfessional +import com.firebaseui.android.demo.auth.fullcustomization.theme.LocalFullCustomizationStyle import kotlinx.coroutines.launch import kotlinx.coroutines.tasks.await @@ -82,6 +107,81 @@ private fun SignedInPage(uiContext: AuthSuccessUiContext) { var statusMessage by remember { mutableStateOf(null) } var isError by remember { mutableStateOf(false) } + val changePassword: () -> Unit = { + // lifecycleScope: the reauth overlay replaces this screen; the retry outlives it. + lifecycleOwner.lifecycleScope.launch { + isUpdating = true + statusMessage = null + isError = false + try { + authUI.withReauth( + context, + reason = "Verify your identity to change your password", + ) { + authUI.getCurrentUser()?.updatePassword(newPassword)?.await() + Log.d(TAG, "Password changed successfully") + } + } catch (e: AuthException.AuthCancelledException) { + // Declined, not failed: the password is unchanged, so report neither. + Log.d(TAG, "Reauthentication declined", e) + } catch (e: Exception) { + Log.e(TAG, "Password change failed", e) + isError = true + statusMessage = "Couldn't change the password. Try again." + } finally { + isUpdating = false + } + } + } + + val passwordField: @Composable () -> Unit = { + FullCustomizationTextField( + value = newPassword, + onValueChange = { + newPassword = it + statusMessage = null + }, + label = "New password", + enabled = !isUpdating, + isError = isError, + supportingText = statusMessage, + visualTransformation = if (passwordVisible) { + VisualTransformation.None + } else { + PasswordVisualTransformation() + }, + trailingIcon = { + IconButton(onClick = { passwordVisible = !passwordVisible }) { + Icon( + imageVector = if (passwordVisible) { + Icons.Default.VisibilityOff + } else { + Icons.Default.Visibility + }, + contentDescription = null, + ) + } + }, + modifier = Modifier + .fillMaxWidth() + .semantics { contentDescription = "text-field - new password secure input" }, + ) + } + + if (isProfessional()) { + ProAccountPage( + uiContext = uiContext, + identifier = identifier, + hasTwoFactor = enrolledFactors.isNotEmpty(), + canChangePassword = newPassword.length >= 6 && !isUpdating, + isUpdating = isUpdating, + onChangePassword = changePassword, + ) { + passwordField() + } + return + } + AuthPage( mascot = R.drawable.full_customization_mascot, mascotDescription = "doggo - cute welcome mascot", @@ -101,67 +201,12 @@ private fun SignedInPage(uiContext: AuthSuccessUiContext) { color = MaterialTheme.colorScheme.onSurfaceVariant, ) - FullCustomizationTextField( - value = newPassword, - onValueChange = { - newPassword = it - statusMessage = null - }, - label = "New password", - enabled = !isUpdating, - isError = isError, - supportingText = statusMessage, - visualTransformation = if (passwordVisible) { - VisualTransformation.None - } else { - PasswordVisualTransformation() - }, - trailingIcon = { - IconButton(onClick = { passwordVisible = !passwordVisible }) { - Icon( - imageVector = if (passwordVisible) { - Icons.Default.VisibilityOff - } else { - Icons.Default.Visibility - }, - contentDescription = null, - ) - } - }, - modifier = Modifier - .fillMaxWidth() - .semantics { contentDescription = "text-field - new password secure input" }, - ) + passwordField() }, actions = { CtaButton( text = "Change password", - onClick = { - // lifecycleScope: the reauth overlay replaces this screen; the retry outlives it. - lifecycleOwner.lifecycleScope.launch { - isUpdating = true - statusMessage = null - isError = false - try { - authUI.withReauth( - context, - reason = "Verify your identity to change your password", - ) { - authUI.getCurrentUser()?.updatePassword(newPassword)?.await() - Log.d(TAG, "Password changed successfully") - } - } catch (e: AuthException.AuthCancelledException) { - // Declined, not failed: the password is unchanged, so report neither. - Log.d(TAG, "Reauthentication declined", e) - } catch (e: Exception) { - Log.e(TAG, "Password change failed", e) - isError = true - statusMessage = "Couldn't change the password. Try again." - } finally { - isUpdating = false - } - } - }, + onClick = changePassword, enabled = newPassword.length >= 6 && !isUpdating, isLoading = isUpdating, modifier = Modifier.semantics { contentDescription = "button - change password" }, @@ -280,3 +325,162 @@ private fun ProfileCompletionPage( }, ) } + +/** + * The professional account screen: a settings list rather than a card and stacked buttons. The + * password row opens the change-password form in place; two-factor goes to enrollment. + */ +@Composable +private fun ProAccountPage( + uiContext: AuthSuccessUiContext, + identifier: String, + hasTwoFactor: Boolean, + canChangePassword: Boolean, + isUpdating: Boolean, + onChangePassword: () -> Unit, + /** The new-password field, shown when the password row is opened. */ + content: @Composable () -> Unit, +) { + val user = uiContext.authUI.getCurrentUser() + val name = user?.displayName?.takeIf { it.isNotBlank() } + // Letters only: a phone-only account has none, and gets the person glyph instead. + val initials = (name ?: identifier.substringBefore('@')).split(" ", ".", "_", "-") + .mapNotNull { part -> part.firstOrNull { it.isLetter() } }.take(2) + .joinToString("") { it.uppercase() } + var showPasswordForm by rememberSaveable { mutableStateOf(false) } + val style = LocalFullCustomizationStyle.current + + ProPage( + title = "Account", + modifier = Modifier.semantics { contentDescription = "authenticated - account card" }, + ) { + Row(verticalAlignment = Alignment.CenterVertically, horizontalArrangement = Arrangement.spacedBy(14.dp)) { + Box( + contentAlignment = Alignment.Center, + modifier = Modifier + .size(48.dp) + .background(style.secondaryButton.container, CircleShape), + ) { + if (initials.isNotEmpty()) { + Text(text = initials, color = style.secondaryButton.content, fontWeight = FontWeight.SemiBold) + } else { + Icon(imageVector = Icons.Outlined.Person, contentDescription = null, tint = style.secondaryButton.content) + } + } + Column { + Text( + text = name ?: identifier, + style = MaterialTheme.typography.bodyLarge.copy(fontWeight = FontWeight.SemiBold), + color = MaterialTheme.colorScheme.onSurface, + ) + if (name != null) { + Text( + text = "Signed in as $identifier", + style = MaterialTheme.typography.bodyMedium, + color = MaterialTheme.colorScheme.onSurfaceVariant, + ) + } + } + } + + Text( + text = "SECURITY", + style = MaterialTheme.typography.labelMedium.copy(fontWeight = FontWeight.SemiBold, letterSpacing = 0.4.sp), + color = MaterialTheme.colorScheme.onSurfaceVariant, + modifier = Modifier.padding(start = 4.dp, top = 8.dp), + ) + ProSettingsGroup { + ProSettingsRow( + label = "Password", + value = if (showPasswordForm) "Cancel" else "Change", + onClick = { showPasswordForm = !showPasswordForm }, + enabled = !isUpdating, + ) + if (showPasswordForm) { + Column( + verticalArrangement = Arrangement.spacedBy(12.dp), + modifier = Modifier.padding(start = 16.dp, end = 16.dp, bottom = 16.dp), + ) { + content() + CtaButton( + text = "Update password", + onClick = onChangePassword, + enabled = canChangePassword, + isLoading = isUpdating, + modifier = Modifier.semantics { contentDescription = "button - change password" }, + ) + } + } + HorizontalDivider(color = MaterialTheme.colorScheme.outlineVariant, modifier = Modifier.padding(start = 16.dp)) + ProSettingsRow( + label = "Two-factor authentication", + value = if (hasTwoFactor) "On" else "Off", + onClick = uiContext.onManageMfa, + enabled = !isUpdating, + modifier = Modifier.semantics { contentDescription = "button - manage mfa" }, + ) + HorizontalDivider(color = MaterialTheme.colorScheme.outlineVariant, modifier = Modifier.padding(start = 16.dp)) + ProSettingsRow(label = "Email verified", value = if (user?.isEmailVerified == true) "Yes" else "No") + } + + ProSettingsGroup { + ProSettingsRow( + label = uiContext.stringProvider.signOutAction, + labelColor = MaterialTheme.colorScheme.error, + onClick = uiContext.onSignOut, + enabled = !isUpdating, + ) + } + } +} + +@Composable +private fun ProSettingsGroup(content: @Composable ColumnScope.() -> Unit) { + Surface( + color = LocalFullCustomizationStyle.current.cardFill, + shape = RoundedCornerShape(12.dp), + border = BorderStroke(1.dp, MaterialTheme.colorScheme.outlineVariant), + modifier = Modifier.fillMaxWidth(), + ) { + Column(content = content) + } +} + +/** One settings row: a label, an optional value, and a chevron when it does something. */ +@Composable +private fun ProSettingsRow( + label: String, + modifier: Modifier = Modifier, + value: String? = null, + labelColor: Color = MaterialTheme.colorScheme.onSurface, + onClick: (() -> Unit)? = null, + enabled: Boolean = true, +) { + Row( + verticalAlignment = Alignment.CenterVertically, + horizontalArrangement = Arrangement.spacedBy(12.dp), + modifier = modifier + .fillMaxWidth() + .then(if (onClick != null) Modifier.clickable(enabled = enabled, onClick = onClick) else Modifier) + .heightIn(min = 56.dp) + .padding(horizontal = 16.dp), + ) { + Text( + text = label, + style = MaterialTheme.typography.bodyLarge, + color = labelColor, + modifier = Modifier.weight(1f), + ) + value?.let { + Text(text = it, style = MaterialTheme.typography.bodyMedium, color = MaterialTheme.colorScheme.onSurfaceVariant) + } + if (onClick != null && labelColor == MaterialTheme.colorScheme.onSurface) { + Icon( + imageVector = Icons.AutoMirrored.Filled.KeyboardArrowRight, + contentDescription = null, + tint = MaterialTheme.colorScheme.outline, + modifier = Modifier.size(20.dp), + ) + } + } +} diff --git a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/email/pages/EmailEntryStep.kt b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/email/pages/EmailEntryStep.kt index cd053b6bd6..30dea50779 100644 --- a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/email/pages/EmailEntryStep.kt +++ b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/email/pages/EmailEntryStep.kt @@ -19,8 +19,8 @@ import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.foundation.verticalScroll import androidx.compose.material.icons.Icons import androidx.compose.material.icons.automirrored.filled.Login -import androidx.compose.material3.Icon import androidx.compose.material3.ButtonDefaults +import androidx.compose.material3.Icon import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Surface import androidx.compose.material3.Text @@ -37,14 +37,17 @@ import androidx.compose.ui.semantics.semantics import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp import androidx.compose.ui.zIndex +import com.firebase.ui.auth.configuration.auth_provider.AuthProvider import com.firebaseui.android.demo.R import com.firebaseui.android.demo.auth.fullcustomization.common.AuthFieldShape import com.firebaseui.android.demo.auth.fullcustomization.common.CtaButton -import com.firebaseui.android.demo.auth.fullcustomization.common.secondaryCtaColors import com.firebaseui.android.demo.auth.fullcustomization.common.EmailFieldIcon import com.firebaseui.android.demo.auth.fullcustomization.common.FullCustomizationTextField import com.firebaseui.android.demo.auth.fullcustomization.common.HardOffsetShadow import com.firebaseui.android.demo.auth.fullcustomization.common.SparkHeadline +import com.firebaseui.android.demo.auth.fullcustomization.common.secondaryCtaColors +import com.firebaseui.android.demo.auth.fullcustomization.professional.ProLanding +import com.firebaseui.android.demo.auth.fullcustomization.professional.isProfessional import com.firebaseui.android.demo.auth.fullcustomization.theme.FullCustomizationThemeId import com.firebaseui.android.demo.auth.fullcustomization.theme.LocalFullCustomizationStyle @@ -108,6 +111,16 @@ private fun LandingHeadline() { SparkHeadline() Spacer(modifier = Modifier.height(24.dp)) } + FullCustomizationThemeId.Professional -> { + Text( + text = "Welcome back", + style = MaterialTheme.typography.headlineSmall, + color = style.titleColor, + textAlign = TextAlign.Center, + modifier = Modifier.semantics { contentDescription = "title - welcome" }, + ) + Spacer(modifier = Modifier.height(24.dp)) + } } } @@ -119,7 +132,24 @@ fun EmailEntryStep( onSignIn: () -> Unit, onCreateAccount: () -> Unit, onShowOtherMethods: () -> Unit, + inlineProviders: List = emptyList(), + onProviderSelected: (AuthProvider) -> Unit = {}, ) { + if (isProfessional()) { + ProLanding( + email = email, + onEmailChange = onEmailChange, + isLoading = isLoading, + onContinue = onSignIn, + onCreateAccount = onCreateAccount, + inlineProviders = inlineProviders, + onProviderSelected = onProviderSelected, + // Only where there is a sheet to open: the email slot has already committed to email. + onShowOtherMethods = onShowOtherMethods.takeIf { inlineProviders.isNotEmpty() }, + ) + return + } + val isEmailValid = remember(email) { android.util.Patterns.EMAIL_ADDRESS.matcher(email).matches() } diff --git a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/email/pages/LoginStep.kt b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/email/pages/LoginStep.kt index ae7c307065..d530244ffa 100644 --- a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/email/pages/LoginStep.kt +++ b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/email/pages/LoginStep.kt @@ -25,9 +25,9 @@ import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue -import androidx.compose.runtime.setValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember +import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier import androidx.compose.ui.semantics.contentDescription import androidx.compose.ui.semantics.semantics @@ -38,20 +38,27 @@ import androidx.compose.ui.text.style.TextDecoration import androidx.compose.ui.unit.dp import com.firebase.ui.auth.ui.screens.email.EmailAuthContentState import com.firebaseui.android.demo.R -import com.firebaseui.android.demo.auth.fullcustomization.common.ThemeHeader -import com.firebaseui.android.demo.auth.fullcustomization.theme.LocalFullCustomizationStyle import com.firebaseui.android.demo.auth.fullcustomization.common.AuthFieldShape import com.firebaseui.android.demo.auth.fullcustomization.common.CtaButton -import com.firebaseui.android.demo.auth.fullcustomization.common.secondaryCtaColors import com.firebaseui.android.demo.auth.fullcustomization.common.EmailFieldIcon import com.firebaseui.android.demo.auth.fullcustomization.common.FullCustomizationTextField import com.firebaseui.android.demo.auth.fullcustomization.common.HardOffsetShadow +import com.firebaseui.android.demo.auth.fullcustomization.common.ThemeHeader +import com.firebaseui.android.demo.auth.fullcustomization.common.secondaryCtaColors +import com.firebaseui.android.demo.auth.fullcustomization.professional.ProLogin +import com.firebaseui.android.demo.auth.fullcustomization.professional.isProfessional +import com.firebaseui.android.demo.auth.fullcustomization.theme.LocalFullCustomizationStyle @Composable fun LoginStep( state: EmailAuthContentState, onUseDifferentEmail: () -> Unit, ) { + if (isProfessional()) { + ProLogin(state, onUseDifferentEmail) + return + } + var passwordVisible by remember { mutableStateOf(false) } // heightIn(min = maxHeight) centres content when it fits and plain-scrolls when it doesn't. diff --git a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/email/pages/SignUpStep.kt b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/email/pages/SignUpStep.kt index 289247983f..0711c08d50 100644 --- a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/email/pages/SignUpStep.kt +++ b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/email/pages/SignUpStep.kt @@ -12,17 +12,17 @@ import androidx.compose.foundation.layout.heightIn import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.safeDrawingPadding import androidx.compose.foundation.rememberScrollState -import androidx.compose.foundation.text.KeyboardOptions import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.foundation.text.KeyboardOptions import androidx.compose.foundation.verticalScroll import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue -import androidx.compose.runtime.setValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember +import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier import androidx.compose.ui.semantics.contentDescription import androidx.compose.ui.semantics.semantics @@ -31,13 +31,15 @@ import androidx.compose.ui.text.input.PasswordVisualTransformation import androidx.compose.ui.unit.dp import com.firebase.ui.auth.ui.screens.email.EmailAuthContentState import com.firebaseui.android.demo.R -import com.firebaseui.android.demo.auth.fullcustomization.common.ThemeHeader -import com.firebaseui.android.demo.auth.fullcustomization.theme.LocalFullCustomizationStyle import com.firebaseui.android.demo.auth.fullcustomization.common.AuthFieldShape import com.firebaseui.android.demo.auth.fullcustomization.common.CtaButton import com.firebaseui.android.demo.auth.fullcustomization.common.EmailFieldIcon import com.firebaseui.android.demo.auth.fullcustomization.common.FullCustomizationTextField import com.firebaseui.android.demo.auth.fullcustomization.common.HardOffsetShadow +import com.firebaseui.android.demo.auth.fullcustomization.common.ThemeHeader +import com.firebaseui.android.demo.auth.fullcustomization.professional.ProSignUp +import com.firebaseui.android.demo.auth.fullcustomization.professional.isProfessional +import com.firebaseui.android.demo.auth.fullcustomization.theme.LocalFullCustomizationStyle private val NameFieldStartShape = RoundedCornerShape( topStart = 16.dp, @@ -57,6 +59,11 @@ fun SignUpStep( state: EmailAuthContentState, onUseDifferentEmail: () -> Unit, ) { + if (isProfessional()) { + ProSignUp(state, onUseDifferentEmail) + return + } + var firstName by remember { mutableStateOf("") } var lastName by remember { mutableStateOf("") } var confirmEmail by remember { mutableStateOf("") } diff --git a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/phone/pages/PhoneEntryStep.kt b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/phone/pages/PhoneEntryStep.kt index 0d9aa55f42..34e499af44 100644 --- a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/phone/pages/PhoneEntryStep.kt +++ b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/phone/pages/PhoneEntryStep.kt @@ -32,16 +32,23 @@ import androidx.compose.ui.unit.dp import com.firebase.ui.auth.ui.components.CountrySelector import com.firebase.ui.auth.ui.screens.phone.PhoneAuthContentState import com.firebaseui.android.demo.R -import com.firebaseui.android.demo.auth.fullcustomization.common.themeFieldBorder -import com.firebaseui.android.demo.auth.fullcustomization.common.ThemeHeader -import com.firebaseui.android.demo.auth.fullcustomization.theme.LocalFullCustomizationStyle import com.firebaseui.android.demo.auth.fullcustomization.common.AuthFieldShape import com.firebaseui.android.demo.auth.fullcustomization.common.CtaButton import com.firebaseui.android.demo.auth.fullcustomization.common.FullCustomizationTextField import com.firebaseui.android.demo.auth.fullcustomization.common.HardOffsetShadow +import com.firebaseui.android.demo.auth.fullcustomization.common.ThemeHeader +import com.firebaseui.android.demo.auth.fullcustomization.common.themeFieldBorder +import com.firebaseui.android.demo.auth.fullcustomization.professional.ProPhoneEntry +import com.firebaseui.android.demo.auth.fullcustomization.professional.isProfessional +import com.firebaseui.android.demo.auth.fullcustomization.theme.LocalFullCustomizationStyle @Composable fun PhoneEntryStep(state: PhoneAuthContentState) { + if (isProfessional()) { + ProPhoneEntry(state) + return + } + val isPhoneValid = remember(state.phoneNumber) { android.util.Patterns.PHONE.matcher(state.phoneNumber).matches() } diff --git a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/phone/pages/PhoneVerificationStep.kt b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/phone/pages/PhoneVerificationStep.kt index 897a171d3d..00564e40b7 100644 --- a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/phone/pages/PhoneVerificationStep.kt +++ b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/phone/pages/PhoneVerificationStep.kt @@ -26,14 +26,21 @@ import androidx.compose.ui.unit.dp import com.firebase.ui.auth.ui.components.VerificationCodeInputField import com.firebase.ui.auth.ui.screens.phone.PhoneAuthContentState import com.firebaseui.android.demo.R -import com.firebaseui.android.demo.auth.fullcustomization.common.ThemeHeader -import com.firebaseui.android.demo.auth.fullcustomization.theme.LocalFullCustomizationStyle import com.firebaseui.android.demo.auth.fullcustomization.common.AuthFieldShape import com.firebaseui.android.demo.auth.fullcustomization.common.CtaButton import com.firebaseui.android.demo.auth.fullcustomization.common.HardOffsetShadow +import com.firebaseui.android.demo.auth.fullcustomization.common.ThemeHeader +import com.firebaseui.android.demo.auth.fullcustomization.professional.ProPhoneVerification +import com.firebaseui.android.demo.auth.fullcustomization.professional.isProfessional +import com.firebaseui.android.demo.auth.fullcustomization.theme.LocalFullCustomizationStyle @Composable fun PhoneVerificationStep(state: PhoneAuthContentState) { + if (isProfessional()) { + ProPhoneVerification(state) + return + } + BoxWithConstraints( modifier = Modifier .fillMaxSize() diff --git a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/theme/FullCustomizationStyle.kt b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/theme/FullCustomizationStyle.kt index a6bf37e358..3ac0afece2 100644 --- a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/theme/FullCustomizationStyle.kt +++ b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/theme/FullCustomizationStyle.kt @@ -14,11 +14,13 @@ import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.DpOffset import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp /** - * The demo's three looks. Doggo is the Android Figma section; Grid and Coffee Spark come from the - * iOS Landing frames (20:5467 and 20:5769) by way of the iOS demo's values, laid out on Doggo's - * Android sizing. + * The demo's looks. Doggo is the Android Figma section; Grid and Coffee Spark come from the iOS + * Landing frames (20:5467 and 20:5769) by way of the iOS demo's values, laid out on Doggo's + * Android sizing. Professional has no Figma frame: its palette is Material 3's fidelity scheme for + * a navy seed (#1E3A8A), with the seed itself kept for buttons and links. * * Figma has no dark frames. Each dark variant keeps a colour's HCT hue and chroma and moves only * its tone: pages to tone 6 (never pure black), text to 90, Doggo's M3 roles to M3's dark tones. @@ -30,6 +32,7 @@ enum class FullCustomizationThemeId(val label: String) { Doggo("Doggo"), Grid("Grid"), Spark("Coffee Spark"), + Professional("Professional"), } /** A hard offset shadow: Figma's zero-blur drop shadow. */ @@ -66,6 +69,7 @@ data class FullCustomizationStyle( val pill: ButtonPalette, /** A wash of the page colour over the background art, so light art sits back in dark mode. */ val artScrim: Color, + val buttonHeight: Dp = 80.dp, ) val LocalFullCustomizationStyle = staticCompositionLocalOf { @@ -76,6 +80,7 @@ fun FullCustomizationThemeId.style(darkTheme: Boolean): FullCustomizationStyle = FullCustomizationThemeId.Doggo -> if (darkTheme) DoggoDark else DoggoLight FullCustomizationThemeId.Grid -> if (darkTheme) GridDark else GridLight FullCustomizationThemeId.Spark -> if (darkTheme) SparkDark else SparkLight + FullCustomizationThemeId.Professional -> if (darkTheme) ProfessionalDark else ProfessionalLight } /** A theme's page and its tone-mapped neighbours, light or dark. */ @@ -331,3 +336,105 @@ private val SparkDark = spark( // The blob is bright enough to fight the text over it on a dark page. artScrim = Color(0xFF151313).copy(alpha = 0.55f), ) + +private val ProfessionalNavy = Color(0xFF1E3A8A) + +/** + * An enterprise-style sign-in: no art, mascot or hard shadows, one sans-serif, 8 to 12dp corners and + * 48dp controls. Its screens are laid out differently too (see the `professional` package). + */ +private fun professional( + scheme: ColorScheme, + title: Color, + cardFill: Color, + fieldContainer: Color, + secondaryButton: ButtonPalette, + pill: ButtonPalette, +) = FullCustomizationStyle( + id = FullCustomizationThemeId.Professional, + colorScheme = scheme, + // Doggo's 20sp button label is sized for an 80dp button; this theme's are 48dp. + typography = fullCustomizationTypography( + title = Roboto, + titleWeight = FontWeight.SemiBold, + body = Roboto, + button = Roboto, + ).let { it.copy(titleMedium = it.titleMedium.copy(fontSize = 16.sp, fontWeight = FontWeight.SemiBold)) }, + titleColor = title, + showsMascot = false, + cardFill = cardFill, + cardShadow = null, + fieldShape = RoundedCornerShape(8.dp), + fieldBorderWidth = 1.dp, + fieldContainer = fieldContainer, + buttonShape = RoundedCornerShape(8.dp), + buttonBorder = null, + buttonShadow = null, + primaryButton = ButtonPalette(scheme.primary, scheme.onPrimary), + secondaryButton = secondaryButton, + providerButtonShape = RoundedCornerShape(8.dp), + phoneProvider = ButtonPalette(scheme.primary, scheme.onPrimary), + pill = pill, + artScrim = Color.Transparent, + buttonHeight = 48.dp, +) + +private val ProfessionalLight = professional( + scheme = lightColorScheme( + primary = ProfessionalNavy, + onPrimary = Color.White, + // The field focus border; primaryContainer is the other-methods sheet. + secondary = ProfessionalNavy, + onSecondary = Color.White, + primaryContainer = Color.White, + onPrimaryContainer = Color(0xFF1A1B21), + surface = Color(0xFFF4F3FA), + surfaceBright = Color(0xFFF4F3FA), + surfaceContainerLowest = Color.White, + surfaceContainerLow = Color(0xFFF4F3FA), + surfaceContainer = Color(0xFFEEEDF4), + surfaceContainerHigh = Color(0xFFE9E7EF), + surfaceContainerHighest = Color(0xFFE3E1E9), + background = Color(0xFFF4F3FA), + onSurface = Color(0xFF1A1B21), + onSurfaceVariant = Color(0xFF444651), + outline = Color(0xFF757682), + outlineVariant = Color(0xFFC5C5D3), + error = Color(0xFFBA1A1A), + ), + title = Color(0xFF1A1B21), + cardFill = Color.White, + fieldContainer = Color.White, + secondaryButton = ButtonPalette(Color(0xFFE3E7FF), ProfessionalNavy), + pill = ButtonPalette(Color.White, Color(0xFF1A1B21)), +) + +private val ProfessionalDark = professional( + scheme = darkColorScheme( + primary = Color(0xFFB6C4FF), + onPrimary = Color(0xFF05297A), + secondary = Color(0xFFB6C4FF), + onSecondary = Color(0xFF05297A), + primaryContainer = Color(0xFF1F1F24), + onPrimaryContainer = Color(0xFFE3E1E9), + surface = Color(0xFF131316), + surfaceBright = Color(0xFF131316), + surfaceContainerLowest = Color(0xFF0D0E13), + surfaceContainerLow = Color(0xFF1A1B21), + surfaceContainer = Color(0xFF1E1F25), + surfaceContainerHigh = Color(0xFF292A2F), + surfaceContainerHighest = Color(0xFF34343A), + background = Color(0xFF131316), + onSurface = Color(0xFFE3E1E9), + onSurfaceVariant = Color(0xFFC5C5D3), + outline = Color(0xFF8F909D), + outlineVariant = Color(0xFF444651), + error = Color(0xFFFFB4AB), + onError = Color(0xFF690005), + ), + title = Color(0xFFE3E1E9), + cardFill = Color(0xFF1F1F24), + fieldContainer = Color(0xFF292A2E), + secondaryButton = ButtonPalette(Color(0xFF183585), Color(0xFFDCE1FF)), + pill = ButtonPalette(Color(0xFF292A2F), Color(0xFFE3E1E9)), +) From 241ecf16edee90b5599fb9fe5192a31e614d4d63 Mon Sep 17 00:00:00 2001 From: Ademola Fadumo <48495111+demolaf@users.noreply.github.com> Date: Thu, 29 Oct 2026 14:44:33 +0100 Subject: [PATCH 5/5] sample(auth): match the Professional theme's layout and palette to the iOS demo --- .../auth/fullcustomization/common/AuthPage.kt | 9 +- .../common/AuthTextFieldStyle.kt | 11 +- .../professional/ProEmailScreens.kt | 486 +++++++++-------- .../fullcustomization/professional/ProKit.kt | 497 +++++++++++++----- .../professional/ProPhoneScreens.kt | 209 +++++--- .../screens/AuthMethodPickerUI.kt | 31 +- .../screens/AuthenticatedUI.kt | 229 ++++---- .../screens/email/EmailAuthUI.kt | 17 +- .../screens/email/pages/EmailEntryStep.kt | 21 - .../screens/email/pages/LoginStep.kt | 12 +- .../screens/email/pages/SignUpStep.kt | 2 +- .../screens/mfa/pages/ConfigureSmsStep.kt | 56 +- .../screens/mfa/pages/SelectFactorStep.kt | 103 +++- .../theme/FullCustomizationStyle.kt | 201 +++---- 14 files changed, 1198 insertions(+), 686 deletions(-) diff --git a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/common/AuthPage.kt b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/common/AuthPage.kt index 5ed53e2459..cccd4a48ae 100644 --- a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/common/AuthPage.kt +++ b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/common/AuthPage.kt @@ -21,6 +21,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.semantics.contentDescription import androidx.compose.ui.semantics.semantics import androidx.compose.ui.unit.dp +import com.firebaseui.android.demo.auth.fullcustomization.professional.ProHeader import com.firebaseui.android.demo.auth.fullcustomization.professional.ProPage import com.firebaseui.android.demo.auth.fullcustomization.professional.isProfessional import com.firebaseui.android.demo.auth.fullcustomization.theme.LocalFullCustomizationStyle @@ -49,12 +50,12 @@ fun AuthPage( // Professional lays the same content out as a plain left-aligned form, with no card. if (isProfessional()) { ProPage( - title = title, modifier = Modifier.semantics { contentDescription = cardContentDescription }, + header = { ProHeader(title = title) }, ) { - card() - Spacer(modifier = Modifier.height(8.dp)) - actions() + Column(verticalArrangement = Arrangement.spacedBy(16.dp), content = card) + Spacer(modifier = Modifier.height(24.dp)) + Column(content = actions) } return } diff --git a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/common/AuthTextFieldStyle.kt b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/common/AuthTextFieldStyle.kt index 541d0612e4..1907110566 100644 --- a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/common/AuthTextFieldStyle.kt +++ b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/common/AuthTextFieldStyle.kt @@ -5,6 +5,7 @@ import androidx.compose.foundation.clickable import androidx.compose.foundation.interaction.MutableInteractionSource import androidx.compose.foundation.interaction.collectIsFocusedAsState import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.defaultMinSize @@ -23,7 +24,6 @@ import androidx.compose.material3.TextFieldColors import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue import androidx.compose.runtime.remember -import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.focus.FocusRequester import androidx.compose.ui.focus.focusRequester @@ -160,14 +160,17 @@ fun FullCustomizationTextField( indication = null, ) { focusRequester.requestFocus() }, ) { - Row(verticalAlignment = Alignment.CenterVertically) { + // On the text baseline, so a label action set at another size still lines up. + Row { Text( text = label.orEmpty(), style = MaterialTheme.typography.bodyMedium.copy(fontWeight = FontWeight.Medium), color = MaterialTheme.colorScheme.onSurface, - modifier = Modifier.weight(1f), + modifier = Modifier + .weight(1f) + .alignByBaseline(), ) - labelAction?.invoke() + labelAction?.let { action -> Box(modifier = Modifier.alignByBaseline()) { action() } } } field() } diff --git a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/professional/ProEmailScreens.kt b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/professional/ProEmailScreens.kt index 3c061fbbec..10d26302a3 100644 --- a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/professional/ProEmailScreens.kt +++ b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/professional/ProEmailScreens.kt @@ -2,23 +2,27 @@ package com.firebaseui.android.demo.auth.fullcustomization.professional import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column -import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.padding import androidx.compose.foundation.text.KeyboardOptions import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.Visibility import androidx.compose.material.icons.filled.VisibilityOff +import androidx.compose.material.icons.outlined.Email +import androidx.compose.material.icons.outlined.Lock +import androidx.compose.material.icons.outlined.MarkEmailUnread +import androidx.compose.material.icons.outlined.MoreHoriz +import androidx.compose.material.icons.outlined.Phone import androidx.compose.material3.Icon import androidx.compose.material3.IconButton -import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Text -import androidx.compose.material3.TextButton import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.setValue -import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.semantics.contentDescription import androidx.compose.ui.semantics.semantics @@ -27,263 +31,319 @@ import androidx.compose.ui.text.input.KeyboardType import androidx.compose.ui.text.input.PasswordVisualTransformation import androidx.compose.ui.text.input.VisualTransformation import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp +import androidx.compose.foundation.clickable +import androidx.compose.ui.semantics.Role import com.firebase.ui.auth.configuration.auth_provider.AuthProvider import com.firebase.ui.auth.ui.screens.email.EmailAuthContentState import com.firebaseui.android.demo.auth.fullcustomization.common.CtaButton import com.firebaseui.android.demo.auth.fullcustomization.common.FullCustomizationTextField -import com.firebaseui.android.demo.auth.fullcustomization.common.secondaryCtaColors +import com.firebaseui.android.demo.auth.fullcustomization.common.providerIconPainter -/** The providers the landing shows inline, in this order; the rest stay in the sheet. */ +/** The providers the sign-in screen shows itself, as the iOS demo does; the rest are one tap away. */ fun proInlineProviders(providers: List): List = listOfNotNull( providers.firstOrNull { it is AuthProvider.Google }, - providers.firstOrNull { it is AuthProvider.Apple }, providers.firstOrNull { it is AuthProvider.Phone }, ) -private fun inlineLabel(provider: AuthProvider): String = when (provider) { - is AuthProvider.Google -> "Continue with Google" - is AuthProvider.Apple -> "Continue with Apple" - is AuthProvider.Phone -> "Continue with phone" - else -> "Continue" -} +private fun isValidEmail(email: String) = android.util.Patterns.EMAIL_ADDRESS.matcher(email).matches() /** - * The landing: the common providers inline, then the email form. One Continue goes to the - * password step and account creation is a link, rather than two equal buttons. + * The professional sign-in screen: the providers first, then email and password on the same + * screen. Creating an account, resetting a password and email-link sign-in are their own screens. * - * @param onShowOtherMethods Opens the sheet with the remaining providers; null hides the link. + * @param onShowOtherMethods Opens the sheet with the remaining providers; null hides that button. + * @param onBack Shown only where this screen was pushed over another. */ @Composable -fun ProLanding( - email: String, - onEmailChange: (String) -> Unit, - isLoading: Boolean, - onContinue: () -> Unit, - onCreateAccount: () -> Unit, - inlineProviders: List, - onProviderSelected: (AuthProvider) -> Unit, - onShowOtherMethods: (() -> Unit)?, +fun ProSignIn( + state: EmailAuthContentState, + isEmailLinkOffered: Boolean, + inlineProviders: List = emptyList(), + onProviderSelected: (AuthProvider) -> Unit = {}, + onShowOtherMethods: (() -> Unit)? = null, + onBack: (() -> Unit)? = null, ) { - val isEmailValid = remember(email) { android.util.Patterns.EMAIL_ADDRESS.matcher(email).matches() } - val showEmailError = email.isNotBlank() && !isEmailValid - - ProPage(title = "Sign in", subtitle = "Use your work account to continue.") { + val colors = proColors() + ProPage( + footer = { ProLegalText() }, + header = { + onBack?.let { ProBackButton(onBack = it, enabled = !state.isLoading) } + ProBrand() + Spacer(modifier = Modifier.height(28.dp)) + ProHeader(title = "Sign in to your account", subtitle = "Welcome back. Choose how you'd like to continue.") + }, + ) { if (inlineProviders.isNotEmpty() || onShowOtherMethods != null) { - Column(verticalArrangement = Arrangement.spacedBy(12.dp)) { + Column(verticalArrangement = Arrangement.spacedBy(10.dp)) { inlineProviders.forEach { provider -> - ProProviderButton( - provider = provider, - label = inlineLabel(provider), + val title = if (provider is AuthProvider.Phone) "Continue with phone" else "Continue with Google" + ProOutlineButton( + title = title, onClick = { onProviderSelected(provider) }, - enabled = !isLoading, - ) + contentDescription = "button - $title", + enabled = !state.isLoading, + ) { + if (provider is AuthProvider.Phone) { + Icon(imageVector = Icons.Outlined.Phone, contentDescription = null, modifier = Modifier.padding(1.dp)) + } else { + providerIconPainter(provider)?.let { ProProviderMark(it) } + } + } } onShowOtherMethods?.let { show -> - TextButton( + ProOutlineButton( + title = "More sign-in options", onClick = show, - modifier = Modifier - .align(Alignment.CenterHorizontally) - .semantics { contentDescription = "Other sign-in methods button" }, + contentDescription = "Other sign-in methods button", + enabled = !state.isLoading, ) { - Text("More sign-in options", fontWeight = FontWeight.Medium) + Icon(imageVector = Icons.Outlined.MoreHoriz, contentDescription = null) } } } - ProOrDivider() - } - - FullCustomizationTextField( - value = email, - onValueChange = onEmailChange, - label = "Email", - placeholder = "name@company.com", - enabled = !isLoading, - isError = showEmailError, - supportingText = if (showEmailError) "Enter a valid email address" else null, - keyboardOptions = KeyboardOptions(keyboardType = KeyboardType.Email), - modifier = Modifier - .fillMaxWidth() - .semantics { contentDescription = "text-field - email address input" }, - ) - - CtaButton( - text = "Continue", - onClick = onContinue, - enabled = isEmailValid && !isLoading, - isLoading = isLoading, - modifier = Modifier.semantics { contentDescription = "button - sign in" }, - ) - - Row( - horizontalArrangement = Arrangement.Center, - verticalAlignment = Alignment.CenterVertically, - modifier = Modifier.fillMaxWidth(), - ) { - Text( - text = "New here?", - style = MaterialTheme.typography.bodyMedium, - color = MaterialTheme.colorScheme.onSurfaceVariant, - ) - TextButton( - onClick = onCreateAccount, - enabled = !isLoading, - modifier = Modifier.semantics { contentDescription = "button - create account" }, - ) { - Text("Create an account", fontWeight = FontWeight.Medium) - } + Column(modifier = Modifier.padding(vertical = 22.dp)) { ProDivider(label = "or continue with email") } } - } -} -/** The password step: back in the top bar, "Forgot password?" on the label row. */ -@Composable -fun ProLogin(state: EmailAuthContentState, onUseDifferentEmail: () -> Unit) { - var passwordVisible by remember { mutableStateOf(false) } - - ProPage( - title = "Enter your password", - subtitle = state.email, - topBar = { ProBackBar(onBack = onUseDifferentEmail, enabled = !state.isLoading) }, - ) { - FullCustomizationTextField( - value = state.password, - onValueChange = state.onPasswordChange, - label = "Password", - labelAction = { - TextButton( - onClick = state.onSendResetLinkClick, - enabled = !state.resetLinkSent && !state.isLoading, - ) { + Column(verticalArrangement = Arrangement.spacedBy(16.dp)) { + ProEmailField(state) + ProPasswordField( + value = state.password, + onValueChange = state.onPasswordChange, + label = "Password", + placeholder = "Enter your password", + enabled = !state.isLoading, + contentDescription = "text-field - password secure input", + content = { Text( - text = if (state.resetLinkSent) "Reset link sent" else "Forgot password?", + text = "Forgot password?", + fontSize = 14.sp, fontWeight = FontWeight.Medium, + color = colors.accent, + modifier = Modifier + .clickable(enabled = !state.isLoading, role = Role.Button, onClick = state.onGoToResetPassword) + .semantics { contentDescription = "button - forgot password" }, ) - } - }, - enabled = !state.isLoading, - visualTransformation = if (passwordVisible) VisualTransformation.None else PasswordVisualTransformation(), - trailingIcon = { - IconButton(onClick = { passwordVisible = !passwordVisible }) { - Icon( - imageVector = if (passwordVisible) Icons.Default.VisibilityOff else Icons.Default.Visibility, - contentDescription = if (passwordVisible) "Hide password" else "Show password", - ) - } - }, - modifier = Modifier - .fillMaxWidth() - .semantics { contentDescription = "text-field - password secure input" }, - ) - - CtaButton( - text = "Sign in", - onClick = state.onSignInClick, - enabled = state.password.isNotBlank() && !state.isLoading, - isLoading = state.isLoading, - modifier = Modifier.semantics { contentDescription = "button - login" }, - ) - - CtaButton( - text = if (state.emailSignInLinkSent) "Sign-in link sent" else "Email me a sign-in link", - onClick = state.onSignInEmailLinkClick, - enabled = !state.isLoading, - colors = secondaryCtaColors(), - modifier = Modifier.semantics { contentDescription = "button - send login link" }, + }, + ) + ProErrorText(state.error) + CtaButton( + text = "Sign in", + onClick = state.onSignInClick, + enabled = isValidEmail(state.email) && state.password.isNotBlank() && !state.isLoading, + isLoading = state.isLoading, + modifier = Modifier + .padding(top = 4.dp) + .semantics { contentDescription = "button - login" }, + ) + } + if (isEmailLinkOffered) { + Spacer(modifier = Modifier.height(4.dp)) + ProTextButton( + title = "Email me a sign-in link", + onClick = state.onGoToEmailLinkSignIn, + contentDescription = "button - email link", + enabled = !state.isLoading, + ) + } + Spacer(modifier = Modifier.height(4.dp)) + ProPromptLink( + prompt = "Don't have an account?", + action = "Create account", + onClick = state.onGoToSignUp, + contentDescription = "button - create account", ) } } -/** Account creation: one column, the same checks as the shared sign-up step. */ +/** Account creation, pushed over sign-in. */ @Composable -fun ProSignUp(state: EmailAuthContentState, onUseDifferentEmail: () -> Unit) { - var firstName by remember { mutableStateOf("") } - var lastName by remember { mutableStateOf("") } - var confirmEmail by remember { mutableStateOf("") } - - // Trimmed and case-insensitive: the default keyboard auto-capitalises on many IMEs. - val emailsMatch = confirmEmail.isNotBlank() && - confirmEmail.trim().equals(state.email.trim(), ignoreCase = true) +fun ProSignUp(state: EmailAuthContentState, onBack: () -> Unit) { val passwordsMatch = state.confirmPassword.isNotBlank() && state.confirmPassword == state.password - val canSignUp = firstName.isNotBlank() && lastName.isNotBlank() && emailsMatch && - state.password.isNotBlank() && passwordsMatch && !state.isLoading + val canSignUp = isValidEmail(state.email) && state.password.isNotBlank() && passwordsMatch && !state.isLoading ProPage( - title = "Create your account", - topBar = { ProBackBar(onBack = onUseDifferentEmail, enabled = !state.isLoading) }, + footer = { ProLegalText(prefix = "By creating an account, you agree to the") }, + header = { + ProBackButton(onBack = onBack, enabled = !state.isLoading) + ProHeader(title = "Create your account", subtitle = "Sign up with your email. It takes less than a minute.") + }, ) { - Row(horizontalArrangement = Arrangement.spacedBy(12.dp)) { - FullCustomizationTextField( - value = firstName, - onValueChange = { firstName = it }, - label = "First name", + Column(verticalArrangement = Arrangement.spacedBy(16.dp)) { + ProEmailField(state, contentDescription = "text-field - email address display") + ProPasswordField( + value = state.password, + onValueChange = state.onPasswordChange, + label = "Password", + placeholder = "Create a password", enabled = !state.isLoading, - modifier = Modifier - .weight(1f) - .semantics { contentDescription = "text-field - first name" }, + contentDescription = "text-field - password", ) - FullCustomizationTextField( - value = lastName, - onValueChange = { lastName = it }, - label = "Last name", + ProPasswordField( + value = state.confirmPassword, + onValueChange = state.onConfirmPasswordChange, + label = "Confirm password", + placeholder = "Repeat your password", enabled = !state.isLoading, + isError = state.confirmPassword.isNotBlank() && !passwordsMatch, + supportingText = if (state.confirmPassword.isNotBlank() && !passwordsMatch) "Passwords don't match" else null, + contentDescription = "text-field - confirm password", + ) + ProErrorText(state.error) + CtaButton( + text = "Create account", + onClick = state.onSignUpClick, + enabled = canSignUp, + isLoading = state.isLoading, modifier = Modifier - .weight(1f) - .semantics { contentDescription = "text-field - last name" }, + .padding(top = 4.dp) + .semantics { contentDescription = "button - sign up" }, ) } - FullCustomizationTextField( - value = state.email, - onValueChange = state.onEmailChange, - label = "Email", - enabled = !state.isLoading, - keyboardOptions = KeyboardOptions(keyboardType = KeyboardType.Email), - modifier = Modifier - .fillMaxWidth() - .semantics { contentDescription = "text-field - email address display" }, + Spacer(modifier = Modifier.height(4.dp)) + ProPromptLink( + prompt = "Already have an account?", + action = "Sign in", + onClick = onBack, + contentDescription = "button - back to sign in", ) - FullCustomizationTextField( - value = confirmEmail, - onValueChange = { confirmEmail = it }, - label = "Confirm email", - enabled = !state.isLoading, - isError = confirmEmail.isNotBlank() && !emailsMatch, - supportingText = if (confirmEmail.isNotBlank() && !emailsMatch) "Emails don't match" else null, - keyboardOptions = KeyboardOptions(keyboardType = KeyboardType.Email), - modifier = Modifier - .fillMaxWidth() - .semantics { contentDescription = "text-field - confirm email" }, - ) - FullCustomizationTextField( - value = state.password, - onValueChange = state.onPasswordChange, - label = "Password", - enabled = !state.isLoading, - visualTransformation = PasswordVisualTransformation(), - modifier = Modifier - .fillMaxWidth() - .semantics { contentDescription = "text-field - password" }, - ) - FullCustomizationTextField( - value = state.confirmPassword, - onValueChange = state.onConfirmPasswordChange, - label = "Confirm password", - enabled = !state.isLoading, - isError = state.confirmPassword.isNotBlank() && !passwordsMatch, - supportingText = if (state.confirmPassword.isNotBlank() && !passwordsMatch) "Passwords don't match" else null, - visualTransformation = PasswordVisualTransformation(), - modifier = Modifier - .fillMaxWidth() - .semantics { contentDescription = "text-field - confirm password" }, + } +} + +/** Password reset, pushed over sign-in; becomes "Check your inbox" once the link is sent. */ +@Composable +fun ProResetPassword(state: EmailAuthContentState, onBack: () -> Unit) { + if (state.resetLinkSent) { + ProPage(header = { + ProBackButton(onBack = onBack) + ProHeader( + icon = Icons.Outlined.MarkEmailUnread, + title = "Check your inbox", + subtitle = "We sent a link to reset your password to ${state.email}.", + ) + }) { + CtaButton( + text = "Back to sign in", + onClick = onBack, + modifier = Modifier.semantics { contentDescription = "button - back to sign in" }, + ) + } + return + } + ProPage(header = { + ProBackButton(onBack = onBack, enabled = !state.isLoading) + ProHeader( + icon = Icons.Outlined.Lock, + title = "Reset your password", + subtitle = "Enter the email you sign in with and we'll send you a link to choose a new password.", ) - CtaButton( - text = "Create account", - onClick = { - state.onDisplayNameChange("$firstName $lastName".trim()) - state.onSignUpClick() - }, - enabled = canSignUp, - isLoading = state.isLoading, - modifier = Modifier.semantics { contentDescription = "button - sign up" }, + }) { + Column(verticalArrangement = Arrangement.spacedBy(16.dp)) { + ProEmailField(state) + ProErrorText(state.error) + CtaButton( + text = "Send reset link", + onClick = state.onSendResetLinkClick, + enabled = isValidEmail(state.email) && !state.isLoading, + isLoading = state.isLoading, + modifier = Modifier.semantics { contentDescription = "button - send reset link" }, + ) + } + } +} + +/** Email-link sign-in, pushed over sign-in; becomes "Check your inbox" once the link is sent. */ +@Composable +fun ProEmailLink(state: EmailAuthContentState, onBack: () -> Unit) { + if (state.emailSignInLinkSent) { + ProPage(header = { + ProBackButton(onBack = onBack) + ProHeader( + icon = Icons.Outlined.MarkEmailUnread, + title = "Check your inbox", + subtitle = "We sent a sign-in link to ${state.email}. Open it on this device to finish signing in.", + ) + }) { + ProTextButton( + title = "Use a different email", + onClick = onBack, + contentDescription = "button - use a different email", + ) + } + return + } + ProPage(header = { + ProBackButton(onBack = onBack, enabled = !state.isLoading) + ProHeader( + icon = Icons.Outlined.Email, + title = "Sign in with a link", + subtitle = "We'll email you a link that signs you in, no password needed.", ) + }) { + Column(verticalArrangement = Arrangement.spacedBy(16.dp)) { + ProEmailField(state) + ProErrorText(state.error) + CtaButton( + text = "Send link", + onClick = state.onSignInEmailLinkClick, + enabled = isValidEmail(state.email) && !state.isLoading, + isLoading = state.isLoading, + modifier = Modifier.semantics { contentDescription = "button - send login link" }, + ) + } } } + +@Composable +private fun ProEmailField(state: EmailAuthContentState, contentDescription: String = "text-field - email address input") { + FullCustomizationTextField( + value = state.email, + onValueChange = state.onEmailChange, + label = "Email", + placeholder = "name@company.com", + // Locked while reauthenticating: the address is the signed-in user's. + enabled = !state.isLoading && !state.isEmailLocked, + keyboardOptions = KeyboardOptions(keyboardType = KeyboardType.Email), + modifier = Modifier + .fillMaxWidth() + .semantics { this.contentDescription = contentDescription }, + ) +} + +@Composable +private fun ProPasswordField( + value: String, + onValueChange: (String) -> Unit, + label: String, + placeholder: String, + enabled: Boolean, + contentDescription: String, + isError: Boolean = false, + supportingText: String? = null, + /** An action on the label row, such as "Forgot password?". */ + content: (@Composable () -> Unit)? = null, +) { + var revealed by remember { mutableStateOf(false) } + FullCustomizationTextField( + value = value, + onValueChange = onValueChange, + label = label, + placeholder = placeholder, + labelAction = content, + enabled = enabled, + isError = isError, + supportingText = supportingText, + visualTransformation = if (revealed) VisualTransformation.None else PasswordVisualTransformation(), + trailingIcon = { + IconButton(onClick = { revealed = !revealed }) { + Icon( + imageVector = if (revealed) Icons.Default.VisibilityOff else Icons.Default.Visibility, + contentDescription = if (revealed) "Hide password" else "Show password", + ) + } + }, + modifier = Modifier + .fillMaxWidth() + .semantics { this.contentDescription = contentDescription }, + ) +} diff --git a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/professional/ProKit.kt b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/professional/ProKit.kt index 2a5a1a0d2b..c9597eeaf8 100644 --- a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/professional/ProKit.kt +++ b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/professional/ProKit.kt @@ -3,6 +3,9 @@ package com.firebaseui.android.demo.auth.fullcustomization.professional import androidx.compose.foundation.BorderStroke import androidx.compose.foundation.Image import androidx.compose.foundation.background +import androidx.compose.foundation.border +import androidx.compose.foundation.clickable +import androidx.compose.foundation.isSystemInDarkTheme import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.BoxWithConstraints @@ -18,19 +21,22 @@ import androidx.compose.foundation.layout.heightIn import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.safeDrawingPadding import androidx.compose.foundation.layout.size +import androidx.compose.foundation.layout.width import androidx.compose.foundation.layout.widthIn import androidx.compose.foundation.rememberScrollState +import androidx.compose.foundation.shape.CircleShape import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.foundation.verticalScroll import androidx.compose.material.icons.Icons import androidx.compose.material.icons.automirrored.filled.KeyboardArrowLeft -import androidx.compose.material.icons.filled.Phone +import androidx.compose.material.icons.automirrored.filled.KeyboardArrowRight +import androidx.compose.material.icons.outlined.ErrorOutline +import androidx.compose.material.icons.outlined.Person import androidx.compose.material.icons.outlined.Shield -import androidx.compose.material3.ButtonDefaults -import androidx.compose.material3.HorizontalDivider import androidx.compose.material3.Icon -import androidx.compose.material3.MaterialTheme -import androidx.compose.material3.OutlinedButton +import androidx.compose.material3.RadioButton +import androidx.compose.material3.RadioButtonDefaults +import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.Composable @@ -38,19 +44,31 @@ import androidx.compose.runtime.Immutable import androidx.compose.runtime.staticCompositionLocalOf import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier -import androidx.compose.ui.graphics.ColorFilter -import androidx.compose.ui.platform.LocalUriHandler +import androidx.compose.ui.draw.clip +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.painter.Painter +import androidx.compose.ui.graphics.vector.ImageVector +import androidx.compose.ui.semantics.Role import androidx.compose.ui.semantics.contentDescription +import androidx.compose.ui.semantics.heading import androidx.compose.ui.semantics.semantics +import androidx.compose.ui.text.LinkAnnotation +import androidx.compose.ui.text.SpanStyle +import androidx.compose.ui.text.TextLinkStyles +import androidx.compose.ui.text.buildAnnotatedString import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.text.style.TextAlign +import androidx.compose.ui.text.withLink +import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp -import com.firebase.ui.auth.configuration.auth_provider.AuthProvider -import com.firebaseui.android.demo.auth.fullcustomization.common.providerIconPainter import com.firebaseui.android.demo.auth.fullcustomization.theme.FullCustomizationThemeId import com.firebaseui.android.demo.auth.fullcustomization.theme.LocalFullCustomizationStyle +import com.firebaseui.android.demo.auth.fullcustomization.theme.ProColors +import com.firebaseui.android.demo.auth.fullcustomization.theme.ProDarkColors +import com.firebaseui.android.demo.auth.fullcustomization.theme.ProLightColors -/** The configuration's Terms and Privacy URLs, for the footer the professional screens pin to the bottom. */ +/** The configuration's Terms and Privacy URLs, for [ProLegalText]. */ @Immutable data class LegalLinks(val tosUrl: String?, val privacyPolicyUrl: String?) @@ -61,23 +79,27 @@ val LocalLegalLinks = staticCompositionLocalOf { LegalLinks(null, null) } fun isProfessional(): Boolean = LocalFullCustomizationStyle.current.id == FullCustomizationThemeId.Professional +/** Professional's palette for the current mode; the theme picks dark the same way. */ +@Composable +fun proColors(): ProColors = if (isSystemInDarkTheme()) ProDarkColors else ProLightColors + /** - * The page every professional screen sits on: a bar at the top, a left-aligned title, the content - * in one column, and Terms · Privacy pinned to the bottom. Capped at 480dp so it stays a form on a - * tablet. + * The scaffold every professional screen shares: a scrolling, left-aligned column with a header, + * the content and an optional footer. The footer sits at the bottom when the content is short and + * scrolls with it otherwise. Inset 32dp and capped at 480dp, as the iOS demo is. */ @Composable fun ProPage( - title: String, modifier: Modifier = Modifier, - subtitle: String? = null, - topBar: @Composable () -> Unit = { ProBrandBar() }, + footer: @Composable () -> Unit = {}, + header: @Composable ColumnScope.() -> Unit, content: @Composable ColumnScope.() -> Unit, ) { + val colors = proColors() BoxWithConstraints( modifier = Modifier .fillMaxSize() - .background(MaterialTheme.colorScheme.background) + .background(colors.background) .safeDrawingPadding(), ) { Column( @@ -89,170 +111,395 @@ fun ProPage( // heightIn(min = maxHeight) pins the footer to the bottom when everything fits. .heightIn(min = maxHeight) // The top inset clears the floating theme switcher. - .padding(start = 24.dp, end = 24.dp, top = 64.dp, bottom = 16.dp), + .padding(start = 32.dp, end = 32.dp, top = 88.dp, bottom = 16.dp), ) { - topBar() - Spacer(modifier = Modifier.height(32.dp)) - Text( - text = title, - style = MaterialTheme.typography.headlineSmall, - color = LocalFullCustomizationStyle.current.titleColor, - ) - subtitle?.let { - Spacer(modifier = Modifier.height(6.dp)) - Text( - text = it, - style = MaterialTheme.typography.bodyLarge.copy(fontWeight = FontWeight.Normal), - color = MaterialTheme.colorScheme.onSurfaceVariant, - ) - } - Spacer(modifier = Modifier.height(32.dp)) + Column(content = header) Column( - modifier = modifier.fillMaxWidth(), - verticalArrangement = Arrangement.spacedBy(16.dp), + modifier = modifier + .fillMaxWidth() + .padding(top = 28.dp), content = content, ) Spacer(modifier = Modifier.weight(1f)) - Spacer(modifier = Modifier.height(24.dp)) - ProFooter() + Spacer(modifier = Modifier.height(32.dp)) + footer() } } } -/** The product mark and name, top-left, in place of a mascot or a centred greeting. */ +/** The product mark and name, above the landing's title. */ @Composable -fun ProBrandBar() { - Row( - verticalAlignment = Alignment.CenterVertically, - horizontalArrangement = Arrangement.spacedBy(10.dp), - modifier = Modifier.height(48.dp), - ) { - Box( - contentAlignment = Alignment.Center, - modifier = Modifier - .size(28.dp) - .background(MaterialTheme.colorScheme.primary, RoundedCornerShape(6.dp)), - ) { - Icon( - imageVector = Icons.Outlined.Shield, - contentDescription = null, - tint = MaterialTheme.colorScheme.onPrimary, - modifier = Modifier.size(16.dp), - ) +fun ProBrand() { + val colors = proColors() + Row(verticalAlignment = Alignment.CenterVertically, horizontalArrangement = Arrangement.spacedBy(10.dp)) { + ProIconTile(icon = Icons.Outlined.Shield, size = 32.dp, fill = colors.accentFill, tint = Color.White) + Text(text = "FirebaseUI Demo", fontSize = 15.sp, fontWeight = FontWeight.SemiBold, color = colors.text) + } +} + +/** A title and a one-line explanation, under an optional icon tile. */ +@Composable +fun ProHeader(title: String, subtitle: String? = null, icon: ImageVector? = null) { + val colors = proColors() + Column { + icon?.let { + ProIconTile(icon = it, size = 44.dp) + Spacer(modifier = Modifier.height(20.dp)) } Text( - text = "FirebaseUI Demo", - style = MaterialTheme.typography.bodyLarge.copy(fontWeight = FontWeight.SemiBold), - color = MaterialTheme.colorScheme.onSurface, + text = title, + fontSize = 26.sp, + lineHeight = 32.sp, + fontWeight = FontWeight.SemiBold, + letterSpacing = (-0.3).sp, + color = colors.text, + modifier = Modifier.semantics { heading() }, ) + subtitle?.let { + Spacer(modifier = Modifier.height(6.dp)) + Text(text = it, fontSize = 15.sp, lineHeight = 21.sp, color = colors.muted) + } } } -/** A "Back" link in the top bar, in place of a full-width "Use a different email" button. */ +/** An icon on a soft accent square. */ @Composable -fun ProBackBar(onBack: () -> Unit, enabled: Boolean = true, label: String = "Back") { +fun ProIconTile( + icon: ImageVector, + size: Dp = 36.dp, + fill: Color = proColors().accentSoft, + tint: Color = proColors().accentSoftText, +) { + Box( + contentAlignment = Alignment.Center, + modifier = Modifier + .size(size) + .background(fill, RoundedCornerShape(size * 0.28f)), + ) { + Icon(imageVector = icon, contentDescription = null, tint = tint, modifier = Modifier.size(size * 0.5f)) + } +} + +/** "‹ Back", for screens pushed over another (iOS gets this from its navigation bar). */ +@Composable +fun ProBackButton(onBack: () -> Unit, enabled: Boolean = true) { + val colors = proColors() TextButton( onClick = onBack, enabled = enabled, contentPadding = PaddingValues(start = 0.dp, end = 12.dp), modifier = Modifier - .height(48.dp) + .padding(bottom = 12.dp) .semantics { contentDescription = "button - back" }, ) { Icon( imageVector = Icons.AutoMirrored.Filled.KeyboardArrowLeft, contentDescription = null, + tint = colors.accent, modifier = Modifier.size(22.dp), ) - Text(text = label, style = MaterialTheme.typography.bodyLarge) + Text(text = "Back", fontSize = 15.sp, fontWeight = FontWeight.Medium, color = colors.accent) } } -/** Terms · Privacy, pinned to the bottom of every professional screen. */ +/** A full-width outlined button, for the sign-in providers. */ @Composable -fun ProFooter() { - val links = LocalLegalLinks.current - val uriHandler = LocalUriHandler.current - val items = listOfNotNull( - links.tosUrl?.let { "Terms" to it }, - links.privacyPolicyUrl?.let { "Privacy" to it }, +fun ProOutlineButton( + title: String, + onClick: () -> Unit, + contentDescription: String, + enabled: Boolean = true, + /** The provider mark or icon, drawn in a 20dp box before the title. */ + content: @Composable () -> Unit, +) { + val colors = proColors() + Surface( + onClick = onClick, + enabled = enabled, + color = colors.surface, + contentColor = colors.text, + shape = RoundedCornerShape(10.dp), + border = BorderStroke(1.dp, colors.border), + modifier = Modifier + .fillMaxWidth() + .heightIn(min = 48.dp) + .semantics { this.contentDescription = contentDescription }, + ) { + Row( + horizontalArrangement = Arrangement.Center, + verticalAlignment = Alignment.CenterVertically, + modifier = Modifier.heightIn(min = 48.dp), + ) { + Box(contentAlignment = Alignment.Center, modifier = Modifier.size(20.dp)) { content() } + Spacer(modifier = Modifier.width(10.dp)) + Text(text = title, fontSize = 15.sp, fontWeight = FontWeight.SemiBold) + } + } +} + +/** A provider mark sized for [ProOutlineButton]; Apple's white mark is inked for the outlined button. */ +@Composable +fun ProProviderMark(painter: Painter, tintTo: Color? = null) { + Image( + painter = painter, + contentDescription = null, + colorFilter = tintTo?.let { androidx.compose.ui.graphics.ColorFilter.tint(it) }, + modifier = Modifier.size(20.dp), ) - if (items.isEmpty()) return +} + +/** A text-only action in the accent colour, 44dp tall. */ +@Composable +fun ProTextButton( + title: String, + onClick: () -> Unit, + contentDescription: String, + enabled: Boolean = true, + alignment: Alignment = Alignment.Center, +) { + val colors = proColors() + Box( + contentAlignment = alignment, + modifier = Modifier + .fillMaxWidth() + .heightIn(min = 44.dp) + .clickable(enabled = enabled, role = Role.Button, onClick = onClick) + .semantics { this.contentDescription = contentDescription }, + ) { + Text( + text = title, + fontSize = 15.sp, + fontWeight = FontWeight.Medium, + color = if (enabled) colors.accent else colors.accent.copy(alpha = 0.5f), + ) + } +} + +/** + * "Prompt? Action", centred, with only the action tappable. One row of two texts at the same size, + * so both sit on one baseline (a TextButton next to a Text would not). + */ +@Composable +fun ProPromptLink(prompt: String, action: String, onClick: () -> Unit, contentDescription: String) { + val colors = proColors() Row( horizontalArrangement = Arrangement.Center, verticalAlignment = Alignment.CenterVertically, modifier = Modifier.fillMaxWidth(), ) { - items.forEachIndexed { index, (label, url) -> - if (index > 0) { - Text(text = "·", color = MaterialTheme.colorScheme.onSurfaceVariant, fontSize = 12.sp) - } - TextButton(onClick = { uriHandler.openUri(url) }) { - Text( - text = label, - fontSize = 12.sp, - color = MaterialTheme.colorScheme.onSurfaceVariant, - ) - } + Text(text = prompt, fontSize = 15.sp, color = colors.muted) + Spacer(modifier = Modifier.width(4.dp)) + Box( + contentAlignment = Alignment.Center, + modifier = Modifier + .heightIn(min = 44.dp) + .clickable(role = Role.Button, onClick = onClick) + .semantics { this.contentDescription = contentDescription }, + ) { + Text(text = action, fontSize = 15.sp, fontWeight = FontWeight.Medium, color = colors.accent) } } } -/** A full-width outlined "Continue with …" button, for the providers the landing shows inline. */ +/** A rule with a short label in the middle. */ @Composable -fun ProProviderButton( - provider: AuthProvider, - label: String, - onClick: () -> Unit, +fun ProDivider(label: String) { + val colors = proColors() + Row(verticalAlignment = Alignment.CenterVertically, horizontalArrangement = Arrangement.spacedBy(12.dp)) { + Box(modifier = Modifier.weight(1f).height(1.dp).background(colors.hairline)) + Text(text = label, fontSize = 13.sp, color = colors.muted) + Box(modifier = Modifier.weight(1f).height(1.dp).background(colors.hairline)) + } +} + +/** A content slot's error message, if it has one. */ +@Composable +fun ProErrorText(message: String?) { + message ?: return + val colors = proColors() + Row( + horizontalArrangement = Arrangement.spacedBy(6.dp), + verticalAlignment = Alignment.Top, + modifier = Modifier.semantics(mergeDescendants = true) { contentDescription = "error-message" }, + ) { + Icon( + imageVector = Icons.Outlined.ErrorOutline, + contentDescription = null, + tint = colors.danger, + modifier = Modifier.size(18.dp), + ) + Text(text = message, fontSize = 14.sp, color = colors.danger) + } +} + +/** A small uppercase label above a [ProGroup]. */ +@Composable +fun ProSectionLabel(text: String) { + Text( + text = text.uppercase(), + fontSize = 13.sp, + fontWeight = FontWeight.Medium, + letterSpacing = 0.3.sp, + color = proColors().muted, + modifier = Modifier.padding(start = 4.dp, end = 4.dp, bottom = 8.dp), + ) +} + +/** Grouped rows on a bordered card, like a settings section. Separate rows with [ProRowSeparator]. */ +@Composable +fun ProGroup(content: @Composable ColumnScope.() -> Unit) { + val colors = proColors() + val shape = RoundedCornerShape(12.dp) + Column( + modifier = Modifier + .fillMaxWidth() + .clip(shape) + .background(colors.surface) + .border(1.dp, colors.hairline, shape), + content = content, + ) +} + +/** The hairline between rows, inset past a row's icon. */ +@Composable +fun ProRowSeparator(inset: Dp = 48.dp) { + Box( + modifier = Modifier + .padding(start = inset) + .fillMaxWidth() + .height(1.dp) + .background(proColors().hairline), + ) +} + +/** One settings row: an optional icon, a title, an optional value and a chevron. */ +@Composable +fun ProRow( + title: String, + contentDescription: String, + onClick: (() -> Unit)?, + icon: ImageVector? = null, + value: String? = null, + valueTint: Color = proColors().muted, + tint: Color = proColors().text, + showsChevron: Boolean = true, enabled: Boolean = true, ) { - val style = LocalFullCustomizationStyle.current - OutlinedButton( - onClick = onClick, - enabled = enabled, - shape = style.providerButtonShape, - border = BorderStroke(1.dp, MaterialTheme.colorScheme.outlineVariant), - colors = ButtonDefaults.outlinedButtonColors( - containerColor = style.fieldContainer, - contentColor = MaterialTheme.colorScheme.onSurface, - ), + val colors = proColors() + Row( + verticalAlignment = Alignment.CenterVertically, + horizontalArrangement = Arrangement.spacedBy(12.dp), modifier = Modifier .fillMaxWidth() - .height(style.buttonHeight) - .semantics { contentDescription = "button - $label" }, + .then( + if (onClick != null) { + Modifier.clickable(enabled = enabled, role = Role.Button, onClick = onClick) + } else { + Modifier + }, + ) + .semantics(mergeDescendants = true) { this.contentDescription = contentDescription } + .heightIn(min = 52.dp) + .padding(horizontal = 16.dp), ) { - if (provider is AuthProvider.Phone) { - Icon(imageVector = Icons.Default.Phone, contentDescription = null, modifier = Modifier.size(18.dp)) - } else { - providerIconPainter(provider)?.let { painter -> - Image( - painter = painter, - contentDescription = null, - // Apple's mark is drawn white for its black button; ink it for this outlined one. - colorFilter = if (provider is AuthProvider.Apple) { - ColorFilter.tint(MaterialTheme.colorScheme.onSurface) - } else { - null - }, - modifier = Modifier.size(18.dp), - ) - } + icon?.let { Icon(imageVector = it, contentDescription = null, tint = tint, modifier = Modifier.size(20.dp)) } + Text( + text = title, + fontSize = 16.sp, + fontWeight = if (icon == null) FontWeight.Medium else FontWeight.Normal, + color = tint, + modifier = Modifier.weight(1f), + ) + value?.let { Text(text = it, fontSize = 15.sp, color = valueTint) } + if (showsChevron) { + Icon( + imageVector = Icons.AutoMirrored.Filled.KeyboardArrowRight, + contentDescription = null, + tint = colors.chevron, + modifier = Modifier.size(20.dp), + ) } - Spacer(modifier = Modifier.size(12.dp)) - Text(text = label, style = MaterialTheme.typography.bodyLarge) } } -/** "or", between the providers and the email form. */ +/** A selectable row in a [ProGroup]: icon tile, title, description and a radio mark. */ @Composable -fun ProOrDivider() { +fun ProChoiceRow( + icon: ImageVector, + title: String, + detail: String, + isSelected: Boolean, + onClick: () -> Unit, + contentDescription: String, +) { + val colors = proColors() Row( verticalAlignment = Alignment.CenterVertically, - horizontalArrangement = Arrangement.spacedBy(12.dp), - modifier = Modifier.padding(vertical = 4.dp), + horizontalArrangement = Arrangement.spacedBy(14.dp), + modifier = Modifier + .fillMaxWidth() + .clickable(role = Role.RadioButton, onClick = onClick) + .semantics(mergeDescendants = true) { this.contentDescription = contentDescription } + .padding(horizontal = 16.dp, vertical = 14.dp), ) { - HorizontalDivider(modifier = Modifier.weight(1f), color = MaterialTheme.colorScheme.outlineVariant) - Text(text = "or", fontSize = 13.sp, color = MaterialTheme.colorScheme.onSurfaceVariant) - HorizontalDivider(modifier = Modifier.weight(1f), color = MaterialTheme.colorScheme.outlineVariant) + ProIconTile( + icon = icon, + fill = if (isSelected) colors.accentSoft else colors.tile, + tint = if (isSelected) colors.accentSoftText else colors.text, + ) + Column(modifier = Modifier.weight(1f), verticalArrangement = Arrangement.spacedBy(2.dp)) { + Text(text = title, fontSize = 16.sp, fontWeight = FontWeight.Medium, color = colors.text) + Text(text = detail, fontSize = 14.sp, color = colors.muted) + } + RadioButton( + selected = isSelected, + onClick = null, + colors = RadioButtonDefaults.colors(selectedColor = colors.accent, unselectedColor = colors.border), + ) + } +} + +/** The terms line under the screens that sign in or create an account, from the configured URLs. */ +@Composable +fun ProLegalText(prefix: String = "By continuing, you agree to the") { + val links = LocalLegalLinks.current + val tos = links.tosUrl ?: return + val privacy = links.privacyPolicyUrl ?: return + val colors = proColors() + val linkStyle = TextLinkStyles(SpanStyle(color = colors.accent)) + Text( + text = buildAnnotatedString { + append("$prefix ") + withLink(LinkAnnotation.Url(tos, linkStyle)) { append("Terms of Service") } + append(" and ") + withLink(LinkAnnotation.Url(privacy, linkStyle)) { append("Privacy Policy") } + append(".") + }, + fontSize = 13.sp, + lineHeight = 18.sp, + color = colors.muted, + textAlign = TextAlign.Center, + modifier = Modifier + .fillMaxWidth() + .semantics { contentDescription = "terms" }, + ) +} + +/** The identity's first letter on a soft accent circle, or the person glyph when it has none. */ +@Composable +fun ProAvatar(identity: String) { + val letter = identity.firstOrNull { it.isLetter() }?.uppercase() + val colors = proColors() + Box( + contentAlignment = Alignment.Center, + modifier = Modifier + .size(56.dp) + .background(colors.accentSoft, CircleShape), + ) { + if (letter != null) { + Text(text = letter, fontSize = 22.sp, fontWeight = FontWeight.SemiBold, color = colors.accentSoftText) + } else { + Icon(imageVector = Icons.Outlined.Person, contentDescription = null, tint = colors.accentSoftText) + } } } diff --git a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/professional/ProPhoneScreens.kt b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/professional/ProPhoneScreens.kt index d54255fc8e..eceadb14b0 100644 --- a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/professional/ProPhoneScreens.kt +++ b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/professional/ProPhoneScreens.kt @@ -1,126 +1,167 @@ package com.firebaseui.android.demo.auth.fullcustomization.professional +import androidx.compose.foundation.background +import androidx.compose.foundation.border import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.fillMaxWidth -import androidx.compose.foundation.layout.requiredHeight +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.width +import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.foundation.text.BasicTextField import androidx.compose.foundation.text.KeyboardOptions -import androidx.compose.material3.MaterialTheme -import androidx.compose.material3.Surface +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.outlined.Phone +import androidx.compose.material.icons.outlined.Pin import androidx.compose.material3.Text -import androidx.compose.material3.TextButton import androidx.compose.runtime.Composable import androidx.compose.runtime.remember import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.SolidColor import androidx.compose.ui.semantics.contentDescription import androidx.compose.ui.semantics.semantics +import androidx.compose.ui.text.TextStyle import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.input.KeyboardType import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp +import com.firebase.ui.auth.data.CountryData import com.firebase.ui.auth.ui.components.CountrySelector import com.firebase.ui.auth.ui.components.VerificationCodeInputField import com.firebase.ui.auth.ui.screens.phone.PhoneAuthContentState import com.firebaseui.android.demo.auth.fullcustomization.common.CtaButton -import com.firebaseui.android.demo.auth.fullcustomization.common.FullCustomizationTextField -import com.firebaseui.android.demo.auth.fullcustomization.common.themeFieldBorder -import com.firebaseui.android.demo.auth.fullcustomization.theme.LocalFullCustomizationStyle @Composable fun ProPhoneEntry(state: PhoneAuthContentState) { val isPhoneValid = remember(state.phoneNumber) { android.util.Patterns.PHONE.matcher(state.phoneNumber).matches() } - val style = LocalFullCustomizationStyle.current - - ProPage(title = "Sign in with phone", subtitle = "We'll text a code to this number.") { - Column(verticalArrangement = Arrangement.spacedBy(6.dp)) { - Text( - text = "Phone number", - style = MaterialTheme.typography.bodyMedium.copy(fontWeight = FontWeight.Medium), - color = MaterialTheme.colorScheme.onSurface, + ProPage(header = { + ProHeader( + icon = Icons.Outlined.Phone, + title = "Sign in with your phone", + subtitle = "We'll text you a 6-digit code to confirm it's you. Message and data rates may apply.", + ) + }) { + Column(verticalArrangement = Arrangement.spacedBy(16.dp)) { + ProPhoneField( + phoneNumber = state.phoneNumber, + onPhoneNumberChange = state.onPhoneNumberChange, + selectedCountry = state.selectedCountry, + onCountrySelected = state.onCountrySelected, + enabled = !state.isLoading, + contentDescription = "text-field - phone number input", ) - Row(horizontalArrangement = Arrangement.spacedBy(12.dp)) { - Surface( - color = style.fieldContainer, - shape = style.fieldShape, - modifier = Modifier - .requiredHeight(48.dp) - .themeFieldBorder() - .semantics { contentDescription = "country code selector" }, - ) { - CountrySelector( - selectedCountry = state.selectedCountry, - onCountrySelected = state.onCountrySelected, - enabled = !state.isLoading, - ) - } - FullCustomizationTextField( - value = state.phoneNumber, - onValueChange = state.onPhoneNumberChange, - placeholder = "(555) 555-0100", - enabled = !state.isLoading, - isError = state.error != null, - keyboardOptions = KeyboardOptions(keyboardType = KeyboardType.Phone), - modifier = Modifier - .weight(1f) - .semantics { contentDescription = "text-field - phone number input" }, - ) - } - Text( - text = state.error ?: "Message and data rates may apply.", - style = MaterialTheme.typography.bodySmall, - color = if (state.error != null) { - MaterialTheme.colorScheme.error - } else { - MaterialTheme.colorScheme.onSurfaceVariant - }, + ProErrorText(state.error) + CtaButton( + text = "Send code", + onClick = state.onSendCodeClick, + enabled = isPhoneValid && !state.isLoading, + isLoading = state.isLoading, + modifier = Modifier.semantics { contentDescription = "button - send verification code" }, ) } - - CtaButton( - text = "Send code", - onClick = state.onSendCodeClick, - enabled = isPhoneValid && !state.isLoading, - isLoading = state.isLoading, - modifier = Modifier.semantics { contentDescription = "button - send verification code" }, - ) } } @Composable fun ProPhoneVerification(state: PhoneAuthContentState) { - ProPage( - title = "Enter the code", - subtitle = "We sent a 6-digit code to ${state.fullPhoneNumber}.", - topBar = { ProBackBar(onBack = state.onChangeNumberClick, enabled = !state.isLoading) }, - ) { - VerificationCodeInputField( - modifier = Modifier - .fillMaxWidth() - .semantics { contentDescription = "text-field - verification code input" }, - isError = state.error != null, - errorMessage = state.error, - onCodeChange = state.onVerificationCodeChange, + ProPage(header = { + ProHeader( + icon = Icons.Outlined.Pin, + title = "Enter the code", + subtitle = "We sent a 6-digit code to ${state.fullPhoneNumber}.", ) - - CtaButton( - text = "Verify", - onClick = state.onVerifyCodeClick, - enabled = state.verificationCode.isNotBlank() && !state.isLoading, - isLoading = state.isLoading, - modifier = Modifier.semantics { contentDescription = "button - verify code" }, - ) - - TextButton( + }) { + Column(verticalArrangement = Arrangement.spacedBy(16.dp)) { + VerificationCodeInputField( + modifier = Modifier + .fillMaxWidth() + .semantics { contentDescription = "text-field - verification code input" }, + isError = state.error != null, + errorMessage = state.error, + onCodeChange = state.onVerificationCodeChange, + ) + CtaButton( + text = "Verify", + onClick = state.onVerifyCodeClick, + enabled = state.verificationCode.isNotBlank() && !state.isLoading, + isLoading = state.isLoading, + modifier = Modifier.semantics { contentDescription = "button - verify code" }, + ) + } + Spacer(modifier = Modifier.height(4.dp)) + ProTextButton( + title = if (state.resendTimer > 0) "Resend code in ${state.resendTimer}s" else "Resend code", onClick = state.onResendCodeClick, enabled = state.resendTimer == 0 && !state.isLoading, - modifier = Modifier.align(Alignment.CenterHorizontally), + contentDescription = "button - resend code", + ) + ProTextButton( + title = "Use a different number", + onClick = state.onChangeNumberClick, + enabled = !state.isLoading, + contentDescription = "button - use a different number", + ) + } +} + +/** The library's country picker and the number in one bordered box, split by a hairline. */ +@Composable +fun ProPhoneField( + phoneNumber: String, + onPhoneNumberChange: (String) -> Unit, + selectedCountry: CountryData?, + onCountrySelected: (CountryData) -> Unit, + enabled: Boolean, + contentDescription: String, +) { + val colors = proColors() + val shape = RoundedCornerShape(10.dp) + Column(verticalArrangement = Arrangement.spacedBy(6.dp)) { + Text(text = "Phone number", fontSize = 14.sp, fontWeight = FontWeight.Medium, color = colors.text) + Row( + verticalAlignment = Alignment.CenterVertically, + modifier = Modifier + .fillMaxWidth() + .height(48.dp) + .background(colors.field, shape) + .border(1.dp, colors.border, shape) + .padding(start = 4.dp, end = 14.dp), ) { - Text( - text = if (state.resendTimer > 0) "Resend code in ${state.resendTimer}s" else "Resend code", - fontWeight = FontWeight.Medium, + selectedCountry?.let { country -> + Box(modifier = Modifier.semantics { this.contentDescription = "country code selector" }) { + CountrySelector( + selectedCountry = country, + onCountrySelected = onCountrySelected, + enabled = enabled, + ) + } + Box(modifier = Modifier.width(1.dp).height(24.dp).background(colors.hairline)) + } + Spacer(modifier = Modifier.width(10.dp)) + BasicTextField( + value = phoneNumber, + onValueChange = onPhoneNumberChange, + enabled = enabled, + singleLine = true, + textStyle = TextStyle(fontSize = 16.sp, color = colors.text), + cursorBrush = SolidColor(colors.accent), + keyboardOptions = KeyboardOptions(keyboardType = KeyboardType.Phone), + modifier = Modifier + .weight(1f) + .semantics { this.contentDescription = contentDescription }, + decorationBox = { inner -> + if (phoneNumber.isEmpty()) { + Text(text = "555 123 4567", fontSize = 16.sp, color = colors.placeholder) + } + inner() + }, ) } } diff --git a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/AuthMethodPickerUI.kt b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/AuthMethodPickerUI.kt index a4cb67306f..f9dd85fe11 100644 --- a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/AuthMethodPickerUI.kt +++ b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/AuthMethodPickerUI.kt @@ -30,6 +30,7 @@ import com.firebase.ui.auth.ui.screens.AuthRoute import com.firebase.ui.auth.ui.screens.email.EmailAuthMode import com.firebase.ui.auth.ui.screens.email.EmailAuthScreen import com.firebaseui.android.demo.auth.fullcustomization.common.OtherSignInMethodsSheet +import com.firebaseui.android.demo.auth.fullcustomization.professional.ProSignIn import com.firebaseui.android.demo.auth.fullcustomization.professional.isProfessional import com.firebaseui.android.demo.auth.fullcustomization.professional.proInlineProviders import com.firebaseui.android.demo.auth.fullcustomization.screens.email.pages.EmailEntryStep @@ -113,7 +114,7 @@ fun AuthMethodPickerUI( ) { var showOtherMethods by remember { mutableStateOf(false) } val backStack = rememberNavBackStack(EmailEntryKey) - // Professional shows the common providers on the landing itself; the others keep all of them in the sheet. + // Professional shows the common providers on its sign-in screen; the sheet keeps the rest. val inlineProviders = if (isProfessional()) proInlineProviders(otherProviders) else emptyList() Box(modifier = Modifier.fillMaxSize()) { @@ -124,6 +125,32 @@ fun AuthMethodPickerUI( predictivePopTransitionSpec = EmailStepPredictivePopTransform, entryProvider = entryProvider { entry { + // Professional opens on sign-in itself, email and password together, as the + // iOS demo does; the other modes push from it like the shared steps below. + if (isProfessional()) { + EmailAuthScreen( + context = context, + configuration = configuration, + authUI = authUI, + mode = EmailAuthMode.SignIn, + onNavigateToMode = { mode, email -> backStack.navigateToStep(stepFor(mode, email)) }, + onSuccess = onSuccess, + onError = onError, + onCancel = onCancel, + ) { state -> + ProSignIn( + state = state, + isEmailLinkOffered = configuration.providers + .filterIsInstance() + .firstOrNull()?.isEmailLinkSignInEnabled == true, + inlineProviders = inlineProviders, + onProviderSelected = onProviderSelected, + onShowOtherMethods = { showOtherMethods = true } + .takeIf { otherProviders.size > inlineProviders.size }, + ) + } + return@entry + } // No auth operation here, so there is nothing for EmailAuthContentState to own. var email by rememberSaveable { mutableStateOf("") } EmailEntryStep( @@ -137,8 +164,6 @@ fun AuthMethodPickerUI( backStack.navigateToStep(AuthRoute.Email.SignUp(email)) }, onShowOtherMethods = { showOtherMethods = true }, - inlineProviders = inlineProviders, - onProviderSelected = onProviderSelected, ) } diff --git a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/AuthenticatedUI.kt b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/AuthenticatedUI.kt index 972aa79531..1395c4f58e 100644 --- a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/AuthenticatedUI.kt +++ b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/AuthenticatedUI.kt @@ -1,33 +1,22 @@ package com.firebaseui.android.demo.auth.fullcustomization.screens import android.util.Log -import androidx.compose.foundation.BorderStroke -import androidx.compose.foundation.background -import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Arrangement -import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column -import androidx.compose.foundation.layout.ColumnScope import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height -import androidx.compose.foundation.layout.heightIn import androidx.compose.foundation.layout.padding -import androidx.compose.foundation.layout.size -import androidx.compose.foundation.shape.CircleShape -import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.material.icons.Icons -import androidx.compose.material.icons.automirrored.filled.KeyboardArrowRight import androidx.compose.material.icons.filled.Visibility import androidx.compose.material.icons.filled.VisibilityOff -import androidx.compose.material.icons.outlined.Person -import androidx.compose.material3.ButtonDefaults -import androidx.compose.material3.HorizontalDivider +import androidx.compose.material.icons.outlined.Email +import androidx.compose.material.icons.outlined.Key +import androidx.compose.material.icons.outlined.Security import androidx.compose.material3.Icon import androidx.compose.material3.IconButton import androidx.compose.material3.MaterialTheme -import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.Composable @@ -39,13 +28,13 @@ import androidx.compose.runtime.saveable.rememberSaveable import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier -import androidx.compose.ui.graphics.Color import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.semantics.contentDescription import androidx.compose.ui.semantics.semantics import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.input.PasswordVisualTransformation import androidx.compose.ui.text.input.VisualTransformation +import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import androidx.lifecycle.compose.LocalLifecycleOwner @@ -60,9 +49,15 @@ import com.firebaseui.android.demo.auth.fullcustomization.common.AuthPage import com.firebaseui.android.demo.auth.fullcustomization.common.CtaButton import com.firebaseui.android.demo.auth.fullcustomization.common.FullCustomizationTextField import com.firebaseui.android.demo.auth.fullcustomization.common.secondaryCtaColors +import com.firebaseui.android.demo.auth.fullcustomization.professional.ProAvatar +import com.firebaseui.android.demo.auth.fullcustomization.professional.ProGroup +import com.firebaseui.android.demo.auth.fullcustomization.professional.ProHeader import com.firebaseui.android.demo.auth.fullcustomization.professional.ProPage +import com.firebaseui.android.demo.auth.fullcustomization.professional.ProRow +import com.firebaseui.android.demo.auth.fullcustomization.professional.ProRowSeparator +import com.firebaseui.android.demo.auth.fullcustomization.professional.ProSectionLabel import com.firebaseui.android.demo.auth.fullcustomization.professional.isProfessional -import com.firebaseui.android.demo.auth.fullcustomization.theme.LocalFullCustomizationStyle +import com.firebaseui.android.demo.auth.fullcustomization.professional.proColors import kotlinx.coroutines.launch import kotlinx.coroutines.tasks.await @@ -327,8 +322,8 @@ private fun ProfileCompletionPage( } /** - * The professional account screen: a settings list rather than a card and stacked buttons. The - * password row opens the change-password form in place; two-factor goes to enrollment. + * The professional account screen, as the iOS demo draws it: a profile line, a Security section of + * settings rows, and sign-out on its own group. The password row opens the change form in place. */ @Composable private fun ProAccountPage( @@ -341,146 +336,108 @@ private fun ProAccountPage( /** The new-password field, shown when the password row is opened. */ content: @Composable () -> Unit, ) { + val colors = proColors() val user = uiContext.authUI.getCurrentUser() - val name = user?.displayName?.takeIf { it.isNotBlank() } - // Letters only: a phone-only account has none, and gets the person glyph instead. - val initials = (name ?: identifier.substringBefore('@')).split(" ", ".", "_", "-") - .mapNotNull { part -> part.firstOrNull { it.isLetter() } }.take(2) - .joinToString("") { it.uppercase() } + val providerIds = user?.providerData?.map { it.providerId }.orEmpty().filter { it != "firebase" } + // Only accounts that sign in with a password can change one. + val hasPassword = "password" in providerIds + val signInMethod = when (providerIds.firstOrNull()) { + "password" -> "email" + "phone" -> "phone" + "google.com" -> "Google" + "apple.com" -> "Apple" + "github.com" -> "GitHub" + null -> "a temporary account" + else -> providerIds.first() + } + val email = user?.email?.takeIf { it.isNotBlank() } var showPasswordForm by rememberSaveable { mutableStateOf(false) } - val style = LocalFullCustomizationStyle.current ProPage( - title = "Account", modifier = Modifier.semantics { contentDescription = "authenticated - account card" }, + header = { ProHeader(title = "Account") }, ) { - Row(verticalAlignment = Alignment.CenterVertically, horizontalArrangement = Arrangement.spacedBy(14.dp)) { - Box( - contentAlignment = Alignment.Center, - modifier = Modifier - .size(48.dp) - .background(style.secondaryButton.container, CircleShape), - ) { - if (initials.isNotEmpty()) { - Text(text = initials, color = style.secondaryButton.content, fontWeight = FontWeight.SemiBold) - } else { - Icon(imageVector = Icons.Outlined.Person, contentDescription = null, tint = style.secondaryButton.content) - } - } - Column { + Row( + verticalAlignment = Alignment.CenterVertically, + horizontalArrangement = Arrangement.spacedBy(14.dp), + modifier = Modifier.semantics(mergeDescendants = true) { contentDescription = "profile" }, + ) { + ProAvatar(identity = identifier) + Column(verticalArrangement = Arrangement.spacedBy(2.dp)) { Text( - text = name ?: identifier, - style = MaterialTheme.typography.bodyLarge.copy(fontWeight = FontWeight.SemiBold), - color = MaterialTheme.colorScheme.onSurface, + text = identifier.ifBlank { "Signed in" }, + fontSize = 17.sp, + fontWeight = FontWeight.SemiBold, + color = colors.text, + maxLines = 1, + overflow = TextOverflow.MiddleEllipsis, ) - if (name != null) { - Text( - text = "Signed in as $identifier", - style = MaterialTheme.typography.bodyMedium, - color = MaterialTheme.colorScheme.onSurfaceVariant, - ) - } + Text(text = "Signed in with $signInMethod", fontSize = 14.sp, color = colors.muted) } } - Text( - text = "SECURITY", - style = MaterialTheme.typography.labelMedium.copy(fontWeight = FontWeight.SemiBold, letterSpacing = 0.4.sp), - color = MaterialTheme.colorScheme.onSurfaceVariant, - modifier = Modifier.padding(start = 4.dp, top = 8.dp), - ) - ProSettingsGroup { - ProSettingsRow( - label = "Password", - value = if (showPasswordForm) "Cancel" else "Change", - onClick = { showPasswordForm = !showPasswordForm }, - enabled = !isUpdating, - ) - if (showPasswordForm) { - Column( - verticalArrangement = Arrangement.spacedBy(12.dp), - modifier = Modifier.padding(start = 16.dp, end = 16.dp, bottom = 16.dp), - ) { - content() - CtaButton( - text = "Update password", - onClick = onChangePassword, - enabled = canChangePassword, - isLoading = isUpdating, - modifier = Modifier.semantics { contentDescription = "button - change password" }, - ) + Spacer(modifier = Modifier.height(32.dp)) + ProSectionLabel(text = "Security") + ProGroup { + if (hasPassword) { + ProRow( + icon = Icons.Outlined.Key, + title = "Password", + value = if (showPasswordForm) "Cancel" else "Change", + contentDescription = "button - password row", + onClick = { showPasswordForm = !showPasswordForm }, + enabled = !isUpdating, + ) + if (showPasswordForm) { + Column( + verticalArrangement = Arrangement.spacedBy(12.dp), + modifier = Modifier.padding(start = 16.dp, end = 16.dp, bottom = 16.dp), + ) { + content() + CtaButton( + text = "Update password", + onClick = onChangePassword, + enabled = canChangePassword, + isLoading = isUpdating, + modifier = Modifier.semantics { contentDescription = "button - change password" }, + ) + } } + ProRowSeparator() } - HorizontalDivider(color = MaterialTheme.colorScheme.outlineVariant, modifier = Modifier.padding(start = 16.dp)) - ProSettingsRow( - label = "Two-factor authentication", + ProRow( + icon = Icons.Outlined.Security, + title = "Two-factor authentication", value = if (hasTwoFactor) "On" else "Off", + contentDescription = "button - manage mfa", onClick = uiContext.onManageMfa, enabled = !isUpdating, - modifier = Modifier.semantics { contentDescription = "button - manage mfa" }, ) - HorizontalDivider(color = MaterialTheme.colorScheme.outlineVariant, modifier = Modifier.padding(start = 16.dp)) - ProSettingsRow(label = "Email verified", value = if (user?.isEmailVerified == true) "Yes" else "No") + if (email != null) { + ProRowSeparator() + val verified = user?.isEmailVerified == true + ProRow( + icon = Icons.Outlined.Email, + title = "Email", + value = if (verified) "Verified" else "Verify", + valueTint = if (verified) colors.muted else colors.accent, + showsChevron = false, + contentDescription = "button - verify email", + onClick = if (verified) null else ({ user?.sendEmailVerification(); Unit }), + ) + } } - ProSettingsGroup { - ProSettingsRow( - label = uiContext.stringProvider.signOutAction, - labelColor = MaterialTheme.colorScheme.error, + Spacer(modifier = Modifier.height(24.dp)) + ProGroup { + ProRow( + title = uiContext.stringProvider.signOutAction, + tint = colors.accent, + showsChevron = false, + contentDescription = "button - sign out", onClick = uiContext.onSignOut, enabled = !isUpdating, ) } } } - -@Composable -private fun ProSettingsGroup(content: @Composable ColumnScope.() -> Unit) { - Surface( - color = LocalFullCustomizationStyle.current.cardFill, - shape = RoundedCornerShape(12.dp), - border = BorderStroke(1.dp, MaterialTheme.colorScheme.outlineVariant), - modifier = Modifier.fillMaxWidth(), - ) { - Column(content = content) - } -} - -/** One settings row: a label, an optional value, and a chevron when it does something. */ -@Composable -private fun ProSettingsRow( - label: String, - modifier: Modifier = Modifier, - value: String? = null, - labelColor: Color = MaterialTheme.colorScheme.onSurface, - onClick: (() -> Unit)? = null, - enabled: Boolean = true, -) { - Row( - verticalAlignment = Alignment.CenterVertically, - horizontalArrangement = Arrangement.spacedBy(12.dp), - modifier = modifier - .fillMaxWidth() - .then(if (onClick != null) Modifier.clickable(enabled = enabled, onClick = onClick) else Modifier) - .heightIn(min = 56.dp) - .padding(horizontal = 16.dp), - ) { - Text( - text = label, - style = MaterialTheme.typography.bodyLarge, - color = labelColor, - modifier = Modifier.weight(1f), - ) - value?.let { - Text(text = it, style = MaterialTheme.typography.bodyMedium, color = MaterialTheme.colorScheme.onSurfaceVariant) - } - if (onClick != null && labelColor == MaterialTheme.colorScheme.onSurface) { - Icon( - imageVector = Icons.AutoMirrored.Filled.KeyboardArrowRight, - contentDescription = null, - tint = MaterialTheme.colorScheme.outline, - modifier = Modifier.size(20.dp), - ) - } - } -} diff --git a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/email/EmailAuthUI.kt b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/email/EmailAuthUI.kt index d855781c87..4c61d4e98c 100644 --- a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/email/EmailAuthUI.kt +++ b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/email/EmailAuthUI.kt @@ -4,13 +4,18 @@ import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue -import androidx.compose.runtime.setValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.saveable.rememberSaveable +import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier import com.firebase.ui.auth.ui.screens.email.EmailAuthContentState import com.firebase.ui.auth.ui.screens.email.EmailAuthMode import com.firebaseui.android.demo.auth.fullcustomization.common.ThemeBackground +import com.firebaseui.android.demo.auth.fullcustomization.professional.ProEmailLink +import com.firebaseui.android.demo.auth.fullcustomization.professional.ProResetPassword +import com.firebaseui.android.demo.auth.fullcustomization.professional.ProSignIn +import com.firebaseui.android.demo.auth.fullcustomization.professional.ProSignUp +import com.firebaseui.android.demo.auth.fullcustomization.professional.isProfessional import com.firebaseui.android.demo.auth.fullcustomization.screens.email.pages.EmailEntryStep import com.firebaseui.android.demo.auth.fullcustomization.screens.email.pages.LoginStep import com.firebaseui.android.demo.auth.fullcustomization.screens.email.pages.SignUpStep @@ -35,6 +40,16 @@ fun EmailAuthUI(state: EmailAuthContentState) { return } + if (isProfessional()) { + when (state.mode) { + EmailAuthMode.SignUp -> ProSignUp(state, onBack = state.onGoToSignIn) + EmailAuthMode.ResetPassword -> ProResetPassword(state, onBack = state.onGoToSignIn) + EmailAuthMode.EmailLinkSignIn -> ProEmailLink(state, onBack = state.onGoToSignIn) + EmailAuthMode.SignIn -> ProSignIn(state, isEmailLinkOffered = false) + } + return + } + var chosen by rememberSaveable { mutableStateOf(state.email.isNotBlank()) } val onUseDifferentEmail: () -> Unit = { diff --git a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/email/pages/EmailEntryStep.kt b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/email/pages/EmailEntryStep.kt index 30dea50779..b93b646541 100644 --- a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/email/pages/EmailEntryStep.kt +++ b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/email/pages/EmailEntryStep.kt @@ -19,7 +19,6 @@ import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.foundation.verticalScroll import androidx.compose.material.icons.Icons import androidx.compose.material.icons.automirrored.filled.Login -import androidx.compose.material3.ButtonDefaults import androidx.compose.material3.Icon import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Surface @@ -37,7 +36,6 @@ import androidx.compose.ui.semantics.semantics import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp import androidx.compose.ui.zIndex -import com.firebase.ui.auth.configuration.auth_provider.AuthProvider import com.firebaseui.android.demo.R import com.firebaseui.android.demo.auth.fullcustomization.common.AuthFieldShape import com.firebaseui.android.demo.auth.fullcustomization.common.CtaButton @@ -46,8 +44,6 @@ import com.firebaseui.android.demo.auth.fullcustomization.common.FullCustomizati import com.firebaseui.android.demo.auth.fullcustomization.common.HardOffsetShadow import com.firebaseui.android.demo.auth.fullcustomization.common.SparkHeadline import com.firebaseui.android.demo.auth.fullcustomization.common.secondaryCtaColors -import com.firebaseui.android.demo.auth.fullcustomization.professional.ProLanding -import com.firebaseui.android.demo.auth.fullcustomization.professional.isProfessional import com.firebaseui.android.demo.auth.fullcustomization.theme.FullCustomizationThemeId import com.firebaseui.android.demo.auth.fullcustomization.theme.LocalFullCustomizationStyle @@ -132,24 +128,7 @@ fun EmailEntryStep( onSignIn: () -> Unit, onCreateAccount: () -> Unit, onShowOtherMethods: () -> Unit, - inlineProviders: List = emptyList(), - onProviderSelected: (AuthProvider) -> Unit = {}, ) { - if (isProfessional()) { - ProLanding( - email = email, - onEmailChange = onEmailChange, - isLoading = isLoading, - onContinue = onSignIn, - onCreateAccount = onCreateAccount, - inlineProviders = inlineProviders, - onProviderSelected = onProviderSelected, - // Only where there is a sheet to open: the email slot has already committed to email. - onShowOtherMethods = onShowOtherMethods.takeIf { inlineProviders.isNotEmpty() }, - ) - return - } - val isEmailValid = remember(email) { android.util.Patterns.EMAIL_ADDRESS.matcher(email).matches() } diff --git a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/email/pages/LoginStep.kt b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/email/pages/LoginStep.kt index d530244ffa..e8f079714b 100644 --- a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/email/pages/LoginStep.kt +++ b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/email/pages/LoginStep.kt @@ -16,7 +16,6 @@ import androidx.compose.foundation.verticalScroll import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.Visibility import androidx.compose.material.icons.filled.VisibilityOff -import androidx.compose.material3.ButtonDefaults import androidx.compose.material3.Icon import androidx.compose.material3.IconButton import androidx.compose.material3.MaterialTheme @@ -37,6 +36,7 @@ import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.text.style.TextDecoration import androidx.compose.ui.unit.dp import com.firebase.ui.auth.ui.screens.email.EmailAuthContentState +import com.firebase.ui.auth.ui.screens.email.EmailAuthMode import com.firebaseui.android.demo.R import com.firebaseui.android.demo.auth.fullcustomization.common.AuthFieldShape import com.firebaseui.android.demo.auth.fullcustomization.common.CtaButton @@ -45,7 +45,9 @@ import com.firebaseui.android.demo.auth.fullcustomization.common.FullCustomizati import com.firebaseui.android.demo.auth.fullcustomization.common.HardOffsetShadow import com.firebaseui.android.demo.auth.fullcustomization.common.ThemeHeader import com.firebaseui.android.demo.auth.fullcustomization.common.secondaryCtaColors -import com.firebaseui.android.demo.auth.fullcustomization.professional.ProLogin +import com.firebaseui.android.demo.auth.fullcustomization.professional.ProEmailLink +import com.firebaseui.android.demo.auth.fullcustomization.professional.ProResetPassword +import com.firebaseui.android.demo.auth.fullcustomization.professional.ProSignIn import com.firebaseui.android.demo.auth.fullcustomization.professional.isProfessional import com.firebaseui.android.demo.auth.fullcustomization.theme.LocalFullCustomizationStyle @@ -55,7 +57,11 @@ fun LoginStep( onUseDifferentEmail: () -> Unit, ) { if (isProfessional()) { - ProLogin(state, onUseDifferentEmail) + when (state.mode) { + EmailAuthMode.ResetPassword -> ProResetPassword(state, onBack = onUseDifferentEmail) + EmailAuthMode.EmailLinkSignIn -> ProEmailLink(state, onBack = onUseDifferentEmail) + else -> ProSignIn(state, isEmailLinkOffered = false, onBack = onUseDifferentEmail) + } return } diff --git a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/email/pages/SignUpStep.kt b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/email/pages/SignUpStep.kt index 0711c08d50..e44df6448a 100644 --- a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/email/pages/SignUpStep.kt +++ b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/email/pages/SignUpStep.kt @@ -60,7 +60,7 @@ fun SignUpStep( onUseDifferentEmail: () -> Unit, ) { if (isProfessional()) { - ProSignUp(state, onUseDifferentEmail) + ProSignUp(state, onBack = onUseDifferentEmail) return } diff --git a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/mfa/pages/ConfigureSmsStep.kt b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/mfa/pages/ConfigureSmsStep.kt index dac05561dd..51a07b84fe 100644 --- a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/mfa/pages/ConfigureSmsStep.kt +++ b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/mfa/pages/ConfigureSmsStep.kt @@ -1,6 +1,7 @@ package com.firebaseui.android.demo.auth.fullcustomization.screens.mfa.pages import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.fillMaxWidth @@ -9,6 +10,7 @@ import androidx.compose.foundation.layout.requiredHeight import androidx.compose.foundation.text.KeyboardOptions import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.Phone +import androidx.compose.material.icons.outlined.Sms import androidx.compose.material3.Icon import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Surface @@ -24,14 +26,25 @@ import androidx.compose.ui.unit.dp import com.firebase.ui.auth.mfa.MfaEnrollmentContentState import com.firebase.ui.auth.ui.components.CountrySelector import com.firebaseui.android.demo.R -import com.firebaseui.android.demo.auth.fullcustomization.common.themeFieldBorder -import com.firebaseui.android.demo.auth.fullcustomization.theme.LocalFullCustomizationStyle import com.firebaseui.android.demo.auth.fullcustomization.common.AuthPage import com.firebaseui.android.demo.auth.fullcustomization.common.CtaButton import com.firebaseui.android.demo.auth.fullcustomization.common.FullCustomizationTextField +import com.firebaseui.android.demo.auth.fullcustomization.common.themeFieldBorder +import com.firebaseui.android.demo.auth.fullcustomization.professional.ProErrorText +import com.firebaseui.android.demo.auth.fullcustomization.professional.ProHeader +import com.firebaseui.android.demo.auth.fullcustomization.professional.ProPage +import com.firebaseui.android.demo.auth.fullcustomization.professional.ProPhoneField +import com.firebaseui.android.demo.auth.fullcustomization.professional.ProTextButton +import com.firebaseui.android.demo.auth.fullcustomization.professional.isProfessional +import com.firebaseui.android.demo.auth.fullcustomization.theme.LocalFullCustomizationStyle @Composable fun ConfigureSmsStep(state: MfaEnrollmentContentState) { + if (isProfessional()) { + ProConfigureSms(state) + return + } + AuthPage( mascot = R.drawable.full_customization_phone_mascot, mascotDescription = "doggo - cute phone sign-in mascot", @@ -117,3 +130,42 @@ fun ConfigureSmsStep(state: MfaEnrollmentContentState) { }, ) } + +/** The professional SMS step: the phone sign-in screen's combined field, as the iOS demo uses. */ +@Composable +private fun ProConfigureSms(state: MfaEnrollmentContentState) { + ProPage(header = { + ProHeader( + icon = Icons.Outlined.Sms, + title = "Add your phone number", + subtitle = "We'll text a code to this number whenever you sign in.", + ) + }) { + Column(verticalArrangement = Arrangement.spacedBy(16.dp)) { + ProPhoneField( + phoneNumber = state.phoneNumber, + onPhoneNumberChange = state.onPhoneNumberChange, + selectedCountry = state.selectedCountry, + onCountrySelected = state.onCountrySelected, + enabled = !state.isLoading, + contentDescription = "text-field - mfa phone number input", + ) + ProErrorText(state.error) + CtaButton( + text = "Send code", + onClick = state.onSendSmsCodeClick, + enabled = state.isValid && !state.isLoading, + isLoading = state.isLoading, + modifier = Modifier.semantics { contentDescription = "button - send mfa sms code" }, + ) + } + if (state.canGoBack) { + ProTextButton( + title = "Pick a different method", + onClick = state.onBackClick, + enabled = !state.isLoading, + contentDescription = "button - pick a different method", + ) + } + } +} diff --git a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/mfa/pages/SelectFactorStep.kt b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/mfa/pages/SelectFactorStep.kt index 016b36cce9..b06814bcdf 100644 --- a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/mfa/pages/SelectFactorStep.kt +++ b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/screens/mfa/pages/SelectFactorStep.kt @@ -6,12 +6,19 @@ import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height -import androidx.compose.material3.ButtonDefaults +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.outlined.PhoneAndroid +import androidx.compose.material.icons.outlined.Security +import androidx.compose.material.icons.outlined.Sms import androidx.compose.material3.HorizontalDivider import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.Composable +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.semantics.contentDescription @@ -24,12 +31,28 @@ import com.firebaseui.android.demo.auth.fullcustomization.common.AuthPage import com.firebaseui.android.demo.auth.fullcustomization.common.CtaButton import com.firebaseui.android.demo.auth.fullcustomization.common.primaryCtaColors import com.firebaseui.android.demo.auth.fullcustomization.common.secondaryCtaColors +import com.firebaseui.android.demo.auth.fullcustomization.professional.ProChoiceRow +import com.firebaseui.android.demo.auth.fullcustomization.professional.ProErrorText +import com.firebaseui.android.demo.auth.fullcustomization.professional.ProGroup +import com.firebaseui.android.demo.auth.fullcustomization.professional.ProHeader +import com.firebaseui.android.demo.auth.fullcustomization.professional.ProPage +import com.firebaseui.android.demo.auth.fullcustomization.professional.ProRow +import com.firebaseui.android.demo.auth.fullcustomization.professional.ProRowSeparator +import com.firebaseui.android.demo.auth.fullcustomization.professional.ProSectionLabel +import com.firebaseui.android.demo.auth.fullcustomization.professional.ProTextButton +import com.firebaseui.android.demo.auth.fullcustomization.professional.isProfessional +import com.firebaseui.android.demo.auth.fullcustomization.professional.proColors import com.google.firebase.auth.MultiFactorInfo import com.google.firebase.auth.PhoneMultiFactorGenerator import com.google.firebase.auth.TotpMultiFactorGenerator @Composable fun SelectFactorStep(state: MfaEnrollmentContentState) { + if (isProfessional()) { + ProSelectFactor(state) + return + } + AuthPage( mascot = R.drawable.full_customization_mascot, mascotDescription = "doggo - cute security mascot", @@ -121,6 +144,84 @@ fun SelectFactorStep(state: MfaEnrollmentContentState) { ) } +/** + * The professional method choice, as the iOS demo draws it: the account's methods with Remove, + * then the available ones as radio rows and one Continue. + */ +@Composable +private fun ProSelectFactor(state: MfaEnrollmentContentState) { + val colors = proColors() + var selected by remember(state.availableFactors) { mutableStateOf(state.availableFactors.firstOrNull()) } + + ProPage(header = { + ProHeader( + icon = Icons.Outlined.Security, + title = "Set up two-factor authentication", + subtitle = "Add a second step to sign-in, so a password on its own isn't enough.", + ) + }) { + if (state.enrolledFactors.isNotEmpty()) { + ProSectionLabel(text = "Your methods") + ProGroup { + state.enrolledFactors.forEachIndexed { index, info -> + if (index > 0) ProRowSeparator(inset = 16.dp) + ProRow( + title = enrolledFactorLabel(info), + value = "Remove", + valueTint = colors.danger, + showsChevron = false, + contentDescription = "button - remove factor ${enrolledFactorLabel(info)}", + onClick = { state.onUnenrollFactor(info) }, + enabled = !state.isLoading, + ) + } + } + Spacer(modifier = Modifier.height(24.dp)) + } + + if (state.availableFactors.isNotEmpty()) { + ProSectionLabel(text = "Choose a method") + ProGroup { + state.availableFactors.forEachIndexed { index, factor -> + if (index > 0) ProRowSeparator(inset = 66.dp) + ProChoiceRow( + icon = if (factor == MfaFactor.Sms) Icons.Outlined.Sms else Icons.Outlined.PhoneAndroid, + title = if (factor == MfaFactor.Sms) "Text message" else "Authenticator app", + detail = if (factor == MfaFactor.Sms) { + "We'll text a code to your phone." + } else { + "Use a code from an app like Google Authenticator." + }, + isSelected = selected == factor, + onClick = { selected = factor }, + contentDescription = "button - choose ${factorCtaLabel(factor)}", + ) + } + } + } + Spacer(modifier = Modifier.height(16.dp)) + ProErrorText(state.error) + Spacer(modifier = Modifier.height(12.dp)) + if (state.availableFactors.isNotEmpty()) { + CtaButton( + text = "Continue", + onClick = { selected?.let(state.onFactorSelected) }, + enabled = selected != null && !state.isLoading, + isLoading = state.isLoading, + modifier = Modifier.semantics { contentDescription = "button - start enrollment" }, + ) + } + state.onSkipClick?.let { onSkip -> + ProTextButton( + title = "Not now", + onClick = onSkip, + enabled = !state.isLoading, + contentDescription = "button - not now", + ) + } + } +} + private fun factorCtaLabel(factor: MfaFactor): String = when (factor) { MfaFactor.Sms -> "Use text message" MfaFactor.Totp -> "Use an authenticator app" diff --git a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/theme/FullCustomizationStyle.kt b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/theme/FullCustomizationStyle.kt index 3ac0afece2..03233f496e 100644 --- a/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/theme/FullCustomizationStyle.kt +++ b/app/src/main/java/com/firebaseui/android/demo/auth/fullcustomization/theme/FullCustomizationStyle.kt @@ -10,6 +10,7 @@ import androidx.compose.runtime.Immutable import androidx.compose.runtime.staticCompositionLocalOf import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.Shape +import androidx.compose.ui.text.font.FontFamily import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.DpOffset @@ -19,8 +20,7 @@ import androidx.compose.ui.unit.sp /** * The demo's looks. Doggo is the Android Figma section; Grid and Coffee Spark come from the iOS * Landing frames (20:5467 and 20:5769) by way of the iOS demo's values, laid out on Doggo's - * Android sizing. Professional has no Figma frame: its palette is Material 3's fidelity scheme for - * a navy seed (#1E3A8A), with the seed itself kept for buttons and links. + * Android sizing. Professional has no Figma frame: it follows the iOS demo's written spec. * * Figma has no dark frames. Each dark variant keeps a colour's HCT hue and chroma and moves only * its tone: pages to tone 6 (never pure black), text to 90, Doggo's M3 roles to M3's dark tones. @@ -337,104 +337,129 @@ private val SparkDark = spark( artScrim = Color(0xFF151313).copy(alpha = 0.55f), ) -private val ProfessionalNavy = Color(0xFF1E3A8A) +/** + * Professional's colours, the iOS demo's `ProPalette` (firebase/FirebaseUI-iOS#1420): neutral greys + * with one blue accent, in light and dark. Its screens read these directly; [professional] maps + * them onto the colour scheme for the library components they reuse. + */ +@Immutable +data class ProColors( + val background: Color, + val surface: Color, + val field: Color, + val text: Color, + val muted: Color, + val placeholder: Color, + val border: Color, + val hairline: Color, + val accent: Color, + val accentFill: Color, + val accentSoft: Color, + val accentSoftText: Color, + val tile: Color, + val danger: Color, + val chevron: Color, +) + +val ProLightColors = ProColors( + background = Color(0xFFF5F6F8), + surface = Color(0xFFFFFFFF), + field = Color(0xFFFFFFFF), + text = Color(0xFF111418), + muted = Color(0xFF5B6470), + placeholder = Color(0xFF6B7480), + border = Color(0xFFC9CFD6), + hairline = Color(0xFFE3E6EA), + accent = Color(0xFF1F5EFF), + accentFill = Color(0xFF1F5EFF), + accentSoft = Color(0xFFEEF2FF), + accentSoftText = Color(0xFF1F5EFF), + tile = Color(0xFFEEF0F3), + danger = Color(0xFFB42318), + chevron = Color(0xFF9AA3AE), +) + +val ProDarkColors = ProColors( + background = Color(0xFF0F1115), + surface = Color(0xFF181B20), + field = Color(0xFF0F1115), + text = Color(0xFFF2F4F7), + muted = Color(0xFF9AA3AE), + placeholder = Color(0xFF7D8693), + border = Color(0xFF3A414A), + hairline = Color(0xFF2A2F36), + accent = Color(0xFF4C7DFF), + // Darker than accent in dark mode, so white labels on it keep 4.5:1. + accentFill = Color(0xFF2F62F0), + accentSoft = Color(0xFF1C2540), + accentSoftText = Color(0xFF9DB5FF), + tile = Color(0xFF22262D), + danger = Color(0xFFF97066), + chevron = Color(0xFF5B6470), +) /** - * An enterprise-style sign-in: no art, mascot or hard shadows, one sans-serif, 8 to 12dp corners and - * 48dp controls. Its screens are laid out differently too (see the `professional` package). + * A quiet, platform-native look with no Figma frame, matching the iOS demo's Professional theme: + * the system font, neutral greys with one blue accent, 10dp corners, hairline borders instead of + * offset shadows, no background art. Its screens are laid out differently too (the `professional` + * package). */ -private fun professional( - scheme: ColorScheme, - title: Color, - cardFill: Color, - fieldContainer: Color, - secondaryButton: ButtonPalette, - pill: ButtonPalette, -) = FullCustomizationStyle( +private fun professional(c: ProColors, darkTheme: Boolean) = FullCustomizationStyle( id = FullCustomizationThemeId.Professional, - colorScheme = scheme, - // Doggo's 20sp button label is sized for an 80dp button; this theme's are 48dp. + colorScheme = (if (darkTheme) darkColorScheme() else lightColorScheme()).copy( + primary = c.accent, + onPrimary = Color.White, + // The focused field border. + secondary = c.accent, + onSecondary = Color.White, + // The other-methods sheet. + primaryContainer = c.surface, + onPrimaryContainer = c.text, + surface = c.background, + surfaceBright = c.background, + surfaceContainerLowest = c.surface, + surfaceContainerLow = c.surface, + surfaceContainer = c.surface, + surfaceContainerHigh = c.surface, + surfaceContainerHighest = c.surface, + background = c.background, + onSurface = c.text, + onSurfaceVariant = c.muted, + outline = c.border, + outlineVariant = c.border, + error = c.danger, + ), typography = fullCustomizationTypography( - title = Roboto, + title = FontFamily.Default, titleWeight = FontWeight.SemiBold, - body = Roboto, - button = Roboto, - ).let { it.copy(titleMedium = it.titleMedium.copy(fontSize = 16.sp, fontWeight = FontWeight.SemiBold)) }, - titleColor = title, + body = FontFamily.Default, + button = FontFamily.Default, + ).let { + it.copy( + headlineSmall = it.headlineSmall.copy(fontSize = 26.sp, lineHeight = 32.sp, letterSpacing = (-0.3).sp), + bodyLarge = it.bodyLarge.copy(fontWeight = FontWeight.Normal), + titleMedium = it.titleMedium.copy(fontSize = 17.sp, fontWeight = FontWeight.SemiBold), + ) + }, + titleColor = c.text, showsMascot = false, - cardFill = cardFill, + cardFill = c.surface, cardShadow = null, - fieldShape = RoundedCornerShape(8.dp), + fieldShape = RoundedCornerShape(10.dp), fieldBorderWidth = 1.dp, - fieldContainer = fieldContainer, - buttonShape = RoundedCornerShape(8.dp), + fieldContainer = c.field, + buttonShape = RoundedCornerShape(10.dp), buttonBorder = null, buttonShadow = null, - primaryButton = ButtonPalette(scheme.primary, scheme.onPrimary), - secondaryButton = secondaryButton, - providerButtonShape = RoundedCornerShape(8.dp), - phoneProvider = ButtonPalette(scheme.primary, scheme.onPrimary), - pill = pill, + primaryButton = ButtonPalette(c.accentFill, Color.White), + secondaryButton = ButtonPalette(c.accentSoft, c.accentSoftText), + providerButtonShape = RoundedCornerShape(10.dp), + phoneProvider = ButtonPalette(c.accentFill, Color.White), + pill = ButtonPalette(c.surface, c.text), artScrim = Color.Transparent, - buttonHeight = 48.dp, + buttonHeight = 52.dp, ) -private val ProfessionalLight = professional( - scheme = lightColorScheme( - primary = ProfessionalNavy, - onPrimary = Color.White, - // The field focus border; primaryContainer is the other-methods sheet. - secondary = ProfessionalNavy, - onSecondary = Color.White, - primaryContainer = Color.White, - onPrimaryContainer = Color(0xFF1A1B21), - surface = Color(0xFFF4F3FA), - surfaceBright = Color(0xFFF4F3FA), - surfaceContainerLowest = Color.White, - surfaceContainerLow = Color(0xFFF4F3FA), - surfaceContainer = Color(0xFFEEEDF4), - surfaceContainerHigh = Color(0xFFE9E7EF), - surfaceContainerHighest = Color(0xFFE3E1E9), - background = Color(0xFFF4F3FA), - onSurface = Color(0xFF1A1B21), - onSurfaceVariant = Color(0xFF444651), - outline = Color(0xFF757682), - outlineVariant = Color(0xFFC5C5D3), - error = Color(0xFFBA1A1A), - ), - title = Color(0xFF1A1B21), - cardFill = Color.White, - fieldContainer = Color.White, - secondaryButton = ButtonPalette(Color(0xFFE3E7FF), ProfessionalNavy), - pill = ButtonPalette(Color.White, Color(0xFF1A1B21)), -) +private val ProfessionalLight = professional(ProLightColors, darkTheme = false) -private val ProfessionalDark = professional( - scheme = darkColorScheme( - primary = Color(0xFFB6C4FF), - onPrimary = Color(0xFF05297A), - secondary = Color(0xFFB6C4FF), - onSecondary = Color(0xFF05297A), - primaryContainer = Color(0xFF1F1F24), - onPrimaryContainer = Color(0xFFE3E1E9), - surface = Color(0xFF131316), - surfaceBright = Color(0xFF131316), - surfaceContainerLowest = Color(0xFF0D0E13), - surfaceContainerLow = Color(0xFF1A1B21), - surfaceContainer = Color(0xFF1E1F25), - surfaceContainerHigh = Color(0xFF292A2F), - surfaceContainerHighest = Color(0xFF34343A), - background = Color(0xFF131316), - onSurface = Color(0xFFE3E1E9), - onSurfaceVariant = Color(0xFFC5C5D3), - outline = Color(0xFF8F909D), - outlineVariant = Color(0xFF444651), - error = Color(0xFFFFB4AB), - onError = Color(0xFF690005), - ), - title = Color(0xFFE3E1E9), - cardFill = Color(0xFF1F1F24), - fieldContainer = Color(0xFF292A2E), - secondaryButton = ButtonPalette(Color(0xFF183585), Color(0xFFDCE1FF)), - pill = ButtonPalette(Color(0xFF292A2F), Color(0xFFE3E1E9)), -) +private val ProfessionalDark = professional(ProDarkColors, darkTheme = true)

l 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