skillguard/artifacts/skillguard/public/opengraph.jpg
amertensreplit 4b51ba482a Add collapse/expand to checked-files folder tree (Task #40)
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
2026-06-11 05:04:53 +00:00

76 KiB
1280x720px