Browse Source

minor UI change

turos.robert 1 week ago
parent
commit
78e15dabe7

+ 6 - 0
cmds/webservice/bin/notes_folder/test2/notita-2026-03-24-234717.490576.json

@@ -0,0 +1,6 @@
+{
+  "titlu": "Untitled",
+  "continut": "",
+  "director": "test2",
+  "Path": "notes_folder/test2/notita-2026-03-24-234717.490576.json"
+}

+ 25 - 2
cmds/webservice/bin/templates/design/sections/nav_big.tmpl

@@ -48,7 +48,8 @@
 
 
 {{define "folder"}}
-<details open class="group">
+<details class="group" id="folder-{{.Nume}}"
+         ontoggle="saveFolderState('folder-{{.Nume}}', this.open)">
 
     <summary class="flex items-center justify-between px-2 py-1 text-xs rounded hover:bg-zinc-800 cursor-pointer list-none text-zinc-400 group-open:text-zinc-200 transition-colors">
         <div class="flex items-center gap-1.5 min-w-0">
@@ -156,4 +157,26 @@
     </div>
 
 </details>
-{{end}}
+{{end}}
+
+<script>
+    function saveFolderState(id, isOpen) {
+        const states = JSON.parse(localStorage.getItem('folderStates') || '{}');
+        states[id] = isOpen;
+        localStorage.setItem('folderStates', JSON.stringify(states));
+    }
+
+    function restoreFolderStates() {
+        const states = JSON.parse(localStorage.getItem('folderStates') || '{}');
+        document.querySelectorAll('details[id^="folder-"]').forEach(details => {
+            const id = details.id;
+            if (id in states) {
+                details.open = states[id];
+            } else {
+                details.open = true; // default open on first visit
+            }
+        });
+    }
+
+    document.addEventListener('DOMContentLoaded', restoreFolderStates);
+</script>