package com.suno.android.common_ui.components.buttons import androidx.annotation.DrawableRes import androidx.compose.foundation.Image import androidx.compose.foundation.background import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.width import androidx.compose.foundation.shape.RoundedCornerShape 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.clip import androidx.compose.ui.res.painterResource import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import com.suno.android.common_ui.R import com.suno.android.common_ui.theme.ExtendedTheme import com.suno.android.common_ui.theme.SunoTheme @Composable fun AuthenticationOption( modifier: Modifier = Modifier, @DrawableRes imageIcon: Int, displayOptionText: String, onClick: () -> Unit = {}, ) { Row( modifier = modifier .fillMaxWidth() .clip(RoundedCornerShape(8.dp)) .clickable(onClick = onClick) .background(ExtendedTheme.colors.backgroundQuarternary) .padding(horizontal = 24.dp, vertical = 16.dp), verticalAlignment = Alignment.CenterVertically, ) { Image( modifier = Modifier.size(24.dp), painter = painterResource(id = imageIcon), contentDescription = null, ) Spacer(modifier = Modifier.width(16.dp)) Text( text = displayOptionText, style = ExtendedTheme.typography.body, color = ExtendedTheme.colors.textPrimary, ) } } @Preview @Composable private fun OauthOption_Preview() { SunoTheme { AuthenticationOption( imageIcon = R.drawable.google, displayOptionText = "Google", ) } }