index.tsx 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. import { makeStyles } from "@material-ui/core/styles";
  2. import ArrowDownwardIcon from '@mui/icons-material/ArrowDownward';
  3. import Avatar from '@mui/material/Avatar';
  4. const useStyles = makeStyles({
  5. avatarArrowWrapper: {
  6. position:'absolute',
  7. right: 20,
  8. top: '70vh',
  9. width: 56,
  10. },
  11. avatarArrow: {
  12. cursor:'pointer',
  13. '&:hover': {
  14. backgroundColor: 'rgb(41, 139, 231)',
  15. color: '#ffffff',
  16. }
  17. },
  18. listSeenIcon: {
  19. position: 'absolute',
  20. top: -8,
  21. left: 16,
  22. borderRadius: '50%',
  23. color: '#ffffff',
  24. border: 'none',
  25. height: 24,
  26. width: 24,
  27. textAlign: 'center',
  28. display: 'flex',
  29. alignItems: 'center',
  30. justifyContent: 'center',
  31. alignContent: 'center',
  32. fontSize: 12,
  33. zIndex: 10,
  34. cursor:'pointer',
  35. },
  36. });
  37. interface IArrowBack {
  38. isArrow: boolean,
  39. isNew: {new:number,mute:boolean},
  40. handleScrollTo:() => void
  41. }
  42. const ArrowBack = ({ isArrow, handleScrollTo, isNew }: IArrowBack) => {
  43. const classes = useStyles()
  44. return (
  45. <div className={classes.avatarArrowWrapper} style={{display: isArrow ? 'block' : 'none'}}>
  46. <button onClick={handleScrollTo} style={{display: isNew.new ? 'block' : 'none',
  47. background: isNew.mute ? '#a7aaa7' : '#0ac40a'}}
  48. className={classes.listSeenIcon}>{isNew.new}</button>
  49. <Avatar onClick={handleScrollTo} className={classes.avatarArrow}
  50. sx={{backgroundColor: '#ffffff', width: 56, height: 56,color: '#6b6b6b'}}>
  51. <ArrowDownwardIcon fontSize="medium" />
  52. </Avatar>
  53. </div>
  54. )
  55. }
  56. export default ArrowBack