package com.suno.android.common_ui.components import androidx.annotation.DrawableRes import androidx.compose.foundation.Image import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.shape.RoundedCornerShape 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.layout.ContentScale import androidx.compose.ui.res.painterResource import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import com.suno.android.common_ui.R import com.suno.android.common_ui.theme.SunoTheme @Composable fun LibraryTopClickableItem( modifier: Modifier = Modifier, text: String, @DrawableRes imageResId: Int, onClicked: () -> Unit, ) { Box( modifier = modifier .clip(RoundedCornerShape(8.dp)) .fillMaxWidth() .clickable { onClicked.invoke() }, contentAlignment = Alignment.CenterStart, ) { Image( modifier = Modifier .height(164.dp) .fillMaxWidth(), painter = painterResource( id = imageResId, ), contentDescription = text, contentScale = ContentScale.Crop, ) Text( modifier = Modifier .align(Alignment.TopStart) .padding(vertical = 16.dp, horizontal = 8.dp), text = text, style = MaterialTheme.typography.bodyMedium.copy(fontSize = 18.sp), color = Color.White, ) } } @Preview @Composable private fun LibraryTopClickableItem_Preview() { SunoTheme { LibraryTopClickableItem( text = "Liked", imageResId = R.drawable.for_you_icon_bg, onClicked = {}, ) } }