mirror of
https://github.com/msfjarvis/compose-lobsters
synced 2025-08-14 10:37:05 +05:30
all: switch to produceState where applicable
This commit is contained in:
parent
4aa26d80a6
commit
943ee382d8
2 changed files with 7 additions and 13 deletions
|
@ -1,11 +1,8 @@
|
|||
package dev.msfjarvis.claw.android.ui.lists
|
||||
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.LaunchedEffect
|
||||
import androidx.compose.runtime.getValue
|
||||
import androidx.compose.runtime.mutableStateOf
|
||||
import androidx.compose.runtime.remember
|
||||
import androidx.compose.runtime.setValue
|
||||
import androidx.compose.runtime.produceState
|
||||
import androidx.compose.ui.Modifier
|
||||
import dev.msfjarvis.claw.common.posts.LobstersCard
|
||||
import dev.msfjarvis.claw.common.posts.PostActions
|
||||
|
@ -18,8 +15,7 @@ fun ListItem(
|
|||
postActions: PostActions,
|
||||
modifier: Modifier = Modifier,
|
||||
) {
|
||||
var saved by remember(item) { mutableStateOf(false) }
|
||||
LaunchedEffect(item) { saved = isSaved(item) }
|
||||
val saved by produceState(false, item) { value = isSaved(item) }
|
||||
LobstersCard(
|
||||
post = item,
|
||||
isSaved = saved,
|
||||
|
|
|
@ -10,11 +10,8 @@ import androidx.compose.material.CircularProgressIndicator
|
|||
import androidx.compose.material.Divider
|
||||
import androidx.compose.material3.MaterialTheme
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.LaunchedEffect
|
||||
import androidx.compose.runtime.getValue
|
||||
import androidx.compose.runtime.mutableStateOf
|
||||
import androidx.compose.runtime.remember
|
||||
import androidx.compose.runtime.setValue
|
||||
import androidx.compose.runtime.produceState
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.graphics.Color
|
||||
|
@ -45,9 +42,10 @@ fun CommentsPage(
|
|||
getDetails: suspend (String) -> LobstersPostDetails,
|
||||
modifier: Modifier = Modifier,
|
||||
) {
|
||||
var postDetails: NetworkState by remember { mutableStateOf(NetworkState.Loading) }
|
||||
|
||||
LaunchedEffect(postId) { postDetails = NetworkState.Success(getDetails(postId)) }
|
||||
val postDetails by
|
||||
produceState<NetworkState>(NetworkState.Loading) {
|
||||
value = NetworkState.Success(getDetails(postId))
|
||||
}
|
||||
|
||||
when (postDetails) {
|
||||
is NetworkState.Success<*> -> {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue