import React, { useCallback, useMemo, useRef } from "react"; import ContextMenu from "../ContextMenu"; import { useContextMenu } from "../../hooks/contextMenu"; import classNames from "classnames"; import { useDispatch, useSelector } from "react-redux"; import { useNavigate } from "react-router-dom"; import { startSetSelectedItem } from "../../actions/selectedItem"; import mobilecheck from "../../utils/mobileCheck"; import moment from "moment"; const FolderItem = React.memo((props) => { const { folder } = props; const elementSelected = useSelector( (state) => state.selectedItem.selected === folder._id ); const lastSelected = useRef(0); const navigate = useNavigate(); const dispatch = useDispatch(); const { onContextMenu, closeContextMenu, onTouchStart, onTouchMove, onTouchEnd, clickStopPropagation, ...contextMenuState } = useContextMenu(); const folderClick = useCallback(() => { const currentDate = Date.now(); if (!elementSelected) { dispatch(startSetSelectedItem(folder._id, false, false)); lastSelected.current = Date.now(); return; } const isMobile = mobilecheck(); if (isMobile || currentDate - lastSelected.current < 1500) { navigate(`/folder/${folder._id}`); } lastSelected.current = Date.now(); }, [ dispatch, startSetSelectedItem, mobilecheck, navigate, folder._id, elementSelected, ]); return (
{props.folder.name}
Created {moment(folder.createdAt).format("MM/DD/YY hh:mma")}