Fix empty page list: use mutableStateListOf for Compose observability

The reorderable pages list was a plain mutableListOf which Compose
doesn't observe. Changed to mutableStateListOf so the grid recomposes
when pages are loaded.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-24 17:22:59 -07:00
parent 368351f9c6
commit 2692f0eb0d

View File

@@ -32,10 +32,10 @@ import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.collectAsState
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.mutableStateListOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.rememberCoroutineScope
import androidx.compose.runtime.setValue
import androidx.compose.runtime.toMutableStateList
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.drawscope.drawIntoCanvas
@@ -78,8 +78,8 @@ fun PageListScreen(
var pageToDelete by remember { mutableStateOf<Page?>(null) }
// Maintain a local mutable list for drag reorder
val reorderablePages = remember { mutableListOf<Page>() }
// Maintain an observable mutable list for drag reorder
val reorderablePages = remember { mutableStateListOf<Page>() }
LaunchedEffect(pages) {
reorderablePages.clear()
reorderablePages.addAll(pages)