package com.suno.android.ui.screens.create.audio import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview import com.suno.android.common_res.R import com.suno.android.common_ui.components.preview.SunoPreview import com.suno.android.ui.bottom_sheets.option_picker.OptionPickerContent import com.suno.android.ui.bottom_sheets.option_picker.OptionPickerUi import kotlinx.collections.immutable.ImmutableList import kotlinx.collections.immutable.toPersistentList import com.suno.android.common_ui.R as CommonUiR @Composable fun AudioCreateTaskSelectContent( availableAudioCreateTasks: ImmutableList, onTaskClick: (CreateAudioState.AudioCreateTask) -> Unit, modifier: Modifier = Modifier, ) { OptionPickerContent( options = availableAudioCreateTasks, getUiForOption = { option -> OptionPickerUi( painter = option.icon(), text = option.name(), ) }, onOptionClick = onTaskClick, modifier = modifier, ) } @Preview @Composable private fun AudioCreateTaskSelectContent_Preview() { SunoPreview { AudioCreateTaskSelectContent( availableAudioCreateTasks = CreateAudioState.AudioCreateTask.entries.toPersistentList(), onTaskClick = {}, ) } } @Composable fun CreateAudioState.AudioCreateTask.name() = when (this) { CreateAudioState.AudioCreateTask.Cover -> stringResource(R.string.audio_create_task_cover) CreateAudioState.AudioCreateTask.Extend -> stringResource(R.string.audio_create_task_extend) } @Composable internal fun CreateAudioState.AudioCreateTask.icon() = when (this) { CreateAudioState.AudioCreateTask.Cover -> painterResource(CommonUiR.drawable.covers) CreateAudioState.AudioCreateTask.Extend -> painterResource(CommonUiR.drawable.extend_right) }