all: switch to produceState where applicable

This commit is contained in:
Harsh Shandilya 2022-02-14 17:29:15 +05:30
parent 4aa26d80a6
commit 943ee382d8
No known key found for this signature in database
GPG key ID: 366D7BBAD1031E80
2 changed files with 7 additions and 13 deletions

View file

@ -1,11 +1,8 @@
package dev.msfjarvis.claw.android.ui.lists package dev.msfjarvis.claw.android.ui.lists
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.getValue import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.produceState
import androidx.compose.runtime.remember
import androidx.compose.runtime.setValue
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import dev.msfjarvis.claw.common.posts.LobstersCard import dev.msfjarvis.claw.common.posts.LobstersCard
import dev.msfjarvis.claw.common.posts.PostActions import dev.msfjarvis.claw.common.posts.PostActions
@ -18,8 +15,7 @@ fun ListItem(
postActions: PostActions, postActions: PostActions,
modifier: Modifier = Modifier, modifier: Modifier = Modifier,
) { ) {
var saved by remember(item) { mutableStateOf(false) } val saved by produceState(false, item) { value = isSaved(item) }
LaunchedEffect(item) { saved = isSaved(item) }
LobstersCard( LobstersCard(
post = item, post = item,
isSaved = saved, isSaved = saved,

View file

@ -10,11 +10,8 @@ import androidx.compose.material.CircularProgressIndicator
import androidx.compose.material.Divider import androidx.compose.material.Divider
import androidx.compose.material3.MaterialTheme import androidx.compose.material3.MaterialTheme
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.getValue import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.produceState
import androidx.compose.runtime.remember
import androidx.compose.runtime.setValue
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.graphics.Color
@ -45,9 +42,10 @@ fun CommentsPage(
getDetails: suspend (String) -> LobstersPostDetails, getDetails: suspend (String) -> LobstersPostDetails,
modifier: Modifier = Modifier, modifier: Modifier = Modifier,
) { ) {
var postDetails: NetworkState by remember { mutableStateOf(NetworkState.Loading) } val postDetails by
produceState<NetworkState>(NetworkState.Loading) {
LaunchedEffect(postId) { postDetails = NetworkState.Success(getDetails(postId)) } value = NetworkState.Success(getDetails(postId))
}
when (postDetails) { when (postDetails) {
is NetworkState.Success<*> -> { is NetworkState.Success<*> -> {