diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 1240453..0678280 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -14,8 +14,8 @@ android { applicationId = "com.donut.mixfile" minSdk = 24 targetSdk = 34 - versionCode = 33 - versionName = "1.4.2" + versionCode = 34 + versionName = "1.4.3" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" vectorDrawables { diff --git a/app/src/main/java/com/donut/mixfile/ui/routes/favorites/Favorites.kt b/app/src/main/java/com/donut/mixfile/ui/routes/favorites/Favorites.kt index edea046..49b4305 100644 --- a/app/src/main/java/com/donut/mixfile/ui/routes/favorites/Favorites.kt +++ b/app/src/main/java/com/donut/mixfile/ui/routes/favorites/Favorites.kt @@ -28,6 +28,7 @@ import com.donut.mixfile.ui.component.common.MixDialogBuilder import com.donut.mixfile.ui.nav.MixNavPage import com.donut.mixfile.ui.routes.UploadDialogCard import com.donut.mixfile.ui.theme.colorScheme +import com.donut.mixfile.util.cachedMutableOf import com.donut.mixfile.util.file.FileCardList import com.donut.mixfile.util.file.exportFileList import com.donut.mixfile.util.file.favorites @@ -38,6 +39,9 @@ import com.donut.mixfile.util.truncate var currentCategory: String by mutableStateOf("") +private var favoriteSort by cachedMutableOf("最新", "mix_favorite_sort") + + val Favorites = MixNavPage( gap = 10.dp, horizontalAlignment = Alignment.CenterHorizontally, @@ -58,10 +62,6 @@ val Favorites = MixNavPage( mutableStateOf(favorites.reversed()) } - var sort by remember { - mutableStateOf("最新") - } - if (favorites.isEmpty()) { Text( text = "暂未收藏文件", @@ -81,7 +81,7 @@ val Favorites = MixNavPage( color = colorScheme.primary ) - LaunchedEffect(searchVal, currentCategory, favorites, updateMark, sort) { + LaunchedEffect(searchVal, currentCategory, favorites, updateMark, favoriteSort) { result = if (searchVal.trim().isNotEmpty()) { favorites.filter { it.name.contains(searchVal) @@ -92,7 +92,7 @@ val Favorites = MixNavPage( result = result.filter { currentCategory.isEmpty() || it.category == currentCategory } - when (sort) { + when (favoriteSort) { "最新" -> result = result.sortedByDescending { it.time } "最旧" -> result = result.sortedBy { it.time } "最大" -> result = result.sortedByDescending { it.size } @@ -158,11 +158,11 @@ val Favorites = MixNavPage( modifier = Modifier.fillMaxSize(), ) { Text( - text = "排序:${sort}", + text = "排序:${favoriteSort}", modifier = Modifier .clickable { - openSortSelect(sort) { - sort = it + openSortSelect(favoriteSort) { + favoriteSort = it } } .fillMaxWidth()