- {dirFiles.map((file) => {
- const Icon = changeTypeIcon[file.change_type];
- const iconColor = changeTypeColor[file.change_type];
- const isSelected = selectedFile === file.path;
-
- return (
-
- );
- })}
+ {groupBy === 'dir'
+ ? Array.from(grouped.entries()).map(([dir, dirFiles]) => {
+ const isCollapsed = collapsedDirs.has(dir);
+
+ return (
+
+
+
+ {!isCollapsed && (
+
+ {dirFiles.map((file) => {
+ const Icon = changeTypeIcon[file.change_type];
+ const iconColor = changeTypeColor[file.change_type];
+ const isSelected = selectedFile === file.path;
+
+ return (
+
+ );
+ })}
+
+ )}
+
+ );
+ })
+ : Array.from(groupedByTask.entries()).map(([taskId, { title: taskTitle, files: taskFiles }]) => {
+ const isCollapsed = collapsedDirs.has(`task:${taskId}`);
+
+ return (
+
+
+
+ {!isCollapsed && (
+
+ {taskFiles.map((file) => {
+ const Icon = changeTypeIcon[file.change_type];
+ const iconColor = changeTypeColor[file.change_type];
+ const isSelected = selectedFile === file.path;
+
+ return (
+
+ );
+ })}
+
+ )}
- )}
-