Remove liked post coloring from UI

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
This commit is contained in:
Harsh Shandilya 2020-11-02 01:07:12 +05:30
parent a52c75601c
commit 3f223f4306
No known key found for this signature in database
GPG key ID: 366D7BBAD1031E80
5 changed files with 2 additions and 18 deletions

View file

@ -8,11 +8,11 @@ import androidx.compose.foundation.layout.padding
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.res.stringResource import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import dev.msfjarvis.lobsters.R import dev.msfjarvis.lobsters.R
import dev.msfjarvis.lobsters.util.IconResource import dev.msfjarvis.lobsters.util.IconResource
import dev.msfjarvis.lobsters.ui.theme.savedTitleColor
@Composable @Composable
fun EmptyList(saved: Boolean) { fun EmptyList(saved: Boolean) {
@ -24,7 +24,7 @@ fun EmptyList(saved: Boolean) {
if (saved) { if (saved) {
IconResource( IconResource(
R.drawable.ic_favorite_border_24px, R.drawable.ic_favorite_border_24px,
tint = savedTitleColor, tint = Color(0xFFD97373),
modifier = Modifier.padding(16.dp) modifier = Modifier.padding(16.dp)
) )
Text(stringResource(R.string.no_saved_posts)) Text(stringResource(R.string.no_saved_posts))

View file

@ -32,7 +32,6 @@ import dev.msfjarvis.lobsters.injection.ApiModule
import dev.msfjarvis.lobsters.model.LobstersPost import dev.msfjarvis.lobsters.model.LobstersPost
import dev.msfjarvis.lobsters.model.Submitter import dev.msfjarvis.lobsters.model.Submitter
import dev.msfjarvis.lobsters.ui.theme.LobstersTheme import dev.msfjarvis.lobsters.ui.theme.LobstersTheme
import dev.msfjarvis.lobsters.ui.theme.savedTitleColor
import dev.msfjarvis.lobsters.ui.theme.titleColor import dev.msfjarvis.lobsters.ui.theme.titleColor
@Composable @Composable
@ -43,7 +42,6 @@ fun LazyItemScope.LobstersItem(
commentOpenAction: (LobstersPost) -> Unit, commentOpenAction: (LobstersPost) -> Unit,
saveAction: (LobstersPost) -> Unit, saveAction: (LobstersPost) -> Unit,
) { ) {
val titleColor = if (post.isLiked) savedTitleColor else titleColor
val width = with(DensityAmbient.current) { val width = with(DensityAmbient.current) {
ConfigurationAmbient.current.screenWidthDp.toDp().toPx() ConfigurationAmbient.current.screenWidthDp.toDp().toPx()
} }

View file

@ -6,7 +6,6 @@ import androidx.compose.runtime.Composable
import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.Color
val titleColor = Color(0xFF7395D9) val titleColor = Color(0xFF7395D9)
val savedTitleColor = Color(0xFFD97373)
val darkColors = darkColors( val darkColors = darkColors(
primary = Color.White, primary = Color.White,

View file

@ -54,15 +54,9 @@ class LobstersViewModel @ViewModelInject constructor(
getMorePostsInternal(false) getMorePostsInternal(false)
} }
fun refreshPosts() {
apiPage = 1
getMorePostsInternal(true)
}
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)
.transformLikedFlag()
.toList() .toList()
if (firstLoad) { if (firstLoad) {
_posts.value = newPosts _posts.value = newPosts
@ -79,7 +73,6 @@ class LobstersViewModel @ViewModelInject constructor(
viewModelScope.launch { viewModelScope.launch {
savedPostsDao.insertPosts(post) savedPostsDao.insertPosts(post)
getSavedPosts() getSavedPosts()
_posts.value = _posts.value.transformLikedFlag().toList()
} }
} }
@ -87,11 +80,6 @@ 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) }
}
} }

View file

@ -23,5 +23,4 @@ class LobstersPost(
@Json(name = "submitter_user") @Json(name = "submitter_user")
val submitterUser: Submitter, val submitterUser: Submitter,
val tags: List<String>, val tags: List<String>,
var isLiked: Boolean = false,
) )