From 943ee382d8cf62099f89b8c7bbdeddb1cb878e96 Mon Sep 17 00:00:00 2001 From: Harsh Shandilya Date: Mon, 14 Feb 2022 17:29:15 +0530 Subject: [PATCH] all: switch to produceState where applicable --- .../dev/msfjarvis/claw/android/ui/lists/ListItem.kt | 8 ++------ .../dev/msfjarvis/claw/common/comments/Comments.kt | 12 +++++------- 2 files changed, 7 insertions(+), 13 deletions(-) diff --git a/android/src/main/kotlin/dev/msfjarvis/claw/android/ui/lists/ListItem.kt b/android/src/main/kotlin/dev/msfjarvis/claw/android/ui/lists/ListItem.kt index a99a5b1e..b3c760f4 100644 --- a/android/src/main/kotlin/dev/msfjarvis/claw/android/ui/lists/ListItem.kt +++ b/android/src/main/kotlin/dev/msfjarvis/claw/android/ui/lists/ListItem.kt @@ -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, diff --git a/common/src/commonMain/kotlin/dev/msfjarvis/claw/common/comments/Comments.kt b/common/src/commonMain/kotlin/dev/msfjarvis/claw/common/comments/Comments.kt index d52640d6..5e7f628e 100644 --- a/common/src/commonMain/kotlin/dev/msfjarvis/claw/common/comments/Comments.kt +++ b/common/src/commonMain/kotlin/dev/msfjarvis/claw/common/comments/Comments.kt @@ -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.Loading) { + value = NetworkState.Success(getDetails(postId)) + } when (postDetails) { is NetworkState.Success<*> -> {