Make folder nodes in the "Geprüfte Dateien" tree on the scan report collapsible/expandable (artifacts/skillguard/src/pages/scan-report.tsx). Changes to the FilesTree component: - Track collapsed folders in a Set<string> keyed by full folder path. - flattenFileTree now takes the collapsed set, computes each node's full path and depth, and skips children of collapsed folders. Folder rows carry a fileCount (via new countFiles helper) and a collapsed flag. - FlatFileRow became a discriminated union (file | dir) so folder rows expose path/fileCount/collapsed. - Folder rows are now <button> elements with aria-expanded; clicking toggles collapse. They show a chevron (ChevronDown expanded / ChevronRight collapsed), the folder icon/name, and a localized file count "(N Datei/Dateien)". - Folders start expanded by default (empty collapsed set). - Added ChevronRight/ChevronDown to the lucide-react import. Verification: - Type-check passes for scan-report.tsx after rebuilding the api-client-react lib declarations (known stale-codegen issue in isolated task envs; pre-existing errors in other pages remain). - Interactive Playwright test on a temporary nested-folder scan confirmed default-expanded tree, file counts, collapsing hides nested files/folders, chevron state flips, and re-expanding restores them. Temporary demo scan was deleted afterward. No backend or API changes. Replit-Task-Id: 7afa9ec3-c857-4581-b0d2-da12dbcac46e
76 KiB
1280x720px
76 KiB
1280x720px