import pick from 'lodash/pick'; import React, { useCallback } from 'react'; import PropTypes from 'prop-types'; import { useTranslation } from 'react-i18next'; import { Button } from 'semantic-ui-react'; import { useSteps } from '../../hooks'; import User from '../User'; import DeleteStep from '../DeleteStep'; import styles from './ActionsStep.module.scss'; const StepTypes = { EDIT_PERMISSIONS: 'EDIT_PERMISSIONS', DELETE: 'DELETE', }; const ActionsStep = React.memo( ({ membership, permissionsSelectStep, leaveButtonContent, leaveConfirmationTitle, leaveConfirmationContent, leaveConfirmationButtonContent, deleteButtonContent, deleteConfirmationTitle, deleteConfirmationContent, deleteConfirmationButtonContent, canEdit, canLeave, onUpdate, onDelete, onClose, }) => { const [t] = useTranslation(); const [step, openStep, handleBack] = useSteps(); const handleEditPermissionsClick = useCallback(() => { openStep(StepTypes.EDIT_PERMISSIONS); }, [openStep]); const handleDeleteClick = useCallback(() => { openStep(StepTypes.DELETE); }, [openStep]); const handleRoleSelect = useCallback( (data) => { if (onUpdate) { onUpdate(data); } }, [onUpdate], ); if (step) { switch (step.type) { case StepTypes.EDIT_PERMISSIONS: { const PermissionsSelectStep = permissionsSelectStep; return ( ); } case StepTypes.DELETE: return ( ); default: } } return ( <>
{membership.user.name}
{membership.user.email}
{permissionsSelectStep && canEdit && (