feat: add Google sign-in icon, update login screen and auth visuals
This commit is contained in:
parent
8217a3385d
commit
f7b95fc9ba
|
|
@ -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)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
Loading…
Reference in New Issue