mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-10-31 14:27:57 +01:00 
			
		
		
		
	Minor cleanup
This commit is contained in:
		| @@ -1,7 +1,9 @@ | ||||
| package eu.kanade.presentation.more.settings.screen | ||||
|  | ||||
| import androidx.annotation.StringRes | ||||
| import androidx.compose.foundation.layout.Arrangement | ||||
| import androidx.compose.foundation.layout.BoxWithConstraints | ||||
| import androidx.compose.foundation.layout.Column | ||||
| import androidx.compose.foundation.layout.Row | ||||
| import androidx.compose.foundation.layout.fillMaxWidth | ||||
| import androidx.compose.material3.AlertDialog | ||||
| @@ -12,6 +14,7 @@ import androidx.compose.runtime.Composable | ||||
| import androidx.compose.runtime.ReadOnlyComposable | ||||
| import androidx.compose.runtime.collectAsState | ||||
| import androidx.compose.runtime.getValue | ||||
| import androidx.compose.runtime.mutableIntStateOf | ||||
| import androidx.compose.runtime.mutableStateOf | ||||
| import androidx.compose.runtime.remember | ||||
| import androidx.compose.runtime.rememberCoroutineScope | ||||
| @@ -52,7 +55,7 @@ import tachiyomi.domain.library.service.LibraryPreferences.Companion.MANGA_HAS_U | ||||
| import tachiyomi.domain.library.service.LibraryPreferences.Companion.MANGA_NON_COMPLETED | ||||
| import tachiyomi.domain.library.service.LibraryPreferences.Companion.MANGA_NON_READ | ||||
| import tachiyomi.domain.library.service.LibraryPreferences.Companion.MANGA_OUTSIDE_RELEASE_PERIOD | ||||
| import tachiyomi.presentation.core.components.WheelPickerDefaults | ||||
| import tachiyomi.domain.manga.interactor.MAX_GRACE_PERIOD | ||||
| import tachiyomi.presentation.core.components.WheelTextPicker | ||||
| import uy.kohesive.injekt.Injekt | ||||
| import uy.kohesive.injekt.api.get | ||||
| @@ -144,6 +147,7 @@ object SettingsLibraryScreen : SearchableSettings { | ||||
|         val libraryUpdateCategoriesExcludePref = libraryPreferences.libraryUpdateCategoriesExclude() | ||||
|  | ||||
|         val libraryUpdateInterval by libraryUpdateIntervalPref.collectAsState() | ||||
|         val libraryUpdateMangaRestriction by libraryUpdateMangaRestrictionPref.collectAsState() | ||||
|  | ||||
|         val included by libraryUpdateCategoriesPref.collectAsState() | ||||
|         val excluded by libraryUpdateCategoriesExcludePref.collectAsState() | ||||
| @@ -182,7 +186,7 @@ object SettingsLibraryScreen : SearchableSettings { | ||||
|         } | ||||
|         return Preference.PreferenceGroup( | ||||
|             title = stringResource(R.string.pref_category_library_update), | ||||
|             preferenceItems = listOf( | ||||
|             preferenceItems = listOfNotNull( | ||||
|                 Preference.PreferenceItem.ListPreference( | ||||
|                     pref = libraryUpdateIntervalPref, | ||||
|                     title = stringResource(R.string.pref_library_update_interval), | ||||
| @@ -216,34 +220,6 @@ object SettingsLibraryScreen : SearchableSettings { | ||||
|                         true | ||||
|                     }, | ||||
|                 ), | ||||
|                 Preference.PreferenceItem.MultiSelectListPreference( | ||||
|                     pref = libraryUpdateMangaRestrictionPref, | ||||
|                     title = stringResource(R.string.pref_library_update_manga_restriction), | ||||
|                     entries = mapOf( | ||||
|                         MANGA_HAS_UNREAD to stringResource(R.string.pref_update_only_completely_read), | ||||
|                         MANGA_NON_READ to stringResource(R.string.pref_update_only_started), | ||||
|                         MANGA_NON_COMPLETED to stringResource(R.string.pref_update_only_non_completed), | ||||
|                         MANGA_OUTSIDE_RELEASE_PERIOD to stringResource(R.string.pref_update_only_in_release_period), | ||||
|                     ), | ||||
|                 ), | ||||
|                 Preference.PreferenceItem.TextPreference( | ||||
|                     title = stringResource(R.string.pref_library_update_manga_restriction), | ||||
|                     subtitle = setOf( | ||||
|                         stringResource(R.string.pref_update_release_leading_days, leadRange), | ||||
|                         stringResource(R.string.pref_update_release_following_days, followRange), | ||||
|                     ) | ||||
|                         .joinToString(";"), | ||||
|                     onClick = { showFetchRangesDialog = true }, | ||||
|                 ), | ||||
|                 Preference.PreferenceItem.InfoPreference( | ||||
|                     title = stringResource(R.string.pref_update_release_grace_period_info1), | ||||
|                 ), | ||||
|                 Preference.PreferenceItem.InfoPreference( | ||||
|                     title = stringResource(R.string.pref_update_release_grace_period_info2), | ||||
|                 ), | ||||
|                 Preference.PreferenceItem.InfoPreference( | ||||
|                     title = stringResource(R.string.pref_update_release_grace_period_info3), | ||||
|                 ), | ||||
|                 Preference.PreferenceItem.TextPreference( | ||||
|                     title = stringResource(R.string.categories), | ||||
|                     subtitle = getCategoriesLabel( | ||||
| @@ -264,6 +240,27 @@ object SettingsLibraryScreen : SearchableSettings { | ||||
|                     title = stringResource(R.string.pref_library_update_refresh_trackers), | ||||
|                     subtitle = stringResource(R.string.pref_library_update_refresh_trackers_summary), | ||||
|                 ), | ||||
|                 Preference.PreferenceItem.MultiSelectListPreference( | ||||
|                     pref = libraryUpdateMangaRestrictionPref, | ||||
|                     title = stringResource(R.string.pref_library_update_manga_restriction), | ||||
|                     entries = mapOf( | ||||
|                         MANGA_HAS_UNREAD to stringResource(R.string.pref_update_only_completely_read), | ||||
|                         MANGA_NON_READ to stringResource(R.string.pref_update_only_started), | ||||
|                         MANGA_NON_COMPLETED to stringResource(R.string.pref_update_only_non_completed), | ||||
|                         MANGA_OUTSIDE_RELEASE_PERIOD to stringResource(R.string.pref_update_only_in_release_period), | ||||
|                     ), | ||||
|                 ), | ||||
|                 Preference.PreferenceItem.TextPreference( | ||||
|                     title = stringResource(R.string.pref_update_release_grace_period), | ||||
|                     subtitle = listOf( | ||||
|                         pluralStringResource(R.plurals.pref_update_release_leading_days, leadRange, leadRange), | ||||
|                         pluralStringResource(R.plurals.pref_update_release_following_days, followRange, followRange), | ||||
|                     ).joinToString(), | ||||
|                     onClick = { showFetchRangesDialog = true }, | ||||
|                 ).takeIf { MANGA_OUTSIDE_RELEASE_PERIOD in libraryUpdateMangaRestriction }, | ||||
|                 Preference.PreferenceItem.InfoPreference( | ||||
|                     title = stringResource(R.string.pref_update_release_grace_period_info), | ||||
|                 ).takeIf { MANGA_OUTSIDE_RELEASE_PERIOD in libraryUpdateMangaRestriction }, | ||||
|             ), | ||||
|         ) | ||||
|     } | ||||
| @@ -306,45 +303,48 @@ object SettingsLibraryScreen : SearchableSettings { | ||||
|         onDismissRequest: () -> Unit, | ||||
|         onValueChanged: (portrait: Int, landscape: Int) -> Unit, | ||||
|     ) { | ||||
|         val context = LocalContext.current | ||||
|         var leadValue by rememberSaveable { mutableStateOf(initialLead) } | ||||
|         var followValue by rememberSaveable { mutableStateOf(initialFollow) } | ||||
|         var leadValue by rememberSaveable { mutableIntStateOf(initialLead) } | ||||
|         var followValue by rememberSaveable { mutableIntStateOf(initialFollow) } | ||||
|  | ||||
|         AlertDialog( | ||||
|             onDismissRequest = onDismissRequest, | ||||
|             title = { Text(text = stringResource(R.string.pref_update_release_grace_period)) }, | ||||
|             text = { | ||||
|                 Row { | ||||
|                     Text( | ||||
|                         modifier = Modifier.weight(1f), | ||||
|                         text = stringResource(R.string.pref_update_release_leading_days, "x"), | ||||
|                         textAlign = TextAlign.Center, | ||||
|                         maxLines = 1, | ||||
|                         style = MaterialTheme.typography.labelMedium, | ||||
|                     ) | ||||
|                     Text( | ||||
|                         modifier = Modifier.weight(1f), | ||||
|                         text = stringResource(R.string.pref_update_release_following_days, "x"), | ||||
|                         textAlign = TextAlign.Center, | ||||
|                         maxLines = 1, | ||||
|                         style = MaterialTheme.typography.labelMedium, | ||||
|                     ) | ||||
|                 Column { | ||||
|                     Row( | ||||
|                         horizontalArrangement = Arrangement.spacedBy(8.dp), | ||||
|                     ) { | ||||
|                         Text( | ||||
|                             modifier = Modifier.weight(1f), | ||||
|                             text = pluralStringResource(R.plurals.pref_update_release_leading_days, leadValue, leadValue), | ||||
|                             textAlign = TextAlign.Center, | ||||
|                             maxLines = 1, | ||||
|                             style = MaterialTheme.typography.labelMedium, | ||||
|                         ) | ||||
|                         Text( | ||||
|                             modifier = Modifier.weight(1f), | ||||
|                             text = pluralStringResource(R.plurals.pref_update_release_following_days, followValue, followValue), | ||||
|                             textAlign = TextAlign.Center, | ||||
|                             maxLines = 1, | ||||
|                             style = MaterialTheme.typography.labelMedium, | ||||
|                         ) | ||||
|                     } | ||||
|                 } | ||||
|                 BoxWithConstraints( | ||||
|                     modifier = Modifier.fillMaxWidth(), | ||||
|                     contentAlignment = Alignment.Center, | ||||
|                 ) { | ||||
|                     WheelPickerDefaults.Background(size = DpSize(maxWidth, maxHeight)) | ||||
|  | ||||
|                     val size = DpSize(width = maxWidth / 2, height = 128.dp) | ||||
|                     val items = (0..28).map { | ||||
|                     val items = (0..MAX_GRACE_PERIOD).map { | ||||
|                         if (it == 0) { | ||||
|                             stringResource(R.string.label_default) | ||||
|                         } else { | ||||
|                             it.toString() | ||||
|                         } | ||||
|                     } | ||||
|                     Row { | ||||
|                     Row( | ||||
|                         horizontalArrangement = Arrangement.spacedBy(8.dp), | ||||
|                     ) { | ||||
|                         WheelTextPicker( | ||||
|                             size = size, | ||||
|                             items = items, | ||||
|   | ||||
		Reference in New Issue
	
	Block a user