index.js 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. import React from 'react';
  2. import PropTypes from 'prop-types';
  3. import IconButton from '@material-ui/core/IconButton';
  4. import ListItem from '@material-ui/core/ListItem';
  5. import ListItemText from '@material-ui/core/ListItemText';
  6. import ListItemAvatar from '@material-ui/core/ListItemAvatar';
  7. import ListItemSecondaryAction from '@material-ui/core/ListItemSecondaryAction';
  8. import Avatar from '@material-ui/core/Avatar';
  9. import Typography from '@material-ui/core/Typography';
  10. import { makeStyles } from '@material-ui/core/styles';
  11. import DeleteIcon from '@material-ui/icons/Delete';
  12. import moment from 'moment';
  13. const useStyles = makeStyles((theme) => ({
  14. inline: {
  15. width: '100%'
  16. }
  17. }));
  18. export default function ContactNotesDialogListItem (props) {
  19. const { note, deleteItem } = props;
  20. const classes = useStyles();
  21. const handleDelete = (item) => {
  22. deleteItem(item);
  23. }
  24. return (
  25. <ListItem alignItems="flex-start">
  26. <ListItemAvatar>
  27. <Avatar alt={note.user.name} src="/static/images/avatar/1.jpg" />
  28. </ListItemAvatar>
  29. <ListItemText
  30. primary={
  31. <>
  32. <Typography
  33. component="span"
  34. variant="body2"
  35. className={classes.inline}
  36. color="textPrimary"
  37. >
  38. {note.note}
  39. </Typography>
  40. </>
  41. }
  42. secondary={
  43. <>
  44. {note.user.name}, {moment(note.createdAt).format('DD/MM/YY HH:mm')}
  45. </>
  46. }
  47. />
  48. <ListItemSecondaryAction>
  49. <IconButton onClick={() => handleDelete(note)} edge="end" aria-label="delete">
  50. <DeleteIcon />
  51. </IconButton>
  52. </ListItemSecondaryAction>
  53. </ListItem>
  54. )
  55. }
  56. ContactNotesDialogListItem.propTypes = {
  57. note: PropTypes.object.isRequired,
  58. deleteItem: PropTypes.func.isRequired
  59. }