Files
personotes/templates/file-tree.html

52 lines
1.9 KiB
HTML

<!-- Indicateur de racine (non cliquable) -->
<div class="root-indicator">
<span class="folder-icon">🏠</span>
<span class="folder-name">Racine</span>
<span class="root-hint">(notes/)</span>
</div>
<hr style="border: none; border-top: 1px solid var(--border-primary); margin: 0.75rem 0;">
{{if .Tree}}
{{if .Tree.Children}}
{{template "tree-node" .Tree}}
{{else}}
<p style="color: var(--text-muted); font-size: 0.85rem;">Aucune note trouvée.</p>
{{end}}
{{else}}
<p style="color: var(--text-muted); font-size: 0.85rem;">Aucune note trouvée.</p>
{{end}}
{{define "tree-node"}}
{{range .Children}}
{{if .IsDir}}
<div class="folder-item" data-path="{{.Path}}" data-is-dir="true">
<div class="folder-header">
<input type="checkbox" class="selection-checkbox folder-checkbox" data-path="{{.Path}}" data-is-dir="true" style="display: none;">
<span class="folder-toggle"></span>
<span class="folder-icon">📁</span>
<span class="folder-name">{{.Name}}</span>
</div>
<div class="folder-children" style="display: none;">
{{if .Children}}
{{template "tree-node" .}}
{{end}}
</div>
</div>
{{else}}
<div class="file-item-wrapper">
<input type="checkbox" class="selection-checkbox file-checkbox" data-path="{{.Path}}" data-is-dir="false" style="display: none;">
<a href="#"
class="file-item"
data-path="{{.Path}}"
data-is-dir="false"
hx-get="/api/notes/{{.Path}}"
hx-target="#editor-container"
hx-swap="innerHTML"
draggable="true">
📄 {{.Name}}
</a>
</div>
{{end}}
{{end}}
{{end}}