AddComment.jsx 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. import { Picker } from 'emoji-mart'
  2. import 'emoji-mart/css/emoji-mart.css'
  3. import React, { useState } from 'react'
  4. import { Input, Col, Button } from 'antd'
  5. import { SmileOutlined, SmileFilled, SendOutlined } from '@ant-design/icons'
  6. import { Link } from 'react-router-dom'
  7. const AddComment = ({ addComment, postId, style, width }) => {
  8. const [text, setComment] = useState('')
  9. const [showEmojiPicker, setShowEmojiPicker] = useState(false)
  10. const handleOK = () => setShowEmojiPicker(!showEmojiPicker)
  11. const addEmoji = ({ native }) => setComment((text + ' ' + native).trim())
  12. return (
  13. <>
  14. {showEmojiPicker && (
  15. <Picker
  16. style={style}
  17. theme="light"
  18. native={true}
  19. showPreview={false}
  20. showSkinTones={false}
  21. onSelect={(native) => addEmoji(native)}
  22. />
  23. )}
  24. <Col
  25. xl={{ span: 13, offset: 1 }}
  26. lg={{ span: 13, offset: 1 }}
  27. md={{ offset: 1, span: 16 }}
  28. sm={{ offset: 1, span: 13 }}
  29. xs={{ offset: 1, span: 14 }}
  30. >
  31. <Input
  32. style={{
  33. display: 'flex',
  34. // display: 'flex',
  35. // width,
  36. // margin: '5px 10px',
  37. // padding:'5px'
  38. // width:'100%'
  39. }}
  40. xl={{ size: 'large' }}
  41. xs={{ size: 'small' }}
  42. placeholder="Add a comment..."
  43. value={text}
  44. onChange={(e) => {
  45. setComment(e.target.value)
  46. }}
  47. onPressEnter={(e) => setComment(e.target.value)}
  48. />
  49. </Col>
  50. <Col
  51. xl={{ offset: 1, span: 1 }}
  52. sm={{ offset: 1, span: 1 }}
  53. xs={{ offset: 1, span: 1 }}
  54. >
  55. {!showEmojiPicker ? (
  56. <SmileOutlined className="SmileBtn" onClick={handleOK} />
  57. ) : (
  58. <SmileFilled className="SmileBtnFilled" onClick={handleOK} />
  59. )}
  60. </Col>
  61. <Col
  62. xl={{ offset: 1, span: 1 }}
  63. sm={{ offset: 1, span: 1 }}
  64. xs={{ offset: 1 }}
  65. >
  66. <Button
  67. type="text"
  68. className="Send"
  69. disabled={text.length < 1}
  70. onClick={(e) => {
  71. addComment(postId, text) && setComment((e.target.value = ''))
  72. }}
  73. >
  74. <SendOutlined className="Send" type="primary" />
  75. </Button>
  76. {/* <Button
  77. xl={{ size: 'large' }}
  78. xs={{ size: 'small' }}
  79. disabled={text.length < 1}
  80. type="primary"
  81. onClick={(e) => {
  82. addComment(postId, text) &&
  83. setComment((e.target.value = ''))
  84. }}
  85. >
  86. {' '}
  87. Publish{' '}
  88. </Button> */}
  89. </Col>
  90. </>
  91. )
  92. }
  93. export default AddComment