package com.suno.android.common_ui.components.buttons import androidx.compose.foundation.background import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.foundation.shape.CircleShape import androidx.compose.material3.Icon import androidx.compose.material3.MaterialTheme 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.graphics.Color import androidx.compose.ui.res.painterResource import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import com.suno.android.common_ui.theme.ExtendedTheme import com.suno.android.common_ui.theme.SunoTheme @Composable fun ShareButton( text: String, contentDescription: String, vectorDrawableResId: Int, iconColor: Color? = null, onClick: () -> Unit = {}, ) { Column( horizontalAlignment = Alignment.CenterHorizontally, modifier = Modifier .clip(MaterialTheme.shapes.small) .clickable(onClick = onClick) .padding(8.dp), ) { Box( contentAlignment = Alignment.Center, modifier = Modifier .size(48.dp) .background(Color.White, CircleShape), ) { Icon( painter = painterResource(vectorDrawableResId), contentDescription = contentDescription, tint = iconColor ?: Color.Unspecified, modifier = Modifier.size(24.dp), ) } Spacer(Modifier.height(8.dp)) Text( text = text, textAlign = TextAlign.Center, style = ExtendedTheme.typography.smallBody, ) } } @Preview() @Composable private fun ShareButton_Preview() { SunoTheme { ShareButton( text = "Share", contentDescription = "Share", vectorDrawableResId = com.suno.android.common_ui.R.drawable.link, ) } }