Search_Users.js 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. import { Link } from 'react-router-dom'
  2. import { connect } from 'react-redux'
  3. import { Row, Col,Avatar, Input, Popover } from 'antd'
  4. import user from '../materials/user.png'
  5. import { actionSearchUser } from '../actions'
  6. import {UserOutlined } from '@ant-design/icons'
  7. import { actionFullProfilePageUser } from '../redux/saga'
  8. import LinkToUser from './LinkToUser'
  9. export const ResultUserFind = ({
  10. userFind = [],
  11. handleCancel,
  12. }) => {
  13. console.log('user find', userFind)
  14. return (
  15. <div className="ResultUserFind">
  16. {userFind?.map(({ _id, login, avatar }) => (
  17. <LinkToUser _id={_id} login={login} avatar={avatar} size={40} padding={'0px'} onClick={handleCancel} key={_id} />
  18. ))}
  19. </div>
  20. )
  21. }
  22. const SearchUser = ({ my_Id, onSearch, searchUser, onPageData }) => {
  23. const onSearchUser = (value) => onSearch(value)
  24. const { Search } = Input
  25. return (
  26. <>
  27. <Popover
  28. placement="bottom"
  29. destroyTooltipOnHide={true}
  30. size="large"
  31. content={
  32. <ResultUserFind
  33. my_Id={my_Id}
  34. size={'20px'}
  35. onPageData={onPageData}
  36. userFind={searchUser}
  37. />
  38. }
  39. >
  40. <Search
  41. style={{ width: '25%' }}
  42. placeholder="Enter search user"
  43. allowClear
  44. prefix={<UserOutlined />}
  45. enterButton="Search"
  46. size="large"
  47. onSearch={onSearchUser}
  48. />
  49. </Popover>
  50. </>
  51. )
  52. }
  53. export const CSearch = connect(
  54. (state) => ({
  55. aboutUser: state.profilePage?.aboutUser,
  56. searchUser: state.promise?.searchUser?.payload,
  57. my_Id: state.auth?.payload?.sub?.id || '',
  58. }),
  59. {
  60. onSearch: actionSearchUser,
  61. onPageData: actionFullProfilePageUser,
  62. },
  63. )(SearchUser)