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