setFilter(e.target.value)}
- placeholder="Search actions..."
- ref={inputRef}
- value={filter}
- />
+
+
+
+ setFilter(e.target.value)}
+ placeholder="Search actions..."
+ ref={inputRef}
+ value={filter}
+ />
+
+
+
+
+
+
+
+ {viewMode === "list" ? "Grid view" : "List view"}
+
+
+
+ {hiddenCount > 0 && (
+
+
+
+
+
+
+ {showHidden
+ ? "Hide hidden groups"
+ : `Show ${hiddenCount} hidden group${hiddenCount > 1 ? "s" : ""}`}
+
+
+
+ )}
- {filteredActions.length === 0 ? (
+ {filteredActions.length === 0 && (
No actions found
- ) : (
- filteredActions.map((action) => (
-
- ))
)}
+ {filteredActions.length > 0 && visibleGroups.length === 0 && (
+
+ All groups are hidden
+
+ )}
+
+ {/* Grid View */}
+ {viewMode === "grid" && visibleGroups.length > 0 && (
+
+ {filteredActions
+ .filter(
+ (action) => showHidden || !hiddenGroups.has(action.category)
+ )
+ .map((action) => (
+
+ ))}
+
+ )}
+
+ {/* List View */}
+ {viewMode === "list" &&
+ visibleGroups.length > 0 &&
+ visibleGroups.map((group, groupIndex) => {
+ const isCollapsed = collapsedGroups.has(group.category);
+ const isHidden = hiddenGroups.has(group.category);
+ return (
+
+ {groupIndex > 0 &&
}
+
+
+
+
+
+
+
+ toggleHideGroup(group.category)}
+ >
+ {isHidden ? (
+ <>
+
+ Show group
+ >
+ ) : (
+ <>
+
+ Hide group
+ >
+ )}
+
+
+
+
+ {!isCollapsed &&
+ group.actions.map((action) => (
+
+ ))}
+
+ );
+ })}