feat(common): add localSavedState for save button composable

Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>
(cherry picked from commit 910471b32bde54749e437d374822c1d1e7830798)
This commit is contained in:
Aditya Wasan 2021-10-31 17:04:57 +05:30 committed by Harsh Shandilya
parent b6598436b2
commit 743b2db4ef
No known key found for this signature in database
GPG key ID: 366D7BBAD1031E80

View file

@ -21,6 +21,10 @@ import androidx.compose.material3.Icon
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.setValue
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip
@ -44,6 +48,7 @@ fun LobstersCard(
postActions: PostActions,
modifier: Modifier = Modifier,
) {
var localSavedState by remember(isSaved) { mutableStateOf(isSaved) }
Box(modifier = modifier.clickable { postActions.viewPost(post.url, post.commentsUrl) }) {
Column(
modifier = Modifier.padding(horizontal = 16.dp, vertical = 4.dp).fillMaxWidth(),
@ -58,8 +63,12 @@ fun LobstersCard(
horizontalArrangement = Arrangement.End,
) {
SaveButton(
isSaved = isSaved,
modifier = Modifier.clickable { postActions.toggleSave(post) },
isSaved = localSavedState,
modifier =
Modifier.clickable {
localSavedState = localSavedState.not()
postActions.toggleSave(post)
},
)
Spacer(
modifier = Modifier.width(8.dp),