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    
@filerobot/explorer / lib / components / Modals / ShareFolder / ShareFolder.hooks.js
Size: Mime:
import { useCallback } from 'react';
import { useDispatch } from 'react-redux';
import { useModal } from '@filerobot/core/lib/hooks';
import ShareFolderContent from './ShareFolderContent';
import { useExplorerI18n } from '../../../hooks';
import { foldersAfterSharePanelOpened } from '../../../slices/panels.slice';
import { jsx as _jsx } from "react/jsx-runtime";
export var useShareFolderModal = function useShareFolderModal() {
  var dispatch = useDispatch();
  var toggleModal = useModal();
  var i18n = useExplorerI18n();
  var toggleShareFolder = useCallback(function (foldersUuids) {
    toggleModal({
      title: i18n('folderShareboxModalTitle', {
        smart_count: foldersUuids.length
      }),
      showTitleLabel: true,
      disableAutoClose: true,
      content: function content() {
        return /*#__PURE__*/_jsx(ShareFolderContent, {
          afterShare: function afterShare(shareUrl) {
            return dispatch(foldersAfterSharePanelOpened(shareUrl));
          },
          foldersUuids: foldersUuids
        });
      },
      modalHeaderBottomBorder: true,
      enterKeySubmits: true,
      modalStyle: {
        maxWidth: 600
      },
      modalBodyStyle: {
        padding: 0,
        flexGrow: 1,
        overflow: 'hidden',
        display: 'flex'
      },
      modalHeaderStyle: {
        padding: '11px 24px'
      },
      contentStyle: {
        display: 'flex',
        width: '100%'
      },
      primaryTitleStyle: {
        border: 'none',
        fontWeight: 400,
        fontSize: 18,
        lineHeight: '20px'
      },
      modalFooterStyle: {
        display: 'none'
      },
      modalCrossButtonStyle: {
        margin: '10px 12px 10px 0'
      }
    });
  }, [i18n]);
  return toggleShareFolder;
};