Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
Size: Mime:
import { useMemo } from 'react';
import { useDispatch, useSelector } from 'react-redux';
import { ItemHoverTopOptions } from '@filerobot/common';
import { Heart } from '@scaleflex/icons';
import { addFavorites, unFavoriteFiles } from '../../../../thunks/favorites.thunks';
import { selectIsFavoritesViewAvailable, selectIsShareboxView } from '../../../../slices/views.slice';
import { jsx as _jsx } from "react/jsx-runtime";
var FileBottomOptions = function FileBottomOptions(_ref) {
  var file = _ref.file,
    onContextMenu = _ref.onContextMenu,
    styles = _ref.styles;
  var dispatch = useDispatch();
  var isFavoritesViewAvailable = useSelector(selectIsFavoritesViewAvailable);
  var isShareboxView = useSelector(selectIsShareboxView);
  var handleClick = function handleClick(e) {
    e.stopPropagation();
    if (file !== null && file !== void 0 && file.is_favorite) {
      dispatch(unFavoriteFiles([file.uuid]));
    } else {
      dispatch(addFavorites([file.uuid]));
    }
  };
  var options = useMemo(function () {
    return [{
      key: 'GridLi-Favorites',
      Icon: Heart,
      iconSize: 12,
      onClick: handleClick,
      hidden: isShareboxView || !isFavoritesViewAvailable
    }];
  }, [file, isShareboxView, isFavoritesViewAvailable]);
  return /*#__PURE__*/_jsx(ItemHoverTopOptions, {
    options: options,
    classes: "filerobot-ProviderBrowserItem-ItemHoverBottomOptions".concat(file.loading ? ' filerobot-common-ItemHoverTopOptions-disableHover' : '').concat(file !== null && file !== void 0 && file.is_favorite ? ' filerobot-ProviderBrowserItem-ItemHoverBottomOptions-selected' : ''),
    onContextMenu: onContextMenu,
    style: styles,
    disabled: file.loading
  });
};
export default FileBottomOptions;