diff --git a/quartz/components/scripts/explorer.inline.ts b/quartz/components/scripts/explorer.inline.ts index 3c6851c7b..258d569e9 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 { @@ -169,8 +166,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]), @@ -267,6 +264,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"]) => {