feat: Tapping followed hashtag names in lists opens relevant timeline
This commit is contained in:
parent
4762411147
commit
65a0fb19d9
|
@ -19,6 +19,7 @@ import app.pachli.core.common.extensions.hide
|
|||
import app.pachli.core.common.extensions.show
|
||||
import app.pachli.core.common.extensions.viewBinding
|
||||
import app.pachli.core.common.extensions.visible
|
||||
import app.pachli.core.navigation.StatusListActivityIntent
|
||||
import app.pachli.core.network.retrofit.MastodonApi
|
||||
import app.pachli.core.preferences.PrefKeys
|
||||
import app.pachli.databinding.ActivityFollowedTagsBinding
|
||||
|
@ -170,6 +171,10 @@ class FollowedTagsActivity :
|
|||
}
|
||||
}
|
||||
|
||||
override fun onViewTag(tag: String) {
|
||||
startActivityWithSlideInAnimation(StatusListActivityIntent.hashtag(this, tag))
|
||||
}
|
||||
|
||||
override suspend fun search(token: String): List<ComposeAutoCompleteAdapter.AutocompleteResult> {
|
||||
return viewModel.searchAutocompleteSuggestions(token)
|
||||
}
|
||||
|
|
|
@ -2,11 +2,8 @@ package app.pachli.components.followedtags
|
|||
|
||||
import android.view.LayoutInflater
|
||||
import android.view.ViewGroup
|
||||
import android.widget.ImageButton
|
||||
import android.widget.TextView
|
||||
import androidx.paging.PagingDataAdapter
|
||||
import androidx.recyclerview.widget.DiffUtil
|
||||
import app.pachli.R
|
||||
import app.pachli.databinding.ItemFollowedHashtagBinding
|
||||
import app.pachli.interfaces.HashtagActionListener
|
||||
import app.pachli.util.BindingHolder
|
||||
|
@ -20,9 +17,15 @@ class FollowedTagsAdapter(
|
|||
|
||||
override fun onBindViewHolder(holder: BindingHolder<ItemFollowedHashtagBinding>, position: Int) {
|
||||
viewModel.tags[position].let { tag ->
|
||||
holder.itemView.findViewById<TextView>(R.id.followed_tag).text = tag.name
|
||||
holder.itemView.findViewById<ImageButton>(R.id.followed_tag_unfollow).setOnClickListener {
|
||||
actionListener.unfollow(tag.name, holder.bindingAdapterPosition)
|
||||
with(holder.binding) {
|
||||
followedTag.text = tag.name
|
||||
followedTag.setOnClickListener {
|
||||
actionListener.onViewTag(tag.name)
|
||||
}
|
||||
|
||||
followedTagUnfollow.setOnClickListener {
|
||||
actionListener.unfollow(tag.name, holder.bindingAdapterPosition)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,4 +2,5 @@ package app.pachli.interfaces
|
|||
|
||||
interface HashtagActionListener {
|
||||
fun unfollow(tagName: String, position: Int)
|
||||
fun onViewTag(tag: String)
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue