All files / buffer-web-components/ColabTool/Shared/PostFooterDelete index.jsx

100% Statements 9/9
100% Branches 8/8
100% Functions 3/3
100% Lines 9/9
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72              2x           2x     8x             2x         84x                         2x           84x                       2x             2x          
import React from 'react';
import PropTypes from 'prop-types';
import {
  Button,
} from '@bufferapp/components';
import HoverableText from '../../../HoverableText';
 
const postButtonDeleteStyle = {
  marginLeft: '0.5rem',
};
 
/* eslint-disable react/prop-types */
 
const renderConfirmDelete = ({
  onCancelConfirmClick,
}) =>
  <span style={postButtonDeleteStyle}>
    <Button onClick={onCancelConfirmClick} noStyle>
      <HoverableText size={'small'}>Cancel</HoverableText>
    </Button>
  </span>;
 
 
const renderDeleteButton = ({
  isConfirmingDelete,
  onDeleteConfirmClick,
  onDeleteClick,
}) =>
  <span style={postButtonDeleteStyle}>
    <Button onClick={isConfirmingDelete ? onDeleteConfirmClick : onDeleteClick} noStyle>
      <HoverableText
        color={isConfirmingDelete ? 'torchRed' : undefined}
        size={'small'}
      >
        {isConfirmingDelete ? 'Confirm' : 'Delete'}
      </HoverableText>
    </Button>
  </span>;
 
/* eslint-enable react/prop-types */
 
const PostFooterDelete = ({
  isConfirmingDelete,
  onCancelConfirmClick,
  onDeleteConfirmClick,
  onDeleteClick,
}) =>
  <span>
    {isConfirmingDelete ?
      renderConfirmDelete({ onCancelConfirmClick }) :
      undefined
    }
    {renderDeleteButton({
      isConfirmingDelete,
      onDeleteConfirmClick,
      onDeleteClick,
    })}
  </span>;
 
PostFooterDelete.propTypes = {
  isConfirmingDelete: PropTypes.bool,
  onCancelConfirmClick: PropTypes.func.isRequired,
  onDeleteConfirmClick: PropTypes.func.isRequired,
  onDeleteClick: PropTypes.func.isRequired,
};
 
PostFooterDelete.defaultProps = {
  isConfirmingDelete: false,
};
 
export default PostFooterDelete;