package com.suno.android.common_ui.components.buttons import androidx.compose.foundation.background import androidx.compose.foundation.border import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.defaultMinSize import androidx.compose.foundation.layout.padding import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.material3.Icon 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.graphics.vector.ImageVector import androidx.compose.ui.res.vectorResource 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 RoundedPillContainer( modifier: Modifier = Modifier, onClick: () -> Unit = {}, backgroundColorOverride: Color = Color.Transparent, content: @Composable () -> Unit, ) { Box( modifier = modifier .clip(shape = RoundedCornerShape(24.dp)) .background(color = backgroundColorOverride) .border( width = 1.dp, color = ExtendedTheme.colors.textPrimary.copy(alpha = 0.1f), shape = RoundedCornerShape(24.dp), ) .clickable { onClick.invoke() } .defaultMinSize( minHeight = 40.dp, minWidth = 60.dp, ) .padding(horizontal = 12.dp, vertical = 8.dp), contentAlignment = Alignment.Center, ) { content.invoke() } } @Preview @Composable private fun RoundedPillContainer_Preview() { SunoTheme { Row { RoundedPillContainer { Icon( imageVector = ImageVector.vectorResource( id = R.drawable.dice, ), contentDescription = null, ) } RoundedPillContainer { Text( text = "Unusual", style = ExtendedTheme.typography.smallBody, color = ExtendedTheme.colors.textPrimary, ) } } } }