MCPcopy
hub / github.com/subnub/myDrive / MultiSelectBar

Function MultiSelectBar

src/components/MultiSelectBar/MultiSelectBar.tsx:26–205  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

24import { useFolders } from "../../hooks/folders";
25
26const MultiSelectBar: React.FC = () => {
27 const dispatch = useAppDispatch();
28 // const ignoreFirstMount = useRef(true);
29 const multiSelectMode = useAppSelector(
30 (state) => state.selected.multiSelectMode
31 );
32 const multiSelectMap = useAppSelector(
33 (state) => state.selected.multiSelectMap
34 );
35 const multiSelectCount = useAppSelector(
36 (state) => state.selected.multiSelectCount
37 );
38 const { refetch: refetchFiles } = useFiles(false);
39 const { refetch: refetchFolders } = useFolders(false);
40 const { refetch: refetchQuickFiles } = useQuickFiles(false);
41
42 const { isTrash, isMedia } = useUtils();
43
44 const location = useLocation();
45
46 // useEffect(() => {
47 // if (ignoreFirstMount.current) {
48 // ignoreFirstMount.current = false;
49 // } else {
50 // closeMultiSelect();
51 // }
52 // }, [isTrash]);
53
54 const closeMultiSelect = useCallback(() => {
55 dispatch(resetMultiSelect());
56 }, []);
57
58 useEffect(() => {
59 closeMultiSelect();
60 }, [location.pathname, closeMultiSelect]);
61
62 const handleKeyDown = useCallback(
63 (e: KeyboardEvent) => {
64 if (e.key === "Escape" || e.key === "Esc") {
65 closeMultiSelect();
66 }
67 },
68 [closeMultiSelect]
69 );
70
71 useEffect(() => {
72 document.addEventListener("keydown", handleKeyDown);
73
74 return () => {
75 document.removeEventListener("keydown", handleKeyDown);
76 };
77 }, []);
78
79 const trashItems = async () => {
80 try {
81 const result = await trashItemsPopup();
82 if (!result) return;
83

Callers

nothing calls this directly

Calls 4

useFilesFunction · 0.90
useFoldersFunction · 0.90
useQuickFilesFunction · 0.90
useUtilsFunction · 0.90

Tested by

no test coverage detected