Use rememberSaveable to keep note state across LazyColumns recompositions

This commit is contained in:
Giovanni Gatti
2025-01-05 00:52:53 +01:00
parent f94feebbd7
commit f1141e698e
2 changed files with 4 additions and 2 deletions
@@ -36,6 +36,7 @@ import androidx.compose.runtime.derivedStateOf
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.saveable.rememberSaveable
import androidx.compose.runtime.setValue
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
@@ -70,7 +71,7 @@ fun ExpandableRichTextViewer(
nav: INav,
) {
var showFullText by
remember {
rememberSaveable {
val cached = ShowFullTextCache.cache[id]
if (cached == null) {
ShowFullTextCache.cache.put(id, false)
@@ -71,6 +71,7 @@ import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.produceState
import androidx.compose.runtime.remember
import androidx.compose.runtime.rememberCoroutineScope
import androidx.compose.runtime.saveable.rememberSaveable
import androidx.compose.runtime.setValue
import androidx.compose.ui.Alignment
import androidx.compose.ui.Alignment.Companion.Center
@@ -169,7 +170,7 @@ fun ReactionsRow(
accountViewModel: AccountViewModel,
nav: INav,
) {
val wantsToSeeReactions = remember(baseNote) { mutableStateOf(false) }
val wantsToSeeReactions = rememberSaveable(baseNote) { mutableStateOf(false) }
InnerReactionRow(baseNote, showReactionDetail, addPadding, wantsToSeeReactions, editState, accountViewModel, nav)