From 682b81d9361d176c1bdff972eec092e7ab01dcc6 Mon Sep 17 00:00:00 2001 From: Damontecres Date: Thu, 5 Feb 2026 13:20:34 -0500 Subject: [PATCH] Add global reset to default --- .../wholphin/services/HomeSettingsService.kt | 4 ++-- .../wholphin/ui/main/settings/HomeRowSettings.kt | 4 +++- .../ui/main/settings/HomeSettingsGlobal.kt | 15 +++++++++++++++ .../wholphin/ui/main/settings/HomeSettingsPage.kt | 6 ++++++ .../ui/main/settings/HomeSettingsViewModel.kt | 11 +++++++++++ 5 files changed, 37 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/github/damontecres/wholphin/services/HomeSettingsService.kt b/app/src/main/java/com/github/damontecres/wholphin/services/HomeSettingsService.kt index 24951110..412166bf 100644 --- a/app/src/main/java/com/github/damontecres/wholphin/services/HomeSettingsService.kt +++ b/app/src/main/java/com/github/damontecres/wholphin/services/HomeSettingsService.kt @@ -226,7 +226,7 @@ class HomeSettingsService } HomePageResolvedSettings(resolvedRows) } else { - createDefault(userId) + createDefault() } currentSettings.update { resolvedSettings } @@ -235,7 +235,7 @@ class HomeSettingsService /** * Create a default [HomePageResolvedSettings] using the available libraries */ - private suspend fun createDefault(userId: UUID): HomePageResolvedSettings { + suspend fun createDefault(): HomePageResolvedSettings { Timber.v("Creating default settings") val navDrawerItems = navDrawerItemRepository.getNavDrawerItems() val libraries = 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 f4d39654..9e861c61 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 @@ -72,13 +72,15 @@ fun HomeRowSettings( Options.ViewOptionsUseThumb -> { onViewOptionsChange.invoke( - HomeRowViewOptions( + viewOptions.copy( heightDp = Cards.HEIGHT_EPISODE, spacing = 20, imageType = ViewOptionImageType.THUMB, aspectRatio = AspectRatio.WIDE, + contentScale = PrefContentScale.FIT, episodeImageType = ViewOptionImageType.THUMB, episodeAspectRatio = AspectRatio.WIDE, + episodeContentScale = PrefContentScale.FIT, ), ) } 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 9e711b9f..ff61c616 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 @@ -32,6 +32,7 @@ fun HomeSettingsGlobal( onClickSave: () -> Unit, onClickLoad: () -> Unit, onClickLoadWeb: () -> Unit, + onClickReset: () -> Unit, modifier: Modifier = Modifier, ) { val firstFocus: FocusRequester = remember { FocusRequester() } @@ -122,6 +123,20 @@ fun HomeSettingsGlobal( modifier = Modifier, ) } + item { + HomeSettingsListItem( + selected = false, + headlineText = stringResource(R.string.reset), + leadingContent = { + Text( + text = stringResource(R.string.fa_arrows_rotate), + fontFamily = FontAwesome, + ) + }, + onClick = onClickReset, + modifier = Modifier, + ) + } } } } 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 10808d81..e66de860 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 @@ -210,6 +210,12 @@ fun HomeSettingsPage( viewModel.loadFromRemoteWeb() } }, + onClickReset = { + showConfirmDialog = + ShowConfirm(R.string.overwrite_local_settings) { + viewModel.resetToDefault() + } + }, modifier = destModifier, ) } diff --git a/app/src/main/java/com/github/damontecres/wholphin/ui/main/settings/HomeSettingsViewModel.kt b/app/src/main/java/com/github/damontecres/wholphin/ui/main/settings/HomeSettingsViewModel.kt index 6ebbbf44..34f62851 100644 --- a/app/src/main/java/com/github/damontecres/wholphin/ui/main/settings/HomeSettingsViewModel.kt +++ b/app/src/main/java/com/github/damontecres/wholphin/ui/main/settings/HomeSettingsViewModel.kt @@ -500,6 +500,17 @@ class HomeSettingsViewModel } } } + + fun resetToDefault() { + viewModelScope.launchIO { + _state.update { it.copy(loading = LoadingState.Loading) } + val result = homeSettingsService.createDefault() + _state.update { + it.copy(rows = result.rows) + } + fetchRowData() + } + } } data class HomePageSettingsState(