{{ define "repo/fragments/fileTree" }} {{ template "fileTreeImpl" (dict "Node" . "Prefix" "file-") }} {{ end }} {{ define "repo/fragments/fileTreePrefixed" }} {{ $prefix := .Prefix }} {{ if eq $prefix "" }}{{ $prefix = "file-" }}{{ end }} {{ template "fileTreeImpl" (dict "Node" .Tree "Prefix" $prefix) }} {{ end }} {{ define "fileTreeImpl" }} {{ $n := .Node }} {{ $prefix := .Prefix }} {{/* tailwind safelist: group/level-1 group/level-2 group/level-3 group/level-4 group/level-5 group/level-6 group/level-7 group/level-8 group/level-9 group/level-10 group/level-11 group/level-12 group-open/level-1:hidden group-open/level-2:hidden group-open/level-3:hidden group-open/level-4:hidden group-open/level-5:hidden group-open/level-6:hidden group-open/level-7:hidden group-open/level-8:hidden group-open/level-9:hidden group-open/level-10:hidden group-open/level-11:hidden group-open/level-12:hidden group-open/level-1:block group-open/level-2:block group-open/level-3:block group-open/level-4:block group-open/level-5:block group-open/level-6:block group-open/level-7:block group-open/level-8:block group-open/level-9:block group-open/level-10:block group-open/level-11:block group-open/level-12:block */}} {{ if and $n.Name $n.IsDirectory }}
{{ i "folder" (printf "flex-shrink-0 size-4 group-open/level-%d:hidden" $n.Level)}} {{ i "folder-open" (printf "flex-shrink-0 size-4 hidden group-open/level-%d:block" $n.Level)}} {{ $n.Name }}
{{ range $child := $n.Children }} {{ template "fileTreeImpl" (dict "Node" $child "Prefix" $prefix) }} {{ end }}
{{ else if $n.Name }}
{{ i "file" "flex-shrink-0 size-4" }} {{ $n.Name }}
{{ else }} {{ range $child := $n.Children }} {{ template "fileTreeImpl" (dict "Node" $child "Prefix" $prefix) }} {{ end }} {{ end }} {{ end }}