Repository URL to install this package:
|
Version:
3.12.20 ▾
|
@filerobot/explorer
/
lib
/
components
/
AssetsList
/
GridView
/
FilesSection
/
FileBottomOptions.js
|
|---|
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;