51 lines
1.4 KiB
Kotlin
51 lines
1.4 KiB
Kotlin
package com.helible.pilot.components
|
|
|
|
import androidx.compose.foundation.layout.fillMaxWidth
|
|
import androidx.compose.material3.AlertDialog
|
|
import androidx.compose.material3.Divider
|
|
import androidx.compose.material3.Text
|
|
import androidx.compose.material3.TextButton
|
|
import androidx.compose.runtime.Composable
|
|
import androidx.compose.ui.Modifier
|
|
import androidx.compose.ui.tooling.preview.Preview
|
|
|
|
@Composable
|
|
fun RequiredHardwareFeatures(
|
|
title: String,
|
|
description: String,
|
|
confirmButtonText: String,
|
|
featureState: Boolean,
|
|
requestFeature: () -> Unit,
|
|
onDismissRequest: () -> Unit,
|
|
) {
|
|
if (!featureState) {
|
|
AlertDialog(
|
|
confirmButton = {
|
|
Divider()
|
|
TextButton(onClick = requestFeature, modifier = Modifier.fillMaxWidth()) {
|
|
Text(text = confirmButtonText)
|
|
}
|
|
},
|
|
onDismissRequest = onDismissRequest,
|
|
text = {
|
|
Text(
|
|
text = description
|
|
)
|
|
},
|
|
title = { Text(text = title) }
|
|
)
|
|
}
|
|
}
|
|
|
|
@Preview
|
|
@Composable
|
|
fun RequiredHardwareFeaturesPreview() {
|
|
RequiredHardwareFeatures(
|
|
title = "Turn on Bluetooth",
|
|
description = "App requires Bluetooth turned on to continue",
|
|
confirmButtonText = "Turn on",
|
|
featureState = false,
|
|
requestFeature = {},
|
|
onDismissRequest = {}
|
|
)
|
|
} |