62 lines
2.1 KiB
Kotlin
62 lines
2.1 KiB
Kotlin
package chat.revolt.sheets
|
|
|
|
import androidx.compose.foundation.layout.Arrangement
|
|
import androidx.compose.foundation.layout.Column
|
|
import androidx.compose.foundation.layout.Spacer
|
|
import androidx.compose.foundation.layout.fillMaxWidth
|
|
import androidx.compose.foundation.layout.height
|
|
import androidx.compose.foundation.rememberScrollState
|
|
import androidx.compose.foundation.verticalScroll
|
|
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.graphics.Color
|
|
import androidx.compose.ui.res.painterResource
|
|
import androidx.compose.ui.text.style.TextAlign
|
|
import androidx.compose.ui.unit.dp
|
|
import chat.revolt.R
|
|
import chat.revolt.components.generic.SheetButton
|
|
|
|
@Composable
|
|
fun MessageContentMLKitReplySelectSheet(
|
|
options: List<String>,
|
|
onOptionSelected: (String) -> Unit
|
|
) {
|
|
Column(
|
|
modifier = Modifier
|
|
.verticalScroll(rememberScrollState())
|
|
) {
|
|
Column(
|
|
horizontalAlignment = Alignment.CenterHorizontally,
|
|
verticalArrangement = Arrangement.spacedBy(16.dp),
|
|
modifier = Modifier.fillMaxWidth()
|
|
) {
|
|
Icon(
|
|
painter = painterResource(R.drawable.ic_creation_24dp),
|
|
contentDescription = null,
|
|
tint = Color(0xFF977EFF)
|
|
)
|
|
Text(
|
|
"Select a reply",
|
|
style = MaterialTheme.typography.headlineLarge,
|
|
textAlign = TextAlign.Center
|
|
)
|
|
}
|
|
Spacer(modifier = Modifier.height(16.dp))
|
|
options.forEach { option ->
|
|
SheetButton(
|
|
headlineContent = { Text(option) },
|
|
leadingContent = {
|
|
Icon(
|
|
painter = painterResource(R.drawable.ic_reply_24dp),
|
|
contentDescription = null
|
|
)
|
|
},
|
|
onClick = { onOptionSelected(option) }
|
|
)
|
|
}
|
|
}
|
|
} |