diff --git a/app/src/main/java/com/github/damontecres/wholphin/ui/main/settings/HomeRowSettings.kt b/app/src/main/java/com/github/damontecres/wholphin/ui/main/settings/HomeRowSettings.kt index 68f65d1a..5817e7cc 100644 --- a/app/src/main/java/com/github/damontecres/wholphin/ui/main/settings/HomeRowSettings.kt +++ b/app/src/main/java/com/github/damontecres/wholphin/ui/main/settings/HomeRowSettings.kt @@ -1,6 +1,5 @@ package com.github.damontecres.wholphin.ui.main.settings -import androidx.compose.foundation.background import androidx.compose.foundation.interaction.MutableInteractionSource import androidx.compose.foundation.layout.Column import androidx.compose.foundation.lazy.LazyColumn @@ -12,9 +11,6 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.focus.FocusRequester import androidx.compose.ui.focus.focusRequester import androidx.compose.ui.res.stringResource -import androidx.compose.ui.unit.dp -import androidx.tv.material3.MaterialTheme -import androidx.tv.material3.surfaceColorAtElevation import com.github.damontecres.wholphin.R import com.github.damontecres.wholphin.data.model.HomeRowViewOptions import com.github.damontecres.wholphin.preferences.AppChoicePreference @@ -73,11 +69,10 @@ fun HomeRowSettings( }, modifier = Modifier - .background( - MaterialTheme.colorScheme.surfaceColorAtElevation( - 5.dp, - ), - ).ifElse(index == 0, Modifier.focusRequester(firstFocus)), + .ifElse( + groupIndex == 0 && index == 0, + Modifier.focusRequester(firstFocus), + ), ) } } @@ -243,18 +238,24 @@ internal object Options { ViewOptionsSpacing, ViewOptionsImageType, ViewOptionsAspectRatio, - ViewOptionsUseSeries, ViewOptionsContentScale, - ViewOptionsReset, ), ), PreferenceGroup( title = R.string.for_episodes, preferences = listOf( + ViewOptionsUseSeries, ViewOptionsEpisodeImageType, - ViewOptionsEpisodeContentScale, ViewOptionsEpisodeAspectRatio, + ViewOptionsEpisodeContentScale, + ), + ), + PreferenceGroup( + title = R.string.more, + preferences = + listOf( + ViewOptionsReset, ), ), ) diff --git a/app/src/main/java/com/github/damontecres/wholphin/ui/main/settings/HomeSettingsAddRow.kt b/app/src/main/java/com/github/damontecres/wholphin/ui/main/settings/HomeSettingsAddRow.kt index 09f14bfc..ab48de30 100644 --- a/app/src/main/java/com/github/damontecres/wholphin/ui/main/settings/HomeSettingsAddRow.kt +++ b/app/src/main/java/com/github/damontecres/wholphin/ui/main/settings/HomeSettingsAddRow.kt @@ -16,7 +16,6 @@ import androidx.compose.ui.focus.focusRequester import androidx.compose.ui.focus.focusRestorer import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp -import androidx.tv.material3.Text import com.github.damontecres.wholphin.R import com.github.damontecres.wholphin.ui.ifElse @@ -49,9 +48,7 @@ fun HomeSettingsAddRow( ) { index, type -> HomeSettingsListItem( selected = false, - headlineContent = { - Text(stringResource(type.stringId)) - }, + headlineText = stringResource(type.stringId), onClick = { onClickMeta.invoke(type) }, modifier = Modifier.ifElse(index == 0, Modifier.focusRequester(firstFocus)), ) @@ -63,9 +60,7 @@ fun HomeSettingsAddRow( itemsIndexed(libraries) { index, library -> HomeSettingsListItem( selected = false, - headlineContent = { - Text(library.name) - }, + headlineText = library.name, onClick = { onClick.invoke(library) }, modifier = Modifier, // .ifElse(index == 0, Modifier.focusRequester(firstFocus)), ) @@ -77,9 +72,7 @@ fun HomeSettingsAddRow( item { HomeSettingsListItem( selected = false, - headlineContent = { - Text(stringResource(MetaRowType.FAVORITES.stringId)) - }, + headlineText = stringResource(MetaRowType.FAVORITES.stringId), onClick = { onClickMeta.invoke(MetaRowType.FAVORITES) }, modifier = Modifier, ) @@ -88,9 +81,7 @@ fun HomeSettingsAddRow( item { HomeSettingsListItem( selected = false, - headlineContent = { - Text(stringResource(MetaRowType.DISCOVER.stringId)) - }, + headlineText = stringResource(MetaRowType.DISCOVER.stringId), onClick = { onClickMeta.invoke(MetaRowType.DISCOVER) }, modifier = Modifier, ) diff --git a/app/src/main/java/com/github/damontecres/wholphin/ui/main/settings/HomeSettingsFavoriteList.kt b/app/src/main/java/com/github/damontecres/wholphin/ui/main/settings/HomeSettingsFavoriteList.kt index 3dbea064..3bac590a 100644 --- a/app/src/main/java/com/github/damontecres/wholphin/ui/main/settings/HomeSettingsFavoriteList.kt +++ b/app/src/main/java/com/github/damontecres/wholphin/ui/main/settings/HomeSettingsFavoriteList.kt @@ -15,7 +15,6 @@ import androidx.compose.ui.focus.focusRequester import androidx.compose.ui.focus.focusRestorer import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp -import androidx.tv.material3.Text import com.github.damontecres.wholphin.R import com.github.damontecres.wholphin.ui.ifElse import com.github.damontecres.wholphin.ui.tryRequestFocus @@ -43,11 +42,7 @@ fun HomeSettingsFavoriteList( itemsIndexed(favoriteOptionsList) { index, type -> HomeSettingsListItem( selected = false, - headlineContent = { - Text( - text = stringResource(favoriteOptions[type]!!), - ) - }, + headlineText = stringResource(favoriteOptions[type]!!), onClick = { onClick.invoke(type) }, modifier = Modifier.ifElse(index == 0, Modifier.focusRequester(firstFocus)), ) diff --git a/app/src/main/java/com/github/damontecres/wholphin/ui/main/settings/HomeSettingsGlobal.kt b/app/src/main/java/com/github/damontecres/wholphin/ui/main/settings/HomeSettingsGlobal.kt index f9a57777..9e711b9f 100644 --- a/app/src/main/java/com/github/damontecres/wholphin/ui/main/settings/HomeSettingsGlobal.kt +++ b/app/src/main/java/com/github/damontecres/wholphin/ui/main/settings/HomeSettingsGlobal.kt @@ -54,11 +54,7 @@ fun HomeSettingsGlobal( item { HomeSettingsListItem( selected = false, - headlineContent = { - Text( - text = "Increase all card size", - ) - }, + headlineText = stringResource(R.string.increase_all_cards_size), leadingContent = { Icon( imageVector = Icons.Default.KeyboardArrowUp, @@ -72,11 +68,7 @@ fun HomeSettingsGlobal( item { HomeSettingsListItem( selected = false, - headlineContent = { - Text( - text = "Decrease all card size", - ) - }, + headlineText = stringResource(R.string.decrease_all_cards_size), leadingContent = { Icon( imageVector = Icons.Default.KeyboardArrowDown, @@ -91,11 +83,7 @@ fun HomeSettingsGlobal( item { HomeSettingsListItem( selected = false, - headlineContent = { - Text( - text = stringResource(R.string.save_to_server), - ) - }, + headlineText = stringResource(R.string.save_to_server), leadingContent = { Text( text = stringResource(R.string.fa_cloud_arrow_up), @@ -109,11 +97,7 @@ fun HomeSettingsGlobal( item { HomeSettingsListItem( selected = false, - headlineContent = { - Text( - text = stringResource(R.string.load_from_server), - ) - }, + headlineText = stringResource(R.string.load_from_server), leadingContent = { Text( text = stringResource(R.string.fa_cloud_arrow_down), @@ -127,11 +111,7 @@ fun HomeSettingsGlobal( item { HomeSettingsListItem( selected = false, - headlineContent = { - Text( - text = stringResource(R.string.load_from_web_client), - ) - }, + headlineText = stringResource(R.string.load_from_web_client), leadingContent = { Text( text = stringResource(R.string.fa_download), diff --git a/app/src/main/java/com/github/damontecres/wholphin/ui/main/settings/HomeSettingsListItem.kt b/app/src/main/java/com/github/damontecres/wholphin/ui/main/settings/HomeSettingsListItem.kt index c9ea14d6..4f265dbb 100644 --- a/app/src/main/java/com/github/damontecres/wholphin/ui/main/settings/HomeSettingsListItem.kt +++ b/app/src/main/java/com/github/damontecres/wholphin/ui/main/settings/HomeSettingsListItem.kt @@ -14,13 +14,14 @@ import androidx.tv.material3.ListItemDefaults import androidx.tv.material3.ListItemGlow import androidx.tv.material3.ListItemScale import androidx.tv.material3.ListItemShape +import com.github.damontecres.wholphin.ui.preferences.PreferenceTitle @Composable @NonRestartableComposable fun HomeSettingsListItem( selected: Boolean, onClick: () -> Unit, - headlineContent: @Composable () -> Unit, + headlineText: String, modifier: Modifier = Modifier, enabled: Boolean = true, onLongClick: (() -> Unit)? = null, @@ -38,7 +39,9 @@ fun HomeSettingsListItem( ) = ListItem( selected = selected, onClick = onClick, - headlineContent = headlineContent, + headlineContent = { + PreferenceTitle(headlineText) + }, modifier = modifier, enabled = enabled, onLongClick = onLongClick, diff --git a/app/src/main/java/com/github/damontecres/wholphin/ui/main/settings/HomeSettingsPage.kt b/app/src/main/java/com/github/damontecres/wholphin/ui/main/settings/HomeSettingsPage.kt index b34cb4a8..10808d81 100644 --- a/app/src/main/java/com/github/damontecres/wholphin/ui/main/settings/HomeSettingsPage.kt +++ b/app/src/main/java/com/github/damontecres/wholphin/ui/main/settings/HomeSettingsPage.kt @@ -39,7 +39,7 @@ import kotlinx.coroutines.Job import kotlinx.coroutines.launch import timber.log.Timber -val settingsWidth = 300.dp +val settingsWidth = 360.dp @Composable fun HomeSettingsPage( @@ -90,7 +90,7 @@ fun HomeSettingsPage( val destModifier = Modifier .fillMaxSize() - .padding(4.dp) + .padding(8.dp) when (dest) { HomeSettingsDestination.RowList -> { HomeSettingsRowList( diff --git a/app/src/main/java/com/github/damontecres/wholphin/ui/main/settings/HomeSettingsRowList.kt b/app/src/main/java/com/github/damontecres/wholphin/ui/main/settings/HomeSettingsRowList.kt index f0fc6661..54a4f605 100644 --- a/app/src/main/java/com/github/damontecres/wholphin/ui/main/settings/HomeSettingsRowList.kt +++ b/app/src/main/java/com/github/damontecres/wholphin/ui/main/settings/HomeSettingsRowList.kt @@ -7,6 +7,7 @@ import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.fillMaxHeight import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.heightIn +import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.itemsIndexed @@ -32,7 +33,6 @@ import androidx.compose.ui.focus.focusRestorer import androidx.compose.ui.platform.LocalFocusManager import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextAlign -import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp import androidx.tv.material3.Icon import androidx.tv.material3.MaterialTheme @@ -59,7 +59,6 @@ fun HomeSettingsRowList( onClickMove: (MoveDirection, Int) -> Unit, onClickDelete: (Int) -> Unit, modifier: Modifier, - firstFocus: FocusRequester = remember { FocusRequester() }, ) { val focusManager = LocalFocusManager.current val scope = rememberCoroutineScope() @@ -71,7 +70,9 @@ fun HomeSettingsRowList( var position by rememberInt(0) - LaunchedEffect(Unit) { focusRequesters.getOrNull(position)?.tryRequestFocus() } + LaunchedEffect(Unit) { + focusRequesters.getOrNull(position)?.tryRequestFocus() + } Column(modifier = modifier) { TitleText(stringResource(R.string.customize_home)) LazyColumn( @@ -80,16 +81,12 @@ fun HomeSettingsRowList( modifier = modifier .fillMaxHeight() - .focusRestorer(firstFocus), + .focusRestorer(focusRequesters[0]), ) { item { HomeSettingsListItem( selected = false, - headlineContent = { - Text( - text = stringResource(R.string.add_row), - ) - }, + headlineText = stringResource(R.string.add_row), leadingContent = { Icon( imageVector = Icons.Default.Add, @@ -106,11 +103,7 @@ fun HomeSettingsRowList( item { HomeSettingsListItem( selected = false, - headlineContent = { - Text( - text = stringResource(R.string.settings), - ) - }, + headlineText = stringResource(R.string.settings), leadingContent = { Icon( imageVector = Icons.Default.Settings, @@ -193,13 +186,7 @@ fun HomeRowConfigContent( ) { HomeSettingsListItem( selected = false, - headlineContent = { - Text( - text = config.title, - overflow = TextOverflow.Ellipsis, - modifier = Modifier, - ) - }, + headlineText = config.title, onClick = onClick, modifier = Modifier.weight(1f), ) @@ -248,8 +235,12 @@ fun TitleText( ) { Text( text = title, - style = MaterialTheme.typography.titleLarge, - textAlign = TextAlign.Center, - modifier = modifier.fillMaxWidth(), + style = MaterialTheme.typography.titleMedium, + color = MaterialTheme.colorScheme.onSurface, + textAlign = TextAlign.Start, + modifier = + modifier + .fillMaxWidth() + .padding(top = 8.dp, bottom = 4.dp), ) } diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index f4509878..08142f52 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -501,6 +501,8 @@ Overwrite local settings? For episodes Suggestions for %1$s + Increase all cards size + Decrease all cards size Disabled