index.tsx 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. import { makeStyles } from '@material-ui/core'
  2. import { useSelector } from 'react-redux';
  3. import { Carousel } from 'react-responsive-carousel';
  4. import { firstLetter,slicedWord,timeStampEU,prodBaseURL } from '../../../../../../helpers'
  5. import { getChat } from '../../../../../../redux/chat/selector'
  6. const useStyles = makeStyles({
  7. container: {
  8. position: 'relative',
  9. },
  10. nameTile: {
  11. position:'absolute',
  12. color: '#ffffff',
  13. backgroundColor: 'rgb(0,0,0)',
  14. borderRadius: 10,
  15. padding:8,
  16. fontSize: 18,
  17. zIndex:10,
  18. top: '6%',
  19. left: '50%',
  20. marginLeft: '-45%',
  21. opacity: 0.7,
  22. transition: 'opacity .35s ease-in-out'
  23. },
  24. timeTile: {
  25. position:'absolute',
  26. color: '#ffffff',
  27. backgroundColor: 'rgb(0,0,0)',
  28. borderRadius: 10,
  29. padding:4,
  30. fontSize: 15,
  31. top: '1%',
  32. left: '50%',
  33. marginLeft: '-45%',
  34. opacity: 0.7,
  35. transition: 'opacity .35s ease-in-out'
  36. },
  37. })
  38. const ProfilePicture = () => {
  39. const classes = useStyles()
  40. const { name, lastName, online, avatarsArr} = useSelector(getChat)
  41. return (
  42. <div className={classes.container}>
  43. <Carousel>
  44. {avatarsArr.map(({avatarUrl,updatedAt}) => <div>
  45. <img alt='pic' src={`${prodBaseURL}/${avatarUrl}`}/>
  46. <p className="legend">{timeStampEU(updatedAt)}</p>
  47. </div>)}
  48. </Carousel>
  49. <span className={classes.nameTile}>{`${firstLetter(name)}${slicedWord(name, 15, 1)}
  50. ${firstLetter(lastName)}${slicedWord(lastName, 15, 1)}`}</span>
  51. <span className={classes.timeTile}>{online === 'true'?'online':`last seen ${timeStampEU(online)}`}</span>
  52. </div>
  53. )
  54. }
  55. export default ProfilePicture