Compare commits

...

5 Commits

Author SHA1 Message Date
Emile Bangma
b0560711ed Fix comment 2025-06-19 22:57:21 +02:00
Emile Bangma
6b05c6ba64 Fixing Copilot suggestion 2025-06-19 22:55:30 +02:00
Emile Bangma
50b6c217c6 Copilot suggestion
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-06-19 22:52:06 +02:00
Emile Bangma
b31acc6f0f Only write tree to localStorage during prenav event 2025-06-19 22:12:50 +02:00
Emile Bangma
08b2228a43 fix(explorer): prevent tree duplication when rapidly navigating 2025-06-19 19:45:25 +00:00

View File

@@ -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<string, boolean>(
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"]) => {