feat: add Google sign-in icon, update login screen and auth visuals

This commit is contained in:
null 2026-06-17 23:07:19 -05:00
parent 8217a3385d
commit f7b95fc9ba
3 changed files with 40 additions and 10 deletions

View File

@ -1,11 +1,15 @@
package app.closer.ui.auth
import app.closer.R
import app.closer.ui.theme.closerCardColor
import androidx.compose.foundation.BorderStroke
import androidx.compose.foundation.Image
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.size
import androidx.compose.material3.ButtonDefaults
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.OutlinedButton
@ -17,8 +21,10 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.geometry.Offset
import androidx.compose.ui.graphics.Brush
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import app.closer.ui.theme.CloserPalette
import app.closer.ui.theme.BackgroundColor
import app.closer.ui.theme.OnBackgroundColor
@ -26,9 +32,6 @@ import app.closer.ui.theme.OnPrimaryColor
import app.closer.ui.theme.OnSurfaceVariantColor
import app.closer.ui.theme.PrimaryColor
internal const val GOOGLE_WEB_CLIENT_ID =
"556235913214-l3risvbo7ouv80e22cojblufhjchgn1a.apps.googleusercontent.com"
internal val AuthBackgroundBrush: Brush
get() = Brush.linearGradient(
colors = listOf(BackgroundColor, CloserPalette.BackgroundWash, CloserPalette.PinkMist),
@ -56,20 +59,26 @@ internal fun GoogleSignInButton(
containerColor = Color.White,
contentColor = Color(0xFF1F1F1F)
),
border = BorderStroke(1.dp, Color(0xFFDADCE0))
border = BorderStroke(1.dp, Color(0xFF747775)),
contentPadding = PaddingValues(start = 12.dp, end = 12.dp)
) {
Row(
verticalAlignment = Alignment.CenterVertically,
horizontalArrangement = Arrangement.spacedBy(8.dp)
horizontalArrangement = Arrangement.spacedBy(10.dp)
) {
Image(
painter = painterResource(id = R.drawable.ic_google_g),
contentDescription = null,
modifier = Modifier.size(18.dp)
)
Text(
text = "G",
text = "Continue with Google",
style = MaterialTheme.typography.labelLarge.copy(
fontWeight = FontWeight.ExtraBold,
color = Color(0xFF4285F4)
fontWeight = FontWeight.Medium,
fontSize = 14.sp,
lineHeight = 20.sp
)
)
Text("Continue with Google", style = MaterialTheme.typography.labelLarge)
}
}
}

View File

@ -1,5 +1,6 @@
package app.closer.ui.auth
import app.closer.R
import androidx.compose.foundation.background
import androidx.compose.foundation.BorderStroke
import androidx.compose.foundation.layout.Arrangement
@ -184,7 +185,9 @@ fun LoginScreen(
scope.launch {
try {
val credMgr = CredentialManager.create(context)
val option = GetSignInWithGoogleOption.Builder(GOOGLE_WEB_CLIENT_ID).build()
val option = GetSignInWithGoogleOption
.Builder(context.getString(R.string.default_web_client_id))
.build()
val request = GetCredentialRequest.Builder().addCredentialOption(option).build()
val result = credMgr.getCredential(context, request)
val idToken = GoogleIdTokenCredential.createFrom(result.credential.data).idToken

View File

@ -0,0 +1,18 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="18dp"
android:height="18dp"
android:viewportWidth="18"
android:viewportHeight="18">
<path
android:fillColor="#4285F4"
android:pathData="M17.64,9.2c0,-0.64 -0.06,-1.25 -0.16,-1.84H9v3.48h4.84c-0.21,1.13 -0.84,2.08 -1.8,2.72v2.26h2.91c1.7,-1.57 2.69,-3.88 2.69,-6.62z" />
<path
android:fillColor="#34A853"
android:pathData="M9,18c2.43,0 4.47,-0.8 5.96,-2.18l-2.91,-2.26c-0.81,0.54 -1.84,0.86 -3.05,0.86c-2.34,0 -4.33,-1.58 -5.04,-3.71H0.96v2.33C2.44,15.98 5.48,18 9,18z" />
<path
android:fillColor="#FBBC05"
android:pathData="M3.96,10.71c-0.18,-0.54 -0.28,-1.12 -0.28,-1.71s0.1,-1.17 0.28,-1.71V4.96H0.96C0.35,6.17 0,7.55 0,9s0.35,2.83 0.96,4.04l3,-2.33z" />
<path
android:fillColor="#EA4335"
android:pathData="M9,3.58c1.32,0 2.51,0.45 3.44,1.35l2.58,-2.58C13.46,0.9 11.43,0 9,0C5.48,0 2.44,2.02 0.96,4.96l3,2.33C4.67,5.16 6.66,3.58 9,3.58z" />
</vector>