From 4e3862b1c5f5a140f6efb4fe5f3c2c5a3ede906c Mon Sep 17 00:00:00 2001 From: Dude so hot Date: Sat, 12 Oct 2024 21:11:22 +0800 Subject: [PATCH] Move ImageSearchScreen --- .../com/hippo/ehviewer/ui/MainActivity.kt | 3 --- .../ehviewer/ui/screen/SearchBarScreen.kt | 24 ++++++++++++------- app/src/main/res/values-zh-rCN/strings.xml | 1 - app/src/main/res/values/strings.xml | 1 - 4 files changed, 16 insertions(+), 13 deletions(-) diff --git a/app/src/main/kotlin/com/hippo/ehviewer/ui/MainActivity.kt b/app/src/main/kotlin/com/hippo/ehviewer/ui/MainActivity.kt index 3e2a3fe3b..e1eb6f23d 100644 --- a/app/src/main/kotlin/com/hippo/ehviewer/ui/MainActivity.kt +++ b/app/src/main/kotlin/com/hippo/ehviewer/ui/MainActivity.kt @@ -50,7 +50,6 @@ import androidx.compose.material.icons.filled.Favorite import androidx.compose.material.icons.filled.FormatListNumbered import androidx.compose.material.icons.filled.History import androidx.compose.material.icons.filled.Home -import androidx.compose.material.icons.filled.ImageSearch import androidx.compose.material.icons.filled.Settings import androidx.compose.material.icons.filled.Whatshot import androidx.compose.material3.DrawerDefaults @@ -124,7 +123,6 @@ import com.hippo.ehviewer.ui.destinations.DownloadsScreenDestination import com.hippo.ehviewer.ui.destinations.FavouritesScreenDestination import com.hippo.ehviewer.ui.destinations.HistoryScreenDestination import com.hippo.ehviewer.ui.destinations.HomePageScreenDestination -import com.hippo.ehviewer.ui.destinations.ImageSearchScreenDestination import com.hippo.ehviewer.ui.destinations.ProgressScreenDestination import com.hippo.ehviewer.ui.destinations.SettingsScreenDestination import com.hippo.ehviewer.ui.destinations.SignInScreenDestination @@ -176,7 +174,6 @@ private val navItems = arrayOf>( Triple(FavouritesScreenDestination, R.string.favourite, Icons.Default.Favorite), Triple(HistoryScreenDestination, R.string.history, Icons.Default.History), Triple(DownloadsScreenDestination, R.string.downloads, Icons.Default.Download), - Triple(ImageSearchScreenDestination, R.string.image_search_title, Icons.Default.ImageSearch), Triple(SettingsScreenDestination, R.string.settings, Icons.Default.Settings), ) diff --git a/app/src/main/kotlin/com/hippo/ehviewer/ui/screen/SearchBarScreen.kt b/app/src/main/kotlin/com/hippo/ehviewer/ui/screen/SearchBarScreen.kt index 6f039ab45..d62e68a58 100644 --- a/app/src/main/kotlin/com/hippo/ehviewer/ui/screen/SearchBarScreen.kt +++ b/app/src/main/kotlin/com/hippo/ehviewer/ui/screen/SearchBarScreen.kt @@ -1,5 +1,6 @@ package com.hippo.ehviewer.ui.screen +import androidx.compose.animation.AnimatedContent import androidx.compose.foundation.clickable import androidx.compose.foundation.focusable import androidx.compose.foundation.layout.Box @@ -30,6 +31,7 @@ import androidx.compose.material.icons.Icons import androidx.compose.material.icons.automirrored.filled.ArrowBack import androidx.compose.material.icons.automirrored.filled.MenuBook import androidx.compose.material.icons.filled.Close +import androidx.compose.material.icons.filled.ImageSearch import androidx.compose.material.icons.filled.Menu import androidx.compose.material3.Icon import androidx.compose.material3.IconButton @@ -65,11 +67,13 @@ import com.hippo.ehviewer.collectAsState import com.hippo.ehviewer.dao.Search import com.hippo.ehviewer.dao.SearchDao import com.hippo.ehviewer.ui.LocalNavDrawerState -import com.hippo.ehviewer.ui.tools.LocalDialogState +import com.hippo.ehviewer.ui.destinations.ImageSearchScreenDestination +import com.hippo.ehviewer.ui.tools.DialogState import com.hippo.ehviewer.ui.tools.rememberCompositionActiveState import com.hippo.ehviewer.ui.tools.thenIf import com.jamal.composeprefs3.ui.ifNotNullThen import com.jamal.composeprefs3.ui.ifTrueThen +import com.ramcosta.composedestinations.navigation.DestinationsNavigator import eu.kanade.tachiyomi.util.lang.launchIO import eu.kanade.tachiyomi.util.lang.launchUI import kotlinx.coroutines.Dispatchers @@ -94,6 +98,7 @@ abstract class Suggestion { suspend fun SearchDao.suggestions(prefix: String, limit: Int) = (if (prefix.isBlank()) list(limit) else rawSuggestions(prefix, limit)) +context(DialogState, DestinationsNavigator) @Composable fun SearchBarScreen( onApplySearch: (String) -> Unit, @@ -114,7 +119,6 @@ fun SearchBarScreen( val mSearchDatabase = searchDatabase.searchDao() val scope = rememberCoroutineScope { Dispatchers.IO } val context = LocalContext.current - val dialogState = LocalDialogState.current val animateItems by Settings.animateItems.collectAsState() class TagSuggestion( @@ -189,9 +193,7 @@ fun SearchBarScreen( fun deleteKeyword(keyword: String) { scope.launch { - dialogState.awaitConfirmationOrCancel( - confirmText = R.string.delete, - ) { + awaitConfirmationOrCancel(confirmText = R.string.delete) { Text(text = stringResource(id = R.string.delete_search_history, keyword)) } mSearchDatabase.deleteQuery(keyword) @@ -244,9 +246,15 @@ fun SearchBarScreen( }, trailingIcon = { if (expanded) { - if (searchFieldState.text.isNotEmpty()) { - IconButton(onClick = { searchFieldState.clearText() }) { - Icon(Icons.Default.Close, contentDescription = null) + AnimatedContent(targetState = searchFieldState.text.isNotEmpty()) { hasText -> + if (hasText) { + IconButton(onClick = { searchFieldState.clearText() }) { + Icon(Icons.Default.Close, contentDescription = null) + } + } else { + IconButton(onClick = { navigate(ImageSearchScreenDestination) }) { + Icon(Icons.Default.ImageSearch, contentDescription = null) + } } } } else { diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index b468914e2..f44d60887 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -65,7 +65,6 @@ 请至 设置->EH->我的标签 订阅标签 关键字搜索 图片搜索 - 搜图 图片搜索 已删除 有种子 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index ecfa405eb..ca2bb8656 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -79,7 +79,6 @@ Subscribe to tags in Settings->EH->My tags Keyword search Image search - Image search Image Search Expunged Has Torrent