{
+ if (isFolder && onToggleFolder) {
+ onToggleFolder(path);
+ } else if (!isFolder && onToggleSelect) {
+ onToggleSelect(path);
+ }
+ }}
+ onMouseEnter={(e) => {
+ e.currentTarget.style.backgroundColor = "#2a2a2a";
+ }}
+ onMouseLeave={(e) => {
+ e.currentTarget.style.backgroundColor = "transparent";
+ }}
+ >
+ {/* Folder expand icon */}
+ {isFolder && (
+
+ {isExpanded ? (
+
+ ) : (
+
+ )}
+
+ )}
+
+ {/* File/Folder icon */}
+
+ {isFolder ? (
+
+ ) : (
+
+ )}
+
+
+ {/* Name */}
+
+ {name}
+
+
+ {/* Extension badge — только у файлов */}
+ {!isFolder && extension && (
+
+ {extension}
+
+ )}
+
+ {/* Checkbox — только у файлов */}
+ {!isFolder && onToggleSelect && (
+
{
+ e.stopPropagation();
+ onToggleSelect(path);
+ }}
+ >
+ {isSelected && (
+
+ )}
+
+ )}
+