mirror of
https://github.com/msfjarvis/compose-lobsters
synced 2025-08-18 04:27:02 +05:30
Update liked state when removing a saved post as well
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
This commit is contained in:
parent
d93910ba5a
commit
dc83ad2dee
1 changed files with 6 additions and 1 deletions
|
@ -62,7 +62,7 @@ class LobstersViewModel @ViewModelInject constructor(
|
||||||
private fun getMorePostsInternal(firstLoad: Boolean) {
|
private fun getMorePostsInternal(firstLoad: Boolean) {
|
||||||
viewModelScope.launch(coroutineExceptionHandler) {
|
viewModelScope.launch(coroutineExceptionHandler) {
|
||||||
val newPosts = lobstersApi.getHottestPosts(apiPage)
|
val newPosts = lobstersApi.getHottestPosts(apiPage)
|
||||||
.map { it.apply { isLiked = savedPostsDao.isLiked(shortId) } }
|
.transformLikedFlag()
|
||||||
.toList()
|
.toList()
|
||||||
if (firstLoad) {
|
if (firstLoad) {
|
||||||
_posts.value = newPosts
|
_posts.value = newPosts
|
||||||
|
@ -91,6 +91,11 @@ class LobstersViewModel @ViewModelInject constructor(
|
||||||
viewModelScope.launch {
|
viewModelScope.launch {
|
||||||
savedPostsDao.deletePostById(post.shortId)
|
savedPostsDao.deletePostById(post.shortId)
|
||||||
getSavedPosts()
|
getSavedPosts()
|
||||||
|
_posts.value = _posts.value.transformLikedFlag().toList()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private suspend fun List<LobstersPost>.transformLikedFlag() = map {
|
||||||
|
it.apply { isLiked = savedPostsDao.isLiked(shortId) }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue