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
No known key found for this signature in database
GPG Key ID: 001A19EE2FEDD8A7
2 changed files with 4 additions and 2 deletions

View File

@ -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)

View File

@ -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)