ListOfUsers.jsx 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. import { ConstructorModal } from '../helpers'
  2. import React, { useState } from 'react'
  3. import LinkToUser from '../components/LinkToUser'
  4. export const ListOfUsers = ({ listUsers, text }) => {
  5. const [isModalVisible, setIsModalVisible] = useState(false)
  6. const showModal = () => {
  7. setIsModalVisible(true)
  8. }
  9. const handleCancel = () => {
  10. setIsModalVisible(false)
  11. }
  12. return (
  13. <>
  14. {listUsers?.length > 0 ? (
  15. <p
  16. style={{ cursor: 'pointer', marginLeft: '20px' }}
  17. onClick={showModal}
  18. >
  19. {listUsers.length} {text}{' '}
  20. </p>
  21. ) : (
  22. <p style={{ marginLeft: '20px' }}> 0 {text} </p>
  23. )}
  24. <ConstructorModal
  25. title={text[0].toUpperCase() + text.slice(1)}
  26. isModalVisible={isModalVisible}
  27. setIsModalVisible={setIsModalVisible}
  28. >
  29. <div className="Modal">
  30. {listUsers?.map(({ _id, login, avatar }) => (
  31. <LinkToUser
  32. _id={_id}
  33. className="ModalLink"
  34. login={login}
  35. avatar={avatar}
  36. size={40}
  37. padding={'0px'}
  38. onClick={handleCancel}
  39. />
  40. ))}
  41. </div>
  42. </ConstructorModal>
  43. </>
  44. )
  45. }
  46. export default ListOfUsers