diff --git a/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/website/WebsiteItem.kt b/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/website/WebsiteItem.kt index b5d97399..399c6162 100644 --- a/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/website/WebsiteItem.kt +++ b/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/website/WebsiteItem.kt @@ -6,6 +6,7 @@ import androidx.compose.animation.core.snap import androidx.compose.animation.core.tween import androidx.compose.foundation.Image import androidx.compose.foundation.background +import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.* import androidx.compose.material.icons.Icons import androidx.compose.material.icons.rounded.ArrowBack @@ -45,7 +46,9 @@ fun WebsiteItem( val viewModel = remember(website) { WebsiteItemVM(website) } Column( - modifier = Modifier.fillMaxWidth() + modifier = modifier.clickable { + viewModel.launch(context as AppCompatActivity) + } ) { if (website.image.isNotBlank()) { Image( diff --git a/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/website/WebsiteItemVM.kt b/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/website/WebsiteItemVM.kt index 55843971..1f2d3f3b 100644 --- a/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/website/WebsiteItemVM.kt +++ b/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/website/WebsiteItemVM.kt @@ -4,21 +4,13 @@ import android.content.Intent import androidx.appcompat.app.AppCompatActivity import de.mm20.launcher2.favorites.FavoritesRepository import de.mm20.launcher2.search.data.Website +import de.mm20.launcher2.ui.launcher.search.common.SearchableItemVM import org.koin.core.component.KoinComponent import org.koin.core.component.inject class WebsiteItemVM( private val website: Website -): KoinComponent { - private val favoritesRepository: FavoritesRepository by inject() - - val isPinned = favoritesRepository.isPinned(website) - fun pin() { - favoritesRepository.pinItem(website) - } - fun unpin() { - favoritesRepository.unpinItem(website) - } +): SearchableItemVM(website) { fun share(context: AppCompatActivity) { val shareIntent = Intent(Intent.ACTION_SEND) diff --git a/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/wikipedia/WikipediaItem.kt b/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/wikipedia/WikipediaItem.kt index a3ce0b1b..c4998cef 100644 --- a/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/wikipedia/WikipediaItem.kt +++ b/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/wikipedia/WikipediaItem.kt @@ -5,6 +5,7 @@ import androidx.compose.animation.* import androidx.compose.animation.core.tween import androidx.compose.foundation.Image import androidx.compose.foundation.background +import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.* import androidx.compose.material.icons.Icons import androidx.compose.material.icons.rounded.ArrowBack @@ -45,7 +46,9 @@ fun WikipediaItem( val viewModel = remember(wikipedia) { WikipediaItemVM(wikipedia) } Column( - modifier = Modifier.fillMaxWidth() + modifier = modifier.clickable { + viewModel.launch(context as AppCompatActivity) + } ) { if (!wikipedia.image.isNullOrEmpty()) { Image( diff --git a/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/wikipedia/WikipediaItemVM.kt b/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/wikipedia/WikipediaItemVM.kt index e09d4536..276f313c 100644 --- a/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/wikipedia/WikipediaItemVM.kt +++ b/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/wikipedia/WikipediaItemVM.kt @@ -6,22 +6,13 @@ import androidx.core.text.HtmlCompat import de.mm20.launcher2.favorites.FavoritesRepository import de.mm20.launcher2.search.data.Wikipedia import de.mm20.launcher2.ui.R +import de.mm20.launcher2.ui.launcher.search.common.SearchableItemVM import org.koin.core.component.KoinComponent import org.koin.core.component.inject class WikipediaItemVM( private val wikipedia: Wikipedia -) : KoinComponent { - private val favoritesRepository: FavoritesRepository by inject() - - val isPinned = favoritesRepository.isPinned(wikipedia) - fun pin() { - favoritesRepository.pinItem(wikipedia) - } - - fun unpin() { - favoritesRepository.unpinItem(wikipedia) - } +) : SearchableItemVM(wikipedia) { fun share(context: AppCompatActivity) { val text = HtmlCompat.fromHtml(wikipedia.text, HtmlCompat.FROM_HTML_MODE_LEGACY).toString()