index.tsx 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. import Stack from '@mui/material/Stack';
  2. import IconButton from '@mui/material/IconButton';
  3. import SearchIcon from '@mui/icons-material/Search';
  4. import PhoneIcon from '@mui/icons-material/Phone';
  5. import { makeStyles } from '@material-ui/core'
  6. import { useDispatch } from 'react-redux';
  7. import { useState,useRef } from 'react';
  8. import MenuList from './MenuList'
  9. import DeleteModal from './DeleteModal';
  10. import CallModal from './CallModal';
  11. import { actionRightIsOpen } from '../../../../../redux/control/action'
  12. const useStyles = makeStyles({
  13. container: {
  14. marginLeft: 20,
  15. display: 'flex',
  16. alignContent: 'center',
  17. alignItems:'center'
  18. },
  19. })
  20. interface IButtons {
  21. setIsSomeSelected: React.Dispatch<React.SetStateAction<boolean>>,
  22. }
  23. const Buttons = ({setIsSomeSelected}:IButtons) => {
  24. const classes = useStyles()
  25. const dispatch = useDispatch()
  26. const shareRef = useRef<any>(null)
  27. const videoRef = useRef<any>(null)
  28. const [modalDelete, setModalDelete] = useState<boolean>(false)
  29. const [modalCall, setModalCall] = useState<boolean>(true)
  30. const handleOpenSearch = (e: any) => {
  31. e.stopPropagation()
  32. dispatch(actionRightIsOpen('search'))
  33. }
  34. const handleStartCall = (e: any) => {
  35. e.stopPropagation()
  36. setModalCall(true)
  37. }
  38. return (
  39. <Stack className={classes.container} direction="row">
  40. <IconButton onClick={handleOpenSearch} aria-label="delete" size="medium">
  41. <SearchIcon fontSize='medium'/>
  42. </IconButton>
  43. <IconButton onClick={handleStartCall} aria-label="delete" size="medium">
  44. <PhoneIcon fontSize='medium'/>
  45. </IconButton>
  46. <MenuList setModalDelete={setModalDelete} setIsSomeSelected={setIsSomeSelected}/>
  47. {modalDelete && <DeleteModal setModalDelete={setModalDelete} />}
  48. {modalCall && <CallModal setModalCall={setModalCall} shareRef={shareRef} videoRef={videoRef}/>}
  49. </Stack>
  50. );
  51. }
  52. export default Buttons