mirror of
https://github.com/msfjarvis/compose-lobsters
synced 2025-08-18 04:27:02 +05:30
Remove liked post coloring from UI
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
This commit is contained in:
parent
a52c75601c
commit
3f223f4306
5 changed files with 2 additions and 18 deletions
|
@ -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))
|
||||||
|
|
|
@ -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()
|
||||||
}
|
}
|
||||||
|
|
|
@ -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,
|
||||||
|
|
|
@ -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) }
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -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,
|
|
||||||
)
|
)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue