Jacky Zhao
2025-03-13 c005fe440895c3533e6a263d8ad4c63df5a1ad2b
fix(explorer): properly respect folderDefaultState (closes #1827)
1 files modified
14 ■■■■■ changed files
quartz/components/scripts/explorer.inline.ts 14 ●●●●● patch | view | raw | blame | history
quartz/components/scripts/explorer.inline.ts
@@ -161,7 +161,7 @@
    // Get folder state from local storage
    const storageTree = localStorage.getItem("fileTree")
    const serializedExplorerState = storageTree && opts.useSavedState ? JSON.parse(storageTree) : []
    const oldIndex = new Map(
    const oldIndex = new Map<string, boolean>(
      serializedExplorerState.map((entry: FolderState) => [entry.path, entry.collapsed]),
    )
@@ -186,10 +186,14 @@
    // Get folder paths for state management
    const folderPaths = trie.getFolderPaths()
    currentExplorerState = folderPaths.map((path) => ({
      path,
      collapsed: oldIndex.get(path) === true,
    }))
    currentExplorerState = folderPaths.map((path) => {
      const previousState = oldIndex.get(path)
      return {
        path,
        collapsed:
          previousState === undefined ? opts.folderDefaultState === "collapsed" : previousState,
      }
    })
    const explorerUl = explorer.querySelector(".explorer-ul")
    if (!explorerUl) continue