Some about screen tweaks

Signed-off-by: Percy Wegmann <percy@tailscale.com>
ox/styling_bak
Percy Wegmann 2 years ago
parent c0b1138f56
commit 58020a6aba
No known key found for this signature in database
GPG Key ID: 29D8CDEB4C13D48B

@ -123,6 +123,9 @@ val ColorScheme.on: Color
val ColorScheme.off: Color val ColorScheme.off: Color
get() = Color(0xFFD9D6D5) // gray-300 get() = Color(0xFFD9D6D5) // gray-300
val ColorScheme.link: Color
get() = onPrimaryContainer
/** /**
* Main color scheme for list items, uses onPrimaryContainer color for leading and trailing icons. * Main color scheme for list items, uses onPrimaryContainer color for leading and trailing icons.
*/ */

@ -47,6 +47,7 @@ fun AboutView(nav: BackNavigation) {
.padding(15.dp), .padding(15.dp),
painter = painterResource(id = R.drawable.ic_tile), painter = painterResource(id = R.drawable.ic_tile),
contentDescription = stringResource(R.string.app_icon_content_description)) contentDescription = stringResource(R.string.app_icon_content_description))
Column( Column(
verticalArrangement = verticalArrangement =
Arrangement.spacedBy(space = 2.dp, alignment = Alignment.CenterVertically), Arrangement.spacedBy(space = 2.dp, alignment = Alignment.CenterVertically),
@ -56,14 +57,12 @@ fun AboutView(nav: BackNavigation) {
fontWeight = FontWeight.SemiBold, fontWeight = FontWeight.SemiBold,
fontSize = MaterialTheme.typography.titleLarge.fontSize) fontSize = MaterialTheme.typography.titleLarge.fontSize)
Text( Text(
text = BuildConfig.VERSION_NAME, text = "${stringResource(R.string.version)} ${BuildConfig.VERSION_NAME}",
fontWeight = MaterialTheme.typography.bodyMedium.fontWeight, fontWeight = MaterialTheme.typography.bodyMedium.fontWeight,
fontSize = MaterialTheme.typography.bodyMedium.fontSize) fontSize = MaterialTheme.typography.bodyMedium.fontSize)
} }
Column(
verticalArrangement = Column(horizontalAlignment = Alignment.CenterHorizontally) {
Arrangement.spacedBy(space = 4.dp, alignment = Alignment.CenterVertically),
horizontalAlignment = Alignment.CenterHorizontally) {
OpenURLButton(stringResource(R.string.acknowledgements), Links.LICENSES_URL) OpenURLButton(stringResource(R.string.acknowledgements), Links.LICENSES_URL)
OpenURLButton(stringResource(R.string.privacy_policy), Links.PRIVACY_POLICY_URL) OpenURLButton(stringResource(R.string.privacy_policy), Links.PRIVACY_POLICY_URL)
OpenURLButton(stringResource(R.string.terms_of_service), Links.TERMS_URL) OpenURLButton(stringResource(R.string.terms_of_service), Links.TERMS_URL)

@ -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

@ -26,6 +26,7 @@ import androidx.lifecycle.viewmodel.compose.viewModel
import com.tailscale.ipn.BuildConfig import com.tailscale.ipn.BuildConfig
import com.tailscale.ipn.R import com.tailscale.ipn.R
import com.tailscale.ipn.ui.Links import com.tailscale.ipn.ui.Links
import com.tailscale.ipn.ui.theme.link
import com.tailscale.ipn.ui.theme.listItem import com.tailscale.ipn.ui.theme.listItem
import com.tailscale.ipn.ui.util.Lists import com.tailscale.ipn.ui.util.Lists
import com.tailscale.ipn.ui.viewModel.Setting import com.tailscale.ipn.ui.viewModel.Setting
@ -156,7 +157,7 @@ fun AdminTextView(onNavigateToAdminConsole: () -> Unit) {
withStyle( withStyle(
style = style =
SpanStyle( SpanStyle(
color = MaterialTheme.colorScheme.onPrimaryContainer, color = MaterialTheme.colorScheme.link,
textDecoration = TextDecoration.Underline)) { textDecoration = TextDecoration.Underline)) {
append(stringResource(id = R.string.settings_admin_link)) append(stringResource(id = R.string.settings_admin_link))
} }

@ -20,6 +20,7 @@
<!-- Strings for the about screen --> <!-- Strings for the about screen -->
<string name="app_name">Tailscale</string> <string name="app_name">Tailscale</string>
<string name="tile_name">Tailscale</string> <string name="tile_name">Tailscale</string>
<string name="version">Version</string>
<string name="about_view_title">Tailscale for Android</string> <string name="about_view_title">Tailscale for Android</string>
<string name="acknowledgements">Acknowledgements</string> <string name="acknowledgements">Acknowledgements</string>
<string name="privacy_policy">Privacy Policy</string> <string name="privacy_policy">Privacy Policy</string>

Loading…
Cancel
Save