Make Wikipedia item and website item clickable again

This commit is contained in:
MM20 2022-02-15 19:35:23 +01:00
parent fc90fdb17d
commit 2e5d510014
No known key found for this signature in database
GPG Key ID: 0B61A8F2DEAFA389
4 changed files with 12 additions and 23 deletions

View File

@ -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(

View File

@ -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)

View File

@ -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(

View File

@ -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()