|
|
|
@ -13,12 +13,16 @@ import androidx.compose.material.icons.outlined.Close
|
|
|
|
import androidx.compose.material3.Button
|
|
|
|
import androidx.compose.material3.Button
|
|
|
|
import androidx.compose.material3.Icon
|
|
|
|
import androidx.compose.material3.Icon
|
|
|
|
import androidx.compose.material3.IconButton
|
|
|
|
import androidx.compose.material3.IconButton
|
|
|
|
|
|
|
|
import androidx.compose.material3.MaterialTheme
|
|
|
|
import androidx.compose.material3.Text
|
|
|
|
import androidx.compose.material3.Text
|
|
|
|
|
|
|
|
import androidx.compose.material3.TextButton
|
|
|
|
import androidx.compose.runtime.Composable
|
|
|
|
import androidx.compose.runtime.Composable
|
|
|
|
import androidx.compose.ui.Modifier
|
|
|
|
import androidx.compose.ui.Modifier
|
|
|
|
import androidx.compose.ui.platform.LocalFocusManager
|
|
|
|
import androidx.compose.ui.platform.LocalFocusManager
|
|
|
|
import androidx.compose.ui.platform.LocalUriHandler
|
|
|
|
import androidx.compose.ui.platform.LocalUriHandler
|
|
|
|
|
|
|
|
import androidx.compose.ui.text.style.TextDecoration
|
|
|
|
import androidx.compose.ui.unit.dp
|
|
|
|
import androidx.compose.ui.unit.dp
|
|
|
|
|
|
|
|
import com.tailscale.ipn.ui.theme.link
|
|
|
|
|
|
|
|
|
|
|
|
@Composable
|
|
|
|
@Composable
|
|
|
|
fun PrimaryActionButton(onClick: () -> Unit, content: @Composable RowScope.() -> Unit) {
|
|
|
|
fun PrimaryActionButton(onClick: () -> Unit, content: @Composable RowScope.() -> Unit) {
|
|
|
|
@ -33,10 +37,14 @@ fun PrimaryActionButton(onClick: () -> Unit, content: @Composable RowScope.() ->
|
|
|
|
fun OpenURLButton(title: String, url: String) {
|
|
|
|
fun OpenURLButton(title: String, url: String) {
|
|
|
|
val handler = LocalUriHandler.current
|
|
|
|
val handler = LocalUriHandler.current
|
|
|
|
|
|
|
|
|
|
|
|
Button(
|
|
|
|
TextButton(onClick = { handler.openUri(url) }) {
|
|
|
|
onClick = { handler.openUri(url) },
|
|
|
|
Text(
|
|
|
|
content = { Text(title) },
|
|
|
|
title,
|
|
|
|
|
|
|
|
style = MaterialTheme.typography.bodyMedium,
|
|
|
|
|
|
|
|
color = MaterialTheme.colorScheme.link,
|
|
|
|
|
|
|
|
textDecoration = TextDecoration.Underline,
|
|
|
|
)
|
|
|
|
)
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@Composable
|
|
|
|
@Composable
|
|
|
|
|