settings: restore the version, homepage and support links in About

This commit is contained in:
austinried
2026-10-08 17:19:18 +00:00
parent cc65f238ae
commit 8aee86fc60
3 changed files with 42 additions and 0 deletions
@@ -20,6 +20,7 @@ import androidx.compose.foundation.rememberScrollState
import androidx.compose.foundation.verticalScroll
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.automirrored.rounded.ArrowBack
import androidx.compose.material.icons.automirrored.rounded.OpenInNew
import androidx.compose.material.icons.rounded.Add
import androidx.compose.material.icons.rounded.Description
import androidx.compose.material.icons.rounded.Download
@@ -50,10 +51,12 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Brush
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.platform.LocalResources
import androidx.compose.ui.platform.LocalUriHandler
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.unit.dp
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import com.subtracks.BuildConfig
import com.subtracks.R
import com.subtracks.data.model.Source
import com.subtracks.data.prefs.StreamQuality
@@ -66,6 +69,9 @@ import org.koin.compose.viewmodel.koinViewModel
private val bitrateOptions = listOf(0, 24, 32, 64, 96, 128, 192, 256, 320)
private val streamFormats = listOf(null, "mp3", "opus", "ogg", "webm", "aac", "flac")
private const val PROJECT_HOMEPAGE = "https://github.com/austinried/subtracks"
private const val SUPPORT_URL = "https://ko-fi.com/austinried"
private enum class SettingsDialog { WifiQuality, MobileQuality, DownloadQuality, SyncConcurrency }
@Composable
@@ -146,6 +152,7 @@ fun SettingsScreen(
DismissOnRequest(dismissals) { dialog = null }
val listState = rememberLazyListState()
val fill = rememberViewportFill(listState)
val uriHandler = LocalUriHandler.current
Scaffold(
modifier = modifier,
@@ -313,6 +320,15 @@ fun SettingsScreen(
)
}
item { SectionHeader(stringResource(R.string.settings_about_name)) }
item {
ListItem(
headlineContent = { Text(stringResource(R.string.app_name)) },
supportingContent = {
Text(stringResource(R.string.settings_about_version, BuildConfig.VERSION_NAME))
},
colors = ListItemDefaults.colors(containerColor = Color.Transparent),
)
}
item {
ListItem(
headlineContent = { Text(stringResource(R.string.settings_about_actions_licenses)) },
@@ -321,6 +337,28 @@ fun SettingsScreen(
colors = ListItemDefaults.colors(containerColor = Color.Transparent),
)
}
item {
ListItem(
headlineContent = { Text(stringResource(R.string.settings_about_actions_project_homepage)) },
supportingContent = { Text(PROJECT_HOMEPAGE) },
trailingContent = {
Icon(Icons.AutoMirrored.Rounded.OpenInNew, contentDescription = null)
},
modifier = Modifier.clickable { uriHandler.openUri(PROJECT_HOMEPAGE) },
colors = ListItemDefaults.colors(containerColor = Color.Transparent),
)
}
item {
ListItem(
headlineContent = { Text(stringResource(R.string.settings_about_actions_support)) },
supportingContent = { Text(SUPPORT_URL) },
trailingContent = {
Icon(Icons.AutoMirrored.Rounded.OpenInNew, contentDescription = null)
},
modifier = Modifier.clickable { uriHandler.openUri(SUPPORT_URL) },
colors = ListItemDefaults.colors(containerColor = Color.Transparent),
)
}
item { Spacer(Modifier.height(fill)) }
}
}
+3
View File
@@ -56,7 +56,10 @@
<string name="search_input_placeholder">Search</string>
<string name="settings_about_actions_licenses">Licenses</string>
<string name="settings_about_actions_project_homepage">Project homepage</string>
<string name="settings_about_actions_support">Support</string>
<string name="settings_about_name">About</string>
<string name="settings_about_version">Version %1$s</string>
<string name="settings_music_name">Playback</string>
<string name="settings_music_options_scrobble_description_on">Send now playing and play counts</string>
<string name="settings_music_options_scrobble_title">Scrobble to server</string>