diff --git a/quartz/components/scripts/explorer.inline.ts b/quartz/components/scripts/explorer.inline.ts index 9c8341169..a8a5065a9 100644 --- a/quartz/components/scripts/explorer.inline.ts +++ b/quartz/components/scripts/explorer.inline.ts @@ -74,9 +74,6 @@ function toggleFolder(evt: MouseEvent) { collapsed: isCollapsed, }) } - - const stringifiedFileTree = JSON.stringify(currentExplorerState) - localStorage.setItem("fileTree", stringifiedFileTree) } function createFileNode(currentSlug: FullSlug, node: FileTrieNode): HTMLLIElement { @@ -165,8 +162,8 @@ async function setupExplorer(currentSlug: FullSlug) { mapFn: new Function("return " + (dataFns.mapFn || "undefined"))(), } - // Get folder state from local storage - const storageTree = localStorage.getItem("fileTree") + // Get folder state from session storage + const storageTree = sessionStorage.getItem("fileTree") const serializedExplorerState = storageTree && opts.useSavedState ? JSON.parse(storageTree) : [] const oldIndex = new Map( serializedExplorerState.map((entry: FolderState) => [entry.path, entry.collapsed]), @@ -263,6 +260,9 @@ document.addEventListener("prenav", async () => { const explorer = document.querySelector(".explorer-ul") if (!explorer) return sessionStorage.setItem("explorerScrollTop", explorer.scrollTop.toString()) + if (!currentExplorerState) return + const stringifiedFileTree = JSON.stringify(currentExplorerState) + sessionStorage.setItem("fileTree", stringifiedFileTree) }) document.addEventListener("nav", async (e: CustomEventMap["nav"]) => {